105
104
103
101
100
98
97
98
99
101
103
104
105
108
109
108
108
107
107
108
108
108
108
109
110
114
118
118
103
107
110
106
105
106
109
109
109
109
109
109
109
109
110
110
112
109
108
108
107
106
106
104
101
98
97
96
95
94
94
94
95
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
95
95
95
95
95
95
95
95
95
95
95
96
96
96
97
98
98
98
99
99
101
101
103
104
105
107
107
105
104
103
103
105
107
107
108
110
110
110
109
108
108
108
107
107
106
106
105
107
108
113
115
116
118
118
121
121
121
120
119
118
118
118
117
117
117
117
118
119
121
123
125
124
121
122
124
125
126
127
133
134
134
134
134
133
131
130
128
127
135
135
136
139
139
140
140
139
138
137
136
135
135
134
137
141
145
149
150
151
151
152
152
154
155
156
155
154
154
154
154
154
154
157
158
159
160
160
161
162
163
163
159
158
158
157
156
153
152
151
149
150
158
159
159
159
162
162
163
164
166
165
165
164
164
163
163
163
163
163
163
164
165
175
184
191
197
208
219
227
268
272
244
226
222
219
219
221
222
213
208
204
201
200
199
198
198
198
196
196
197
198
198
198
198
198
198
199
200
200
200
201
201
202
203
203
203
204
208
211
214
210
208
206
207
211
214
216
217
221
223
223
223
223
223
223
226
227
227
228
229
230
240
241
241
242
242
243
243
243
244
244
244
245
245
246
247
251
254
256
258
260
261
261
263
271
272
274
275
277
278
280
281
282
284
279
278
277
275
274
271
267
264
266
269
271
274
278
281
290
291
291
291
291
290
290
290
290
290
291
296
298
301
303
306
307
308
309
323
325
328
331
335
339
338
338
338
337
336
333
330
329
327
326
325
324
322
321
316
317
320
323
327
333
339
342
345
351
356
358
361
363
365
366
368
371
372
375
375
378
379
380
384
385
386
388
389
390
391
392
392
393
394
394
394
394
394
394
394
395
395
397
398
398
397
393
390
385
380
387
390
391
392
396
397
398
398
397
394
390
391
393
393
393
394
394
395
395
396
398
404
409
411
416
421
420
419
422
423
424
426
428
429
431
429
427
425
424
424
424
425
426
426
426
425
425
425
425
426
427
428
429
430
430
430
430
430
430
428
426
424
422
421
419
418
417
415
414
410
407
406
404
402
401
401
400
400
399
398
398
398
398
390
381
373
366
358
352
348
343
342
344
353
359
369
359
353
348
339
333
325
322
318
311
314
317
320
323
324
325
326
326
327
329
330
336
341
353
353
353
353
353
353
352
348
344
341
340
337
340
342
343
344
345
347
347
350
352
357
358
359
360
360
361
364
367
368
368
369
369
363
352
342
340
337
335
334
333
332
331
329
328
328
329
331
332
334
335
336
336
337
338
339
339
339
339
336
335
335
338
339
341
344
345
348
349
349
349
349
349
350
352
352
353
354
355
355
353
353
352
352
352
352
351
351
353
354
359
361
367
368
367
367
366
365
364
362
361
360
361
364
367
369
371
374
378
387
391
388
385
383
380
378
376
374
375
378
379
391
394
395
390
389
389
390
391
391
391
392
392
398
399
399
402
403
404
405
405
408
411
415
422
422
423
426
427
429
431
433
438
440
441
442
443
444
444
445
448
449
451
453
455
457
458
460
467
472
474
476
477
478
480
482
494
502
512
515
516
513
513
512
509
508
514
518
519
520
518
518
517
516
514
512
511
509
507
505
500
497
495
493
492
489
488
487
486
485
484
482
476
473
468
466
462
460
457
445
439
436
435
434
434
433
432
431
430
431
431
432
432
437
440
454
453
453
453
453
453
448
447
446
444
443
442
440
440
440
440
439
439
438
437
436
431
434
434
434
434
434
439
442
442
443
444
446
447
451
453
454
455
457
458
458
459
460
462
464
464
465
465
468
470
472
473
474
475
475
476
477
478
477
476
475
474
472
471
470
469
468
468
466
466
465
465
465
465
465
465
469
471
473
478
479
480
481
481
483
485
487
490
490
488
483
480
476
472
466
461
454
450
452
453
453
450
447
444
440
434
423
425
427
428
429
432
434
437
438
440
436
431
426
412
408
405
404
400
399
397
397
395
394
394
393
394
395
397
400
400
400
400
400
400
400
399
397
397
396
396
396
394
393
392
390
390
391
391
391
391
392
392
392
392
392
392
393
394
394
394
396
398
400
406
407
408
409
415
416
416
416
416
416
416
416
416
416
416
416
416
416
416
417
419
421
423
428
429
429
430
430
431
432
432
433
434
439
440
440
441
441
442
442
443
443
443
444
445
446
447
447
450
452
452
453
457
457
458
460
461
465
466
470
477
479
481
484
485
486
489
490
490
490
490
491
491
491
491
493
494
494
497
498
498
498
498
499
499
500
500
501
502
503
503
503
503
503
503
503
503
503
503
503
503
500
499
499
499
499
499
498
498
498
498
497
497
497
496
496
496
496
495
491
489
489
489
489
489
489
490
490
490
489
489
488
487
485
485
485
486
487
490
499
501
501
501
502
502
502
503
504
503
502
501
500
497
495
492
487
476
476
476
476
477
480
482
484
487
485
486
491
492
492
493
493
494
494
495
495
496
496
496
496
498
500
502
503
505
506
507
507
507
506
505
504
503
503
503
502
502
502
502
503
504
504
505
505
506
506
506
506
507
508
508
509
511
511
511
512
512
513
515
516
517
517
517
518
519
520
530
532
534
537
546
546
547
547
547
547
547
547
547
547
547
547
547
543
541
541
540
540
540
545
546
547
548
555
558
560
562
569
570
571
571
572
578
578
578
578
578
578
578
589
589
586
586
585
584
584
583
582
581
579
577
577
574
574
573
569
567
566
564
564
563
562
561
560
560
560
558
557
556
555
553
549
548
547
547
547
547
547
547
547
548
548
548
550
550
551
552
553
552
551
551
550
550
550
550
550
549
548
543
539
539
539
539
539
539
539
542
542
542
544
547
548
551
552
552
556
557
559
560
560
561
561
566
571
573
576
578
583
584
584
583
583
582
569
563
558
553
552
550
549
547
545
544
541
540
539
535
534
534
533
533
533
532
531
531
531
530
528
527
523
522
515
515
512
511
510
510
508
508
507
505
504
503
503
503
502
502
502
501
501
500
498
495
495
496
496
497
497
495
494
489
488
487
484
483
482
479
477
477
477
477
476
476
476
476
476
476
476
476
476
475
474
474
467
455
454
450
449
444
440
428
421
410
404
398
398
397
396
396
396
396
396
396
396
396
396
396
395
395
395
395
394
394
394
393
390
383
382
380
380
379
377
374
373
372
371
371
370
370
370
370
369
369
369
369
369
369
369
369
370
375
375
377
381
382
382
382
382
381
381
381
381
381
381
384
385
386
388
389
390
391
392
392
391
391
391
390
389
387
384
382
379
379
381
382
382
383
385
386
386
385
385
384
384
383
383
383
383
382
382
381
380
379
377
377
378
378
379
381
381
378
378
378
376
375
375
375
375
375
375
375
375
375
375
376
377
377
378
379
380
380
381
381
382
383
383
384
385
386
387
389
391
395
399
400
402
402
402
402
401
401
401
400
400
399
399
399
399
400
400
400
403
403
404
408
412
413
413
412
411
407
406
405
402
401
401
401
400
400
399
398
397
397
396
395
392
391
387
385
382
380
377
376
375
375
373
371
371
371
370
367
366
365
365
365
365
366
366
367
369
370
370
370
374
375
379
386
386
391
395
402
406
406
405
404
403
400
399
396
395
395
394
391
389
386
384
383
383
384
384
387
388
389
391
393
394
395
396
398
399
399
396
395
395
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
397
398
399
401
403
405
408
412
417
420
421
421
422
422
423
423
424
424
423
422
421
421
418
418
417
417
417
417
417
418
419
419
420
421
421
422
423
424
425
425
427
428
429
430
431
431
432
433
435
436
437
438
439
440
439
438
437
436
435
433
431
429
427
426
424
422
419
418
424
427
429
431
437
439
442
445
452
458
465
465
462
460
459
459
458
457
455
452
448
444
438
436
437
438
438
442
444
448
455
455
455
455
454
454
454
453
453
453
453
453
453
453
454
454
454
453
452
452
452
453
454
454
454
455
456
457
457
458
458
459
460
460
465
465
466
469
471
473
474
475
475
476
478
479
482
484
485
491
492
493
493
493
487
485
485
483
482
481
480
478
478
478
477
477
477
477
477
478
479
479
481
481
475
475
475
475
475
475
475
473
472
473
474
478
480
482
483
483
484
484
484
484
484
484
483
483
482
482
482
482
482
482
482
484
488
489
490
492
492
492
492
492
492
491
491
490
490
490
489
490
492
493
495
496
496
496
497
497
497
498
498
505
509
510
512
516
518
518
521
521
531
535
537
540
542
544
545
546
546
547
548
549
552
553
555
557
560
571
571
573
574
575
576
578
580
582
584
586
587
587
586
584
583
580
579
577
576
573
569
564
562
560
557
553
552
552
552
552
546
540
539
539
539
538
537
536
536
535
534
533
533
532
532
530
530
529
529
528
526
525
524
524
525
530
531
533
534
532
530
526
524
519
517
518
520
521
521
521
521
521
521
520
520
519
519
517
516
515
514
514
511
511
511
512
513
513
513
513
513
513
513
511
510
510
510
508
506
505
508
509
510
508
503
501
498
494
493
493
494
496
499
507
505
504
501
500
498
497
494
494
494
494
494
493
493
492
491
488
487
486
485
484
483
481
481
482
482
483
483
483
483
482
481
480
478
478
472
472
472
471
471
471
471
472
472
473
473
472
471
470
470
469
465
464
466
467
468
469
470
472
475
476
476
477
477
476
476
475
475
473
472
471
471
466
465
464
463
463
462
462
462
462
462
461
461
461
461
460
460
459
458
455
455
455
453
451
451
451
451
450
450
450
449
449
449
449
450
450
452
453
453
453
453
453
453
453
454
455
455
455
455
455
456
457
457
457
458
463
469
475
477
481
482
483
483
484
485
485
486
488
490
494
495
496
496
497
497
498
504
505
506
509
512
513
517
517
518
518
519
520
520
522
523
523
524
525
525
527
527
528
530
530
530
531
531
540
540
540
540
540
531
528
525
524
524
526
527
528
529
533
538
533
530
530
530
531
531
530
529
528
523
522
522
522
522
522
522
522
523
523
522
522
522
521
519
517
516
516
515
515
513
512
512
511
510
509
508
507
506
506
504
504
504
504
504
505
505
508
509
509
509
510
511
511
512
513
513
515
515
516
516
517
518
519
518
518
518
518
517
517
517
518
519
519
519
521
522
529
534
540
544
552
552
553
556
552
551
565
564
564
563
563
563
563
563
563
562
562
562
562
561
561
561
561
561
562
562
562
563
563
564
565
566
566
567
568
568
569
570
570
570
570
570
570
570
568
567
565
562
560
558
557
554
553
552
551
549
546
544
544
543
542
542
541
541
540
540
540
539
539
538
538
537
537
535
535
535
534
533
532
530
529
529
528
528
528
529
530
530
531
533
535
537
540
542
548
549
549
549
551
551
561
561
560
558
557
555
553
552
551
551
550
549
549
556
558
560
565
569
570
570
577
584
592
592
592
592
591
591
591
591
591
589
588
588
588
588
588
591
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
591
591
582
582
584
586
586
587
588
587
585
585
585
586
587
588
596
597
596
594
592
592
592
592
592
592
592
592
592
592
592
592
593
593
593
592
591
590
590
588
586
585
585
585
585
585
586
590
591
591
592
592
592
593
595
597
599
600
605
600
599
597
594
594
592
590
588
586
585
579
579
556
551
550
549
548
546
544
543
543
543
542
542
540
539
538
537
537
537
535
535
534
534
536
537
539
542
543
544
544
545
545
546
546
547
547
547
547
547
547
545
539
535
535
535
534
531
533
535
536
539
539
539
539
538
538
537
535
530
528
525
524
522
520
519
518
517
516
514
514
514
513
513
512
512
512
512
511
508
506
502
500
496
490
479
477
472
465
461
453
447
444
440
435
431
432
432
429
428
425
424
423
420
419
415
411
410
408
402
401
399
399
399
399
399
399
399
398
398
396
396
395
395
395
395
395
395
392
391
390
390
390
390
390
390
390
390
390
390
390
390
391
391
391
392
394
394
396
397
398
399
400
401
402
402
404
404
407
407
407
407
405
404
403
402
401
401
402
406
408
411
409
407
406
405
402
400
400
400
400
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
400
400
400
400
400
400
400
401
401
401
401
401
401
401
401
401
402
402
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
404
405
405
406
406
406
406
406
406
406
406
406
406
407
407
407
407
407
408
408
409
409
409
409
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
409
409
408
408
408
407
407
406
406
406
406
406
406
406
406
406
406
407
407
408
410
411
412
413
416
418
420
422
426
429
431
433
446
447
449
450
451
452
452
453
454
457
458
462
464
471
473
479
490
493
495
497
500
502
503
503
504
511
513
520
522
529
527
527
529
530
530
531
533
537
537
539
540
540
543
543
543
542
542
542
541
541
542
542
542
542
543
544
545
550
555
549
549
551
556
558
563
577
579
585
586
586
586
586
586
586
588
588
588
588
588
586
586
586
585
584
584
584
585
585
586
586
586
586
586
583
583
583
583
583
583
583
583
583
583
586
586
588
589
590
592
594
596
597
599
601
602
603
604
605
605
607
607
608
611
611
613
615
618
618
619
619
619
619
616
616
618
618
617
617
617
617
618
619
620
626
627
627
626
626
625
626
627
629
630
631
632
631
628
626
630
633
636
633
633
632
631
630
630
630
630
630
633
633
633
632
632
632
632
632
632
632
632
632
633
633
633
631
629
626
626
625
622
619
622
624
624
625
626
622
619
618
620
620
619
619
619
607
603
597
593
590
588
586
582
582
582
572
572
570
570
570
570
570
569
569
569
569
569
569
569
568
568
567
566
567
567
567
567
568
568
569
569
569
568
566
566
566
566
566
566
566
566
564
563
563
561
561
559
558
556
555
555
554
553
551
549
548
545
543
543
543
542
542
542
542
541
541
541
541
541
541
541
541
541
541
541
542
542
542
543
544
545
545
545
545
544
542
537
537
534
532
530
529
529
521
518
517
514
511
508
503
493
492
484
483
482
479
478
476
473
471
465
463
462
461
459
456
454
452
451
447
446
445
441
437
433
430
424
423
422
422
421
420
418
415
413
413
412
410
409
410
413
413
413
414
414
415
416
416
416
417
417
417
417
417
417
417
418
418
418
418
418
418
418
418
419
420
425
426
427
428
429
431
438
440
443
444
445
446
449
452
454
455
457
457
458
460
471
475
475
476
478
480
483
490
493
500
504
505
505
505
506
507
507
510
510
513
513
513
513
513
513
514
516
522
523
523
522
522
521
520
520
519
516
524
524
526
526
526
526
527
528
529
529
530
531
531
531
531
531
531
531
534
536
537
539
540
540
540
540
540
541
547
549
550
550
548
547
547
549
549
549
548
549
551
552
552
552
552
552
552
552
550
551
551
552
552
552
552
553
553
554
554
554
554
554
555
555
558
559
559
559
557
557
556
554
554
554
553
553
553
553
553
552
552
552
552
552
552
552
552
552
552
552
552
553
553
553
553
553
553
553
553
554
554
555
555
554
553
552
551
551
551
551
550
550
550
550
550
550
550
550
550
550
550
550
550
550
549
549
549
550
551
551
551
551
552
553
553
553
553
553
553
547
545
538
532
529
527
523
521
517
514
514
513
513
512
512
508
507
506
505
504
502
502
501
497
496
497
498
499
501
501
501
501
501
502
503
504
505
505
504
503
503
502
492
489
481
471
469
452
445
442
439
435
433
431
428
422
421
420
419
416
414
413
411
402
401
400
387
387
387
387
387
387
388
388
379
361
362
363
373
373
373
371
367
359
346
344
342
341
340
339
339
338
338
337
337
335
335
334
328
325
318
314
306
299
297
294
293
293
293
293
293
293
293
293
296
296
303
305
310
312
314
316
318
320
321
327
329
329
329
331
330
330
326
320
318
314
313
312
310
309
307
305
302
290
288
287
286
285
281
280
280
279
278
279
280
280
280
281
281
282
280
279
274
273
273
266
263
262
268
270
271
273
274
276
278
279
279
279
279
279
279
278
277
277
272
271
271
270
270
270
271
272
272
273
274
274
274
274
274
274
274
274
273
273
273
272
272
272
271
271
270
269
269
268
268
268
264
264
261
258
258
256
250
246
245
244
241
241
241
247
251
254
253
251
250
251
251
252
253
253
254
255
255
255
256
256
257
257
258
259
259
259
260
260
260
261
262
263
265
265
265
263
262
260
259
257
255
253
251
247
247
245
244
243
240
240
240
236
235
233
232
232
232
232
231
231
229
227
226
225
224
223
222
221
219
217
216
215
214
214
214
213
212
210
198
190
184
183
182
182
182
183
185
186
187
187
187
189
189
202
212
214
214
214
215
222
224
226
227
228
232
233
232
232
232
232
232
230
228
227
226
225
224
219
215
215
213
211
211
210
210
209
206
203
202
200
199
199
196
196
195
195
195
195
195
195
195
195
195
195
196
196
196
196
194
191
188
186
185
185
183
182
182
182
181
179
179
178
178
178
178
177
177
177
176
176
174
174
174
173
173
173
172
171
171
171
170
169
168
168
168
168
168
168
168
168
168
166
164
164
163
162
162
161
160
161
161
161
161
160
160
160
160
160
159
159
157
156
150
150
150
150
149
148
147
147
147
147
147
147
147
146
146
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
146
146
147
147
147
147
147
149
149
145
147
147
147
147
146
146
145
145
145
145
145
145
145
145
145
145
145
145
146
146
146
147
148
148
147
146
146
145
145
143
143
143
143
143
143
143
143
143
143
143
144
144
145
145
145
150
152
153
154
156
159
159
159
159
164
166
172
175
176
176
178
182
183
183
192
195
197
197
197
197
198
198
198
198
199
199
200
200
200
200
200
198
197
197
196
196
195
194
193
191
187
187
186
184
181
179
178
174
174
173
173
173
173
173
173
173
173
172
172
171
171
171
171
171
171
171
171
171
171
171
171
171
172
172
172
172
172
172
172
172
172
172
171
171
171
171
171
171
171
171
170
170
169
169
168
167
165
165
164
164
163
163
163
164
164
164
165
166
167
167
168
168
168
167
166
162
162
161
160
160
161
161
161
161
161
161
161
161
162
162
162
162
162
162
162
162
161
161
161
160
160
169
168
168
169
169
171
171
171
172
172
172
172
172
172
171
169
169
168
166
165
164
164
164
164
164
164
164
164
164
164
163
163
163
162
162
162
160
158
158
158
158
158
158
158
158
158
158
158
158
158
158
157
157
157
157
157
157
157
157
158
158
160
160
160
160
158
158
156
156
155
155