20
19
19
18
17
17
17
12
11
10
9
7
6
5
4
3
3
3
3
4
5
1
2
2
1
1
0
0
0
0
3
5
6
6
6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
9
11
12
15
16
21
27
29
30
32
33
33
37
38
43
45
47
50
50
51
54
54
55
56
57
58
59
85
86
88
89
92
94
96
106
107
109
111
113
117
123
124
127
128
129
130
131
133
135
136
138
147
150
152
155
166
167
171
174
182
182
181
180
180
180
181
182
183
184
186
191
192
194
200
204
209
213
217
217
217
217
217
217
217
217
217
217
217
219
221
222
223
224
227
237
239
241
242
242
241
241
240
239
234
232
228
228
228
229
230
236
240
245
275
280
289
296
292
288
286
286
287
290
292
295
300
300
301
306
308
308
309
309
310
310
310
310
309
308
307
307
310
313
315
318
320
317
313
312
311
315
316
318
320
325
344
345
343
341
339
338
340
343
345
346
347
348
349
350
355
357
356
356
356
355
355
355
355
358
359
363
363
363
363
363
363
363
359
345
344
342
341
340
338
336
335
333
334
335
339
345
345
345
343
343
341
339
336
334
333
331
326
323
325
327
330
322
319
317
315
313
310
308
307
307
307
305
303
305
305
307
307
307
307
307
307
307
307
307
307
307
308
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
311
312
313
313
313
313
313
313
325
328
330
333
337
338
339
341
343
345
347
353
356
361
365
369
374
381
387
389
393
395
398
400
402
403
404
404
405
404
402
398
396
392
392
390
388
385
382
382
380
379
377
374
372
371
369
367
361
356
354
354
356
357
358
358
358
358
357
356
355
355
356
357
359
360
361
363
363
363
363
361
359
357
355
350
346
348
349
348
348
350
351
353
354
355
356
356
357
358
358
359
363
363
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
363
363
363
362
362
362
362
362
364
364
364
364
364
364
364
364
364
364
364
364
364
365
365
367
367
367
367
368
369
370
371
371
372
373
373
372
371
369
368
368
370
372
372
372
373
373
373
373
373
373
374
374
374
375
375
379
384
385
386
382
382
382
380
380
381
384
385
385
385
384
380
378
377
377
379
385
388
389
391
392
391
390
388
386
385
384
383
382
381
380
375
374
373
371
370
370
369
367
363
360
356
352
350
348
348
348
348
348
348
349
353
354
356
357
358
357
337
336
336
336
336
335
332
331
328
326
323
320
313
313
311
310
310
310
310
310
308
308
307
307
307
307
307
307
307
308
308
308
308
310
311
311
316
316
316
316
318
318
319
319
319
319
320
326
326
329
332
336
338
337
334
334
332
332
332
332
333
333
336
339
343
346
349
350
352
354
357
358
362
367
369
371
372
369
365
360
354
355
349
343
340
339
337
336
334
332
330
327
325
324
322
322
322
321
319
320
326
326
325
323
322
321
321
318
318
318
318
318
318
319
319
315
316
317
318
320
320
320
318
316
318
332
331
329
323
318
313
313
313
312
311
310
309
309
308
309
310
311
312
314
316
317
318
319
319
320
320
321
322
323
324
325
327
327
327
327
327
327
327
327
328
330
333
335
338
339
339
339
339
340
340
341
343
344
347
348
351
353
353
354
356
356
356
358
358
358
359
364
366
368
370
380
382
384
385
389
391
394
395
396
398
400
405
408
411
417
420
422
427
430
432
443
447
448
448
448
448
448
448
448
448
448
448
448
451
454
457
459
460
461
463
486
493
498
513
516
520
525
529
533
560
561
563
565
578
581
584
585
586
588
589
591
595
597
598
600
606
609
612
613
617
619
624
624
624
624
624
624
624
624
624
625
629
632
636
638
640
646
657
658
660
663
665
666
667
668
671
672
674
676
678
681
683
688
694
696
698
702
703
705
706
707
709
710
712
713
714
715
716
717
717
720
721
723
736
737
741
748
749
751
753
755
756
758
761
763
768
771
774
775
777
780
781
782
783
784
785
786
787
788
789
789
791
791
794
795
796
801
802
804
805
805
806
806
806
807
807
807
807
807
808
809
809
810
817
818
818
818
818
818
818
819
820
826
828
829
831
832
832
834
835
836
837
840
843
846
850
852
852
853
856
859
863
866
869
881
887
888
896
897
898
900
900
903
908
910
915
917
920
925
929
929
929
928
928
926
923
920
918
914
904
903
901
899
899
898
898
898
898
898
898
898
898
886
882
862
858
856
854
854
854
854
854
854
854
853
853
852
851
849
848
847
839
838
836
830
830
829
827
827
826
824
822
821
819
816
813
804
801
794
792
789
781
779
778
777
776
775
774
771
771
767
765
764
764
764
764
764
763
763
762
760
757
753
750
748
744
744
744
744
742
742
742
739
731
728
724
721
719
718
717
716
715
713
712
710
708
700
685
680
667
665
662
660
659
658
656
655
652
649
644
642
641
641
640
639
637
635
633
632
631
627
621
618
614
599
597
595
594
588
587
582
581
578
574
566
564
561
557
557
557
555
555
555
553
553
552
551
550
548
541
539
538
538
539
539
537
537
539
541
541
541
541
542
545
546
547
548
549
549
549
550
550
552
551
551
550
542
539
537
536
535
534
532
527
525
523
518
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
517
519
520
521
523
523
523
524
524
525
525
527
527
527
527
530
531
532
532
533
536
552
555
555
554
540
532
529
527
525
521
517
514
513
514
514
515
515
515
515
515
515
512
511
510
510
509
509
507
507
507
507
508
508
509
509
510
510
511
511
511
511
511
511
511
511
512
513
509
507
506
499
496
494
493
493
493
492
489
485
481
477
476
471
468
468
466
465
465
463
459
453
450
449
446
445
443
442
439
438
438
437
437
437
437
434
433
432
432
431
431
430
430
430
430
429
429
429
429
429
429
429
428
427
426
425
424
423
421
419
412
407
402
398
387
381
377
375
375
374
373
372
372
366
351
349
347
344
340
338
336
335
333
333
332
324
316
308
303
300
299
296
292
290
289
286
286
286
286
287
289
290
292
293
294
294
295
296
298
300
300
301
302
303
304
305
306
307
307
308
308
309
309
309
309
309
308
307
311
310
306
302
299
297
295
292
289
289
288
288
288
288
287
287
287
287
287
286
286
285
282
285
287
289
289
285
284
282
278
277
276
276
275
275
275
275
275
275
275
275
275
275
275
275
275
274
274
274
274
275
275
276
277
279
280
280
279
278
278
276
275
275
275
275
275
275
275
275
275
276
280
290
290
289
286
286
286
286
286
286
286
285
281
279
278
278
279
280
281
281
281
280
280
279
278
278
278
278
279
279
279
289
291
292
290
289
288
287
283
282
281
280
278
277
277
277
277
274
273
271
271
271
271
271
271
271
272
273
276
277
278
278
279
281
282
284
287
290
292
293
294
294
294
294
294
294
295
297
298
299
301
303
306
311
314
317
318
320
320
320
321
321
321
321
320
320
319
319
319
318
317
316
313
312
312
313
315
316
317
319
321
322
325
327
328
329
329
330
330
330
330
330
330
329
328
328
328
327
326
325
325
325
326
329
329
332
337
339
342
350
356
357
357
357
359
363
377
379
380
384
387
392
400
401
404
405
406
406
406
407
408
408
408
409
410
426
447
500
504
504
505
505
537
547
552
559
558
557
580
582
583
588
589
590
590
590
594
597
599
603
607
611
615
622
636
641
645
647
647
646
646
646
652
665
677
680
689
691
695
699
716
718
719
720
722
736
743
758
759
762
764
771
774
776
779
783
786
791
792
794
795
796
801
805
808
823
833
838
836
833
831
831
830
836
840
843
843
843
843
842
842
841
839
838
836
838
840
842
843
839
834
828
824
821
818
815
813
800
798
797
795
795
797
799
803
801
800
799
798
797
762
758
744
743
743
731
727
724
709
701
699
694
664
654
649
648
646
645
644
642
642
642
642
640
638
638
636
636
635
633
633
630
628
627
626
626
623
621
618
617
616
613
612
611
608
608
608
608
608
608
608
608
608
608
606
605
603
602
601
600
600
599
599
597
596
596
594
593
591
591
590
590
589
588
585
584
580
580
579
579
576
575
573
570
566
564
563
563
562
559
556
554
549
542
539
537
534
530
526
522
518
514
506
502
487
488
489
490
491
490
488
486
481
480
479
477
475
473
472
472
470
469
469
468
468
467
466
464
464
463
463
463
463
462
461
461
460
460
459
459
458
457
459
462
463
467
470
473
478
473
469
466
457
454
449
436
433
433
433
433
433
433
433
433
433
433
432
431
430
429
428
427
427
427
427
429
433
437
436
435
435
432
430
434
435
428
421
421
421
423
424
426
427
427
428
429
437
437
440
442
443
446
447
447
447
447
447
446
444
443
439
436
433
432
426
424
418
416
414
411
411
411
411
411
410
410
410
410
410
409
408
407
406
405
402
399
396
392
391
390
388
386
385
382
378
378
376
376
375
375
375
375
374
373
373
374
376
377
379
379
380
380
381
382
383
381
379
378
378
378
379
379
380
380
381
382
383
385
386
388
390
392
392
392
392
392
391
390
389
389
386
385
382
374
373
372
372
372
372
372
372
372
372
372
372
372
372
371
371
370
370
370
370
371
371
371
374
377
377
378
378
378
379
379
380
381
381
381
381
381
381
379
378
377
377
377
377
376
376
375
375
374
374
373
372
370
370
370
370
370
369
369
370
371
371
371
371
370
367
367
368
369
369
366
366
366
367
367
367
367
367
367
367
367
367
368
371
372
373
373
376
377
379
379
381
381
380
379
378
377
377
377
376
375
374
371
370
370
374
376
375
375
374
373
373
373
373
373
374
374
375
375
375
375
375
374
374
374
373
373
373
373
372
371
371
371
371
371
371
370
369
368
368
367
367
368
368
369
369
369
369
369
369
369
369
369
369
369
369
369
370
370
370
370
370
370
370
370
371
374
375
377
379
380
383
386
387
389
392
392
394
395
397
401
403
402
400
398
395
393
391
392
393
394
393
390
386
384
382
382
382
382
382
382
382
382
384
385
390
391
393
393
393
393
395
395
397
398
400
406
407
409
409
413
418
420
422
429
430
430
432
432
433
434
434
435
435
435
435
435
435
435
435
436
440
442
446
447
449
450
450
450
451
452
452
452
452
453
454
454
455
460
461
462
462
461
460
460
459
458
456
455
455
455
455
455
455
455
455
457
459
462
466
474
476
480
484
487
489
490
491
493
493
492
491
489
488
493
498
515
519
525
527
530
532
534
537
540
542
546
555
559
561
565
569
570
570
571
574
577
577
577
577
577
577
577
577
580
585
587
592
592
593
594
595
596
596
597
601
602
603
604
606
608
609
612
617
622
625
626
628
632
634
636
636
635
635
634
633
633
632
632
632
632
631
630
628
627
625
623
623
622
620
619
618
618
617
617
617
616
616
615
615
615
614
614
614
613
612
612
612
612
611
609
608
607
607
607
607
607
608
612
615
617
618
619
620
620
618
617
617
616
616
618
620
621
623
622
618
617
615
613
612
611
608
607
606
604
601
598
596
593
591
590
587
584
582
579
578
577
575
574
572
570
567
564
560
555
551
545
536
534
533
532
530
515
508
506
501
497
493
491
487
486
485
483
482
480
479
477
476
475
479
480
482
485
487
492
492
490
490
487
486
485
485
483
481
480
479
478
473
472
471
470
469
468
466
466
464
464
463
462
461
461
458
455
453
450
449
447
446
445
444
443
441
441
440
440
439
438
437
435
434
433
432
431
429
428
428
427
427
427
426
425
425
424
423
422
422
422
423
424
424
424
424
424
424
424
424
423
423
422
422
422
422
423
423
423
424
424
424
425
425
426
427
428
428
429
430
431
431
433
434
436
438
441
441
441
442
442
442
443
444
445
445
446
446
447
448
448
449
450
450
451
452
452
453
453
452
451
450
450
450
450
450
450
448
448
448
447
447
446
446
446
446
445
445
445
445
444
444
443
443
442
442
441
441
441
441
441
441
441
437
437
437
437
437
437
434
433
433
433
433
434
434
433
432
430
430
430
430
430
430
426
424
424
424
424
424
424
422
418
414
412
410
408
408
408
408
408
408
408
408
408
412
413
415
416
411
410
409
409
408
409
409
409
408
406
404
401
394
391
388
387
385
385
387
388
390
391
391
391
391
391
391
391
391
391
391
389
388
388
388
388
386
385
384
383
383
383
383
382
378
380
382
382
382
382
382
383
383
383
382
377
371
378
382
382
383
383
383
384
385
386
386
387
390
391
392
393
394
395
401
403
407
411
413
415
416
419
424
428
433
434
435
437
439
441
442
442
443
445
447
450
452
454
459
462
463
465
466
467
470
472
473
474
474
477
477
477
477
477
477
477
477
476
476
475
474
473
467
462
461
459
458
457
456
454
452
452
451
449
448
447
445
443
441
441
440
439
438
436
435
434
433
432
431
431
433
436
440
442
443
448
448
449
450
450
451
452
454
457
458
460
465
468
471
472
475
475
477
476
475
475
474
473
473
475
476
476
477
478
480
481
483
483
485
484
483
480
479
478
477
476
475
473
476
477
478
480
481
483
484
483
483
482
481
481
480
480
480
480
480
480
479
479
479
478
478
478
478
460
458
457
457
455
453
451
449
448
447
444
443
441
440
439
438
438
437
435
426
424
422
418
416
414
409
406
403
399
397
394
393
392
388
386
382
381
379
377
366
364
361
360
354
352
351
350
342
337
335
332
331
330
329
328
327
325
323
321
320
314
313
309
307
306
305
306
306
307
307
309
309
309
309
308
307
306
305
304
301
301
301
302
302
302
304
304
305
305
305
305
305
305
306
308
309
309
310
311
313
315
319
317
316
316
317
318
318
318
325
326
327
328
327
325
324
321
317
319
319
319
319
317
320
321
322
325
324
328
329
329
330
333
339
342
346
352
353
354
355
361
362
364
365
367
368
369
370
371
373
374
377
377
376
376
375
374
373
372
369
368
366
364
361
361
361
361
355
353
350
349
348
347
346
342
338
335
333
333
332
333
334
335
336
337
339
333
331
327
324
323
323
317
317
317
317
317
317
316
316
316
315
314
309
309
308
308
308
308
308
308
308
306
306
306
306
307
308
308
309
309
310
311
311
312
313
313
321
325
328
330
332
333
336
336
336
336
336
343
360
357
357
354
353
351
348
348
348
348
348
348
350
352
355
359
363
366
369
369
370
371
373
374
375
377
381
382
383
385
387
388
390
392
394
393
390
387
386
384
380
376
377
378
379
381
385
385
385
384
383
380
380
380
382
382
383
386
385
383
379
375
374
374
373
373
373
373
373
373
372
372
372
372
371
369
368
369
370
371
372
373
373
371
371
371
369
368
367
366
366
366
366
365
364
364
364
364
364
364
364
364
364
364
364
364
364
364
362
362
362
362
363
363
364
364
364
364
364
364
364
364
364
364
364
364
364
363
363
363
362
362
361
358
357
357
355
355
355
354
353
351
349
349
348
348
349
347
348
352
357
359
361
363
363
363
363
363
360
359
358
356
356
355
355
356
357
357
358
358
357
355
355
354
354
357
363
371
373
375
376
378
380
381
381
383
388
391
392
394
395
397
401
403
404
404
404
403
403
403
401
397
394
391
389
384
381
376
370
365
362
358
352
350
344
342
340
339
338
337
336
330
328
326
324
318
317
315
315
314
314
314
313
312
312
311
310
309
309
309
309
309
309
307
307
305
304
304
304
302
302
301
300
299
299
299
299
299
299
299
299
299
300
300
301
301
302
303
304
303
301
300
301
303
306
313
321
322
323
322
322
321
321
322
323
323
328
334
335
336
338
340
342
346
347
346
344
338
335
334
335
338
338
339
344
345
346
347
348
350
361
364
364
363
362
361
360
359
357
356
355
355
355
356
356
356
357
356
353
352
352
351
350
349
348
346
344
341
338
335
331
327
314
313
301
289
277
271
262
269
282
285
269
264
253
248
246
242
238
235
230
228
224
225
230
232
232
228
222
221
221
221
214
209
204
195
194
194
194
194
190
186
180
177
174
173
172
171
167
164
162
160
158
156
154
151
149
147
144
141
140
142
144
144
144
143
143
142
142
142
142
142
141
139
136
134
132
128
118
114
112
110
108
106
96
94
92
90
88
87
86
59
58
57
56
54
53
51
45
44
43
39
37
34
32
30
23
23
19
12
11
10
10
9
8
7
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
2
3
7
6
6
2
1
0
0
0
0
0
1
2
1
0
6
5
4
4
4
4
6
7
8
10
12
14
14
14
17
17
18
19
22
29
39