111
111
111
111
111
111
111
110
110
109
109
111
111
112
112
112
115
115
114
111
111
111
111
111
111
111
111
111
114
114
114
113
113
112
112
112
111
111
113
113
114
118
118
118
117
115
116
116
116
115
113
113
113
113
114
114
114
116
116
117
114
114
112
112
112
112
113
113
113
108
110
109
108
107
107
105
106
107
105
106
107
109
110
108
105
102
102
102
101
101
101
101
101
101
101
101
103
111
112
112
112
112
113
113
113
114
113
113
111
111
111
111
111
111
111
106
106
106
106
106
106
106
106
107
108
109
111
111
112
112
113
113
112
111
110
108
109
110
116
118
120
127
127
127
126
125
125
125
125
125
126
127
127
127
127
127
127
127
127
127
125
125
125
125
125
125
125
125
125
124
123
123
123
123
124
124
124
124
123
123
123
123
123
123
123
123
123
124
124
124
124
124
123
123
117
115
115
112
112
112
112
111
111
111
110
110
110
110
110
110
110
108
105
105
106
106
106
106
106
105
105
105
104
104
104
104
104
104
104
104
105
106
106
107
107
108
108
106
106
106
103
103
102
102
102
102
102
102
102
102
102
102
102
102
102
101
100
89
89
88
88
88
92
92
92
93
93
93
93
93
93
93
93
93
93
94
94
94
94
94
95
95
96
96
97
97
92
92
92
92
92
92
92
92
97
98
98
98
99
99
99
99
98
99
99
100
100
101
102
102
102
102
102
102
102
102
102
102
103
104
104
104
105
105
106
106
106
104
104
104
105
107
107
108
108
108
108
108
108
108
108
108
109
109
109
110
110
113
113
113
113
113
113
113
113
113
113
113
113
111
111
110
110
110
110
110
110
110
110
110
110
110
110
111
111
111
109
108
108
107
107
107
106
106
106
102
101
101
100
100
98
97
96
95
95
93
93
88
88
87
87
86
86
86
86
86
85
85
85
84
84
84
84
84
84
83
83
82
82
82
82
82
81
80
80
79
79
79
79
79
79
79
79
79
79
79
79
78
78
79
79
78
78
78
78
79
79
81
81
81
81
81
81
80
80
80
80
80
80
80
80
80
80
80
79
79
78
78
78
79
81
82
83
83
83
84
84
84
84
85
85
85
86
86
86
86
86
86
86
86
87
87
88
88
86
86
86
86
86
86
86
86
86
86
86
89
89
89
90
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
92
92
92
92
93
98
101
103
103
104
106
106
106
106
106
108
108
111
113
119
121
123
124
125
127
128
130
130
129
129
129
128
128
129
129
129
128
127
125
104
99
97
96
95
95
94
94
93
93
92
91
91
91
91
91
90
90
90
90
90
90
90
94
93
93
94
95
94
93
90
90
93
96
98
98
101
103
104
105
107
107
102
98
98
98
98
98
97
97
96
96
96
96
95
95
96
97
97
97
95
94
91
91
94
96
97
97
96
96
97
97
94
92
91
90
88
88
94
98
101
100
97
91
89
84
79
79
79
78
77
77
77
77
77
75
75
76
76
76
76
76
76
77
80
81
81
83
86
90
93
106
104
107
111
112
112
112
112
111
111
107
106
105
105
103
103
103
103
103
103
103
103
102
101
100
96
95
94
94
93
93
92
92
93
94
97
97
97
97
97
97
100
100
100
100
100
99
99
98
98
98
98
98
98
98
98
98
98
99
102
112
111
108
108
106
105
104
94
95
102
102
111
113
113
113
113
113
113
113
113
113
113
113
113
113
113
112
111
110
110
110
109
106
104
106
107
108
109
111
113
111
111
112
112
112
112
112
114
121
125
127
128
130
131
131
130
130
130
130
133
135
137
138
156
161
161
162
161
157
154
145
143
141
140
143
150
151
154
155
159
171
165
163
161
162
167
167
166
164
170
170
171
179
182
192
211
217
237
238
238
238
238
238
238
238
238
238
238
239
240
240
244
244
244
245
245
248
248
248
248
250
250
251
249
248
244
240
238
232
228
226
226
226
228
229
229
223
220
219
219
217
216
215
212
200
185
185
171
171
171
176
180
185
187
192
193
194
195
195
193
192
190
189
188
185
179
177
176
176
182
184
185
186
186
193
196
198
199
200
197
194
192
189
187
185
183
181
180
176
173
170
170
170
172
172
172
173
172
172
172
172
172
172
172
172
173
173
176
178
181
183
185
188
190
191
191
191
191
191
191
190
188
187
185
187
195
211
212
215
215
219
226
230
237
242
253
263
266
267
269
273
276
290
297
303
305
302
303
306
307
309
313
316
317
318
319
320
322
325
326
327
328
328
328
328
328
330
330
330
330
330
330
330
329
329
329
328
328
328
328
328
331
333
337
333
331
334
337
335
331
331
331
339
339
340
340
340
339
338
338
339
336
336
332
322
321
320
319
318
317
316
316
315
313
313
313
314
315
318
319
320
318
318
321
328
333
335
336
336
336
338
338
341
349
350
350
350
350
349
349
348
348
348
348
348
349
351
350
349
349
348
348
348
348
348
348
349
350
351
352
353
354
355
355
362
363
363
364
364
364
364
364
364
365
366
366
366
366
367
368
371
372
372
372
371
370
376
376
379
380
380
376
375
374
373
372
371
371
371
370
370
370
371
372
372
373
373
373
373
374
374
375
375
376
376
376
376
376
376
376
376
376
374
373
373
373
373
373
373
373
374
374
375
376
377
378
379
379
381
383
388
391
391
393
393
393
393
394
395
395
395
397
398
400
401
401
401
402
403
404
405
405
405
405
405
405
406
406
413
416
417
421
421
422
424
425
426
428
427
426
426
426
426
426
426
427
428
432
433
435
437
438
445
446
447
449
448
448
447
446
446
446
445
442
436
436
424
417
416
415
413
411
405
402
402
401
401
401
400
400
400
399
398
398
398
398
397
397
397
397
397
396
393
393
390
391
391
393
394
393
392
392
391
390
389
389
388
386
385
384
384
383
383
384
384
385
386
387
387
388
388
394
395
396
397
400
400
400
401
401
400
400
400
400
400
400
400
399
397
394
394
394
395
395
395
395
395
395
393
390
386
386
382
379
376
375
374
373
372
364
358
341
337
332
328
321
316
307
297
298
299
299
300
300
302
306
309
311
310
310
308
307
300
300
300
299
297
295
293
291
290
288
287
286
285
285
286
287
287
287
287
287
288
289
294
295
296
301
302
304
305
306
307
309
310
315
317
321
321
322
322
322
323
324
328
331
336
340
342
344
346
348
351
353
354
355
357
362
367
374
376
378
381
383
385
386
387
387
387
388
389
390
392
392
393
393
394
395
397
417
419
420
422
422
422
423
423
423
423
422
419
420
420
421
421
413
413
410
390
388
389
392
393
398
399
398
397
397
397
398
398
395
386
383
381
379
374
374
366
361
362
363
363
339
339
335
323
321
306
299
296
293
291
289
287
279
279
279
280
280
280
280
280
281
281
281
282
283
283
283
283
283
283
283
283
283
282
281
278
274
272
256
254
251
248
243
238
236
233
232
231
230
229
227
226
225
225
225
224
224
223
223
223
222
222
222
222
223
223
223
224
223
223
222
222
220
217
216
213
213
204
203
202
202
201
200
200
200
200
200
199
191
190
190
188
188
187
187
187
187
187
187
187
186
186
187
187
187
188
188
189
189
190
190
190
190
190
190
189
189
188
188
188
188
182
181
180
180
180
180
180
180
179
178
174
170
169
168
166
163
159
159
158
158
159
160
160
160
160
160
160
160
160
160
160
160
159
159
159
159
159
159
159
159
159
159
158
151
151
151
151
151
150
149
149
148
141
141
141
141
140
140
139
139
138
138
135
133
133
132
132
132
132
132
132
132
133
133
134
134
134
135
135
136
136
136
136
137
137
137
138
138
139
140
141
141
141
141
141
141
141
141
141
141
141
141
141
141
142
143
143
143
144
144
144
153
153
153
153
153
153
154
154
154
155
155
157
157
158
158
158
158
158
159
159
160
161
161
162
163
171
174
187
191
194
203
204
214
228
229
230
232
233
235
236
237
239
241
243
244
245
247
252
254
255
257
258
260
263
272
275
278
282
288
288
288
288
288
288
288
288
288
289
291
295
296
299
299
298
298
298
303
307
309
314
320
328
334
351
356
361
368
377
380
386
391
395
401
412
414
417
420
423
424
426
428
428
430
431
431
433
439
446
448
449
449
450
450
452
456
456
457
458
460
461
468
469
470
471
474
476
481
479
479
484
485
486
487
487
487
488
490
498
497
497
497
493
491
494
495
496
497
499
506
506
508
509
509
509
510
512
515
516
519
521
526
528
528
528
527
527
528
529
530
531
533
534
538
547
551
555
560
561
562
565
565
567
567
568
569
570
572
573
575
576
576
575
575
575
575
575
575
571
569
567
565
564
561
557
528
522
522
519
518
517
517
516
515
513
512
512
506
506
514
515
518
522
521
521
521
522
523
524
523
522
522
518
504
502
502
501
499
469
469
468
459
458
457
455
454
456
457
458
459
460
461
457
455
454
453
440
437
436
435
438
439
440
440
440
440
440
440
440
440
440
440
440
440
440
436
436
435
434
434
434
433
433
432
432
431
431
432
432
432
433
433
433
433
432
432
432
431
431
431
431
431
431
431
431
431
431
432
433
434
434
435
436
438
437
431
426
420
421
422
417
410
403
403
405
405
406
411
414
414
409
406
404
403
402
400
399
397
392
387
384
383
383
385
386
387
387
389
390
389
389
389
389
389
389
389
389
387
385
384
383
380
378
377
376
374
375
376
377
383
386
382
368
358
349
349
350
350
351
347
345
344
343
344
345
341
340
339
335
335
338
339
340
341
343
344
345
346
346
348
343
340
334
331
328
325
318
313
314
318
321
331
330
324
318
308
293
275
275
274
273
273
273
273
274
276
277
289
289
289
289
290
292
294
295
295
295
295
296
298
301
304
309
310
311
313
313
323
336
345
355
370
369
367
365
358
353
358
364
368
374
379
380
382
383
384
385
386
390
396
396
397
400
401
401
402
402
403
403
404
404
405
405
408
409
411
414
415
418
423
421
420
420
419
418
415
414
413
413
413
413
413
413
413
410
409
404
402
397
392
389
382
378
386
392
390
390
389
388
385
372
370
363
359
352
337
336
336
334
331
329
324
304
304
304
304
304
304
304
300
298
290
278
276
275
273
267
266
265
264
264
263
262
261
260
260
260
259
258
257
256
255
252
255
259
262
264
265
265
264
261
258
257
257
255
255
254
251
251
250
249
248
248
247
244
243
241
241
240
240
239
238
237
238
238
238
240
241
241
242
242
242
243
243
243
243
244
244
255
255
254
252
251
251
252
255
256
256
258
261
265
266
267
268
268
267
267
267
267
265
265
264
262
247
246
243
236
232
231
230
227
225
218
215
215
212
211
212
212
213
215
215
215
215
215
215
215
215
215
215
215
215
215
215
216
217
217
217
217
218
224
224
224
225
225
226
226
227
230
230
231
234
235
236
238
238
242
244
245
245
246
247
248
249
252
255
256
257
258
260
272
276
280
280
286
288
290
295
299
305
310
315
311
310
308
305
303
303
300
298
296
294
293
288
286
285
282
279
278
278
277
276
280
283
289
292
294
297
303
307
313
315
314
311
311
311
310
308
307
310
313
316
319
322
325
327
329
333
335
335
335
335
335
334
333
333
332
331
331
332
337
344
349
354
360
360
358
358
356
352
350
348
346
346
345
344
344
346
351
356
362
366
371
371
377
384
389
401
411
413
414
418
418
420
420
420
420
418
417
416
415
415
414
411
411
410
412
413
415
416
422
423
424
424
424
426
427
427
427
426
422
422
427
428
429
430
430
431
433
435
437
438
440
441
443
443
447
450
459
462
466
466
467
467
467
467
467
468
468
468
469
469
470
470
471
472
473
473
474
474
475
475
476
476
476
475
475
475
475
475
476
477
478
478
478
479
479
480
480
480
480
480
480
480
480
478
476
476
476
476
476
475
474
474
474
472
470
468
467
466
466
466
465
464
463
463
462
462
459
456
448
446
444
442
439
435
432
431
431
430
428
427
427
426
426
424
423
423
423
423
423
423
422
422
421
420
420
420
419
419
419
419
417
412
411
405
403
400
398
395
389
389
389
389
389
389
389
389
389
390
391
392
391
387
387
390
391
392
393
393
390
389
389
388
388
388
388
388
390
392
396
397
398
398
400
401
402
402
403
403
402
401
396
396
396
396
396
397
397
397
397
397
397
397
397
397
397
398
399
400
401
402
402
402
402
402
402
401
401
401
401
401
401
401
403
403
404
405
406
407
408
408
408
408
409
410
410
411
412
412
412
412
412
412
412
412
412
413
413
414
414
414
415
415
418
420
428
428
428
428
427
426
425
424
423
423
422
424
425
426
426
429
430
433
435
436
438
441
441
442
443
444
445
441
442
444
448
448
451
454
457
459
459
459
457
456
454
455
455
459
460
461
461
461
462
462
463
463
463
463
463
463
463
463
463
463
463
463
463
463
464
464
464
465
466
466
467
468
469
469
471
472
472
474
474
474
475
476
477
478
478
479
481
482
482
483
485
485
486
489
491
492
494
495
497
498
501
503
506
507
508
510
512
512
516
518
532
532
532
528
527
525
524
523
520
510
508
506
504
500
498
496
496
494
493
493
492
481
481
478
477
474
473
472
470
469
467
466
467
470
472
474
476
478
481
486
487
483
467
463
458
450
450
442
436
435
435
433
432
432
432
431
431
430
427
423
421
419
412
410
407
407
405
404
403
401
393
393
392
388
383
380
377
372
371
370
369
368
365
358
351
343
350
355
358
363
369
369
371
375
378
369
366
364
361
358
351
334
331
328
323
322
322
322
321
321
321
320
319
318
317
316
315
315
314
310
298
298
295
294
293
293
293
291
290
290
290
290
290
290
289
289
287
286
284
284
284
283
281
280
279
271
271
270
270
268
268
267
267
268
268
269
268
268
267
266
265
263
263
262
262
262
262
263
268
271
272
273
268
258
252
252
250
249
244
244
242
242
242
241
240
240
238
236
236
236
236
236
236
236
236
236
237
237
238
238
240
240
242
242
245
247
247
249
251
255
259
260
261
261
262
263
270
270
272
272
272
273
273
274
274
275
275
280
280
289
290
290
290
290
290
290
290
290
290
290
288
286
286
283
280
279
279
280
281
282
283
284
284
287
294
300
303
306
309
311
313
314
320
320
323
329
330
330
330
329
329
329
329
329
328
328
328
328
328
328
327
327
327
327
327