350
349
349
349
348
348
345
344
342
342
341
340
339
338
337
336
336
335
334
330
322
323
324
324
324
324
323
323
322
322
321
320
319
318
317
317
317
317
317
317
317
317
317
316
316
314
314
313
313
313
312
312
311
311
311
310
308
307
307
307
307
307
307
307
307
307
307
307
307
307
308
308
308
308
308
308
308
308
308
308
308
308
308
309
309
309
310
314
314
315
314
313
310
310
309
308
308
308
307
307
307
306
305
305
305
305
305
305
305
305
305
304
304
304
304
304
304
304
305
305
305
305
305
305
306
306
306
306
307
307
308
308
310
310
310
308
307
309
310
310
311
313
307
307
307
307
308
308
309
309
310
310
310
310
311
312
312
312
312
312
312
312
313
315
315
315
315
314
314
314
314
314
315
315
315
316
318
318
318
321
321
325
326
326
327
328
328
331
335
338
340
341
344
345
350
351
352
356
361
367
369
370
377
378
379
380
380
382
383
385
385
386
388
388
389
391
401
403
405
405
407
407
410
411
412
413
414
415
416
410
398
397
396
392
391
390
387
385
383
382
373
369
367
365
364
362
362
360
359
357
355
354
351
350
349
348
348
347
346
345
344
341
340
339
337
334
333
332
332
331
331
331
329
329
329
328
327
326
326
325
325
325
324
324
323
322
321
319
319
318
318
318
318
318
319
320
321
321
323
323
324
325
325
324
323
322
320
319
312
312
312
312
312
312
312
312
312
312
312
312
312
312
311
310
310
310
309
309
310
312
313
314
326
334
336
340
342
346
348
352
355
357
358
361
362
363
364
367
371
373
379
382
390
391
393
396
398
404
404
400
396
389
387
386
383
381
379
375
369
368
361
354
351
348
341
340
339
337
335
332
327
326
325
321
320
320
320
319
316
314
313
313
313
313
313
314
316
318
319
321
322
324
327
331
333
337
338
339
340
342
344
347
353
357
359
369
381
385
389
392
394
398
407
413
420
426
430
433
438
441
446
452
461
463
467
471
473
475
482
484
487
490
492
494
497
498
498
497
497
493
490
489
489
489
488
486
485
479
477
473
469
466
465
464
463
457
455
454
449
448
447
444
441
439
439
438
437
436
434
434
425
417
413
410
399
392
391
389
387
385
381
378
375
369
363
358
355
353
352
350
349
348
348
347
347
346
346
345
344
344
343
341
340
340
340
339
339
338
337
337
337
337
337
337
337
337
337
338
338
338
338
339
340
340
342
342
342
343
342
340
343
344
346
347
347
347
347
347
346
345
346
346
347
348
348
349
349
349
347
346
347
349
350
351
352
355
354
354
353
352
351
351
352
353
356
361
368
371
379
384
387
387
388
388
389
389
390
391
392
392
395
398
404
410
416
421
422
418
404
372
354
354
354
354
354
350
347
346
341
339
338
336
334
334
333
333
332
332
332
332
331
331
333
333
335
338
339
341
344
344
345
347
359
362
365
369
375
380
385
410
415
420
425
430
428
427
426
424
421
418
415
413
412
409
405
392
389
387
383
378
375
373
370
362
354
347
346
343
343
342
341
340
340
339
338
338
338
338
338
338
339
339
340
340
341
341
342
342
342
342
343
344
344
344
344
353
354
355
356
357
358
360
363
364
368
372
377
380
394
397
400
404
407
414
416
428
443
443
442
442
442
441
440
440
439
438
421
413
412
410
405
403
398
382
378
371
369
357
348
345
344
344
343
332
331
330
330
329
326
326
326
326
326
326
326
326
326
325
325
325
325
325
325
322
322
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
323
322
322
322
321
321
321
320
320
320
320
320
320
320
320
320
320
320
320
320
320
321
321
322
322
323
324
324
325
328
329
330
330
329
329
329
329
329
328
327
326
326
325
323
323
322
322
322
322
322
322
322
322
322
323
323
323
323
323
323
322
322
322
322
322
322
322
322
322
322
322
322
322
323
323
323
323
324
324
324
324
324
323
323
323
323
323
323
323
323
323
323
323
324
324
325
325
326
328
331
331
332
332
332
335
341
354
351
351
351
350
352
354
369
370
372
375
381
383
386
389
389
391
398
400
401
403
406
407
409
410
412
413
415
415
416
417
417
416
415
413
412
410
408
405
402
400
398
396
393
389
383
381
375
369
361
359
358
357
357
356
355
355
353
352
351
351
351
351
350
347
347
347
347
347
347
346
346
343
342
342
342
342
342
342
342
342
342
341
341
345
345
341
342
344
344
345
346
346
346
348
348
350
350
349
349
348
348
347
346
346
346
345
345
345
345
345
345
345
346
347
348
349
349
350
350
350
349
348
347
347
347
347
347
348
350
355
358
362
364
369
369
370
371
372
376
377
375
375
374
373
370
368
369
370
374
379
380
381
382
382
380
379
378
377
381
385
387
394
395
407
416
417
432
447
468
484
486
484
481
479
477
475
471
463
449
441
438
431
425
425
425
425
425
425
425
425
414
407
405
400
399
397
397
396
394
392
391
390
390
390
390
390
390
390
389
389
388
387
387
386
385
385
385
384
381
381
379
375
371
369
368
368
368
370
371
372
373
373
370
365
361
360
359
360
360
362
363
362
359
356
354
353
353
354
354
354
355
356
357
357
359
361
361
361
360
360
359
356
353
351
351
351
352
352
352
352
351
351
347
345
342
341
342
343
345
345
349
356
362
371
370
369
369
369
369
369
368
366
362
359
356
354
350
348
348
348
348
348
348
348
348
348
348
348
348
348
350
351
352
353
362
362
362
359
357
355
354
353
352
352
351
356
363
370
378
383
392
395
400
401
404
408
410
413
417
418
423
425
427
428
430
431
448
463
466
466
466
466
466
468
468
468
470
471
465
465
465
464
464
463
463
462
460
454
449
440
434
433
433
433
431
429
428
427
425
424
424
424
423
423
423
423
423
423
423
423
424
424
422
421
422
421
421
421
420
420
422
422
424
424
413
412
412
411
411
411
414
415
416
421
422
423
424
424
426
426
425
425
428
428
426
421
412
407
404
400
398
396
391
391
391
391
391
390
389
388
387
386
386
386
386
386
384
384
384
383
383
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
378
380
381
381
375
375
374
375
375
376
369
369
374
376
378
380
383
391
391
391
393
394
398
405
406
406
403
402
399
399
399
399
399
399
400
398
396
396
394
394
399
400
400
401
399
396
396
396
395
394
395
395
395
395
394
392
392
391
389
389
388
387
387
385
384
383
383
381
380
378
377
373
371
371
370
369
368
368
368
368
368
368
367
367
367
367
367
367
367
367
367
366
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
366
366
366
366
366
366
366
366
366
366
366
366
366
367
368
368
368
368
369
367
367
365
365
365
365
365
365
365
365
365
366
366
366
366
366
366
366
366
367
368
370
371
371
371
375
375
374
374
374
374
374
374
374
374
374
375
379
380
380
382
383
384
384
384
386
389
390
390
390
390
392
392
392
392
391
391
391
390
388
387
387
387
388
388
388
388
389
389
389
389
389
389
390
390
391
391
392
392
393
395
396
397
399
400
404
411
415
415
414
412
414
423
427
431
431
430
429
428
428
429
429
431
432
432
433
433
430
429
427
425
423
422
416
415
414
413
413
413
414
414
414
414
415
415
416
417
418
418
418
418
419
419
420
420
420
420
421
423
423
423
423
424
424
427
428
431
433
431
431
429
428
428
428
429
430
432
432
432
433
436
445
445
446
447
448
449
450
450
452
457
457
458
458
458
458
458
460
460
461
461
462
462
462
463
463
465
466
466
467
467
467
467
467
467
468
468
468
468
468
469
469
469
469
469
469
469
470
470
470
470
470
471
471
472
472
472
473
474
476
477
477
477
478
478
479
479
479
480
481
481
482
483
483
484
486
486
487
487
489
489
489
490
490
490
491
491
491
492
492
493
493
494
494
495
495
495
495
496
496
497
498
499
499
501
502
502
503
505
507
511
512
513
513
514
514
514
514
515
516
517
517
518
519
519
519
520
521
521
522
523
523
523
525
525
525
525
526
527
528
531
531
532
533
533
533
533
533
533
533
535
536
536
537
537
537
539
540
542
542
544
545
546
549
549
550
550
551
552
552
552
553
553
554
554
555
556
558
560
560
562
563
565
566
566
567
568
569
571
571
572
573
574
575
575
577
578
579
580
581
581
581
582
582
583
583
584
584
586
587
590
590
591
596
599
601
602
604
605
607
607
607
607
607
607
607
607
607
607
608
609
609
610
610
611
611
612
612
612
613
614
615
616
617
618
618
619
619
620
622
630
635
636
638
641
644
648
648
647
647
646
646
645
645
645
645
645
645
645
645
645
646
647
651
652
654
656
658
659
661
663
664
665
667
666
665
664
664
663
663
664
666
666
669
670
671
672
673
675
676
678
681
681
682
682
683
684
684
684
686
692
693
697
701
704
709
712
712
710
708
706
705
703
704
707
709
715
725
730
730
726
722
721
728
730
736
741
743
744
744
744
744
744
744
744
743
742
740
738
737
737
739
741
746
752
753
755
757
759
762
764
765
765
764
764
761
760
759
757
756
763
765
769
776
781
795
794
794
793
790
791
791
793
794
793
792
791
790
787
787
787
786
786
786
787
788
790
791
792
805
805
807
808
810
810
810
810
810
811
815
816
817
822
831
839
846
850
854
858
872
873
871
870
869
868
868
864
862
862
862
862
862
862
862
862
862
862
862
861
862
863
864
865
868
871
872
872
876
877
884
887
890
894
901
905
906
905
904
903
902
900
899
898
897
896
896
895
897
898
907
914
916
917
919
921
922
923
924
925
926
926
935
936
937
943
945
948
953
954
958
961
966
968
973
975
975
975
975
975
974
974
974
976
978
979
981
982
983
985
986
991
994
995
998
1004
1007
1009
1012
1014
1019
1022
1025
1031
1034
1038
1042
1056
1063
1070
1075
1077
1084
1091
1095
1098
1106
1114
1117
1122
1123
1125
1126
1131
1134
1139
1139
1140
1141
1142
1142
1142
1143
1143
1131
1127
1118
1107
1091
1085
1077
1068
1059
1055
1049
1044
1039
1035
1028
1020
1014
1007
1002
1002
1002
1001
1000
997
994
992
990
987
985
984
977
974
962
955
957
960
964
965
968
977
988
995
988
980
973
954
945
941
939
938
924
920
907
900
892
865
857
853
844
840
838
836
832
828
823
820
819
806
805
804
774
772
771
757
753
750
749
748
748
746
746
746
746
746
746
745
745
744
743
742
741
741
740
737
735
733
730
730
730
730
730
730
729
729
728
728
727
727
726
725
724
722
717
714
714
712
710
710
708
708
708
708
708
708
709
711
715
719
723
725
728
729
730
730
731
732
734
735
736
736
737
737
737
737
738
739
739
740
740
742
743
743
745
746
748
749
749
750
751
751
752
752
752
753
754
755
756
757
758
759
761
762
763
765
766
767
770
771
772
773
775
776
778
779
781
781
784
785
787
787
788
790
792
795
800
802
806
807
809
810
811
813
814
820
833
838
851
853
856
857
860
862
867
870
876
879
882
887
891
901
908
914
921
923
924
926
927
939
943
947
950
954
955
954
953
951
950
949
949
951
954
958
960
965
967
967
968
969
970
975
977
978
979
979
980
981
982
983
990
992
995
1002
1003
1005
1009
1011
1012
1014
1016
1020
1024
1029
1026
1024
1022
1021
1019
1018
1017
1017
1017
1018
1019
1020
1021
1022
1024
1025
1025
1026
1027
1028
1029
1032
1032
1035
1037
1042
1037
1035
1027
1026
1026
1025
1028
1032
1033
1034
1038
1037
1036
1036
1036
1035
1034
1034
1032
1032
1032
1032
1033
1033
1033
1033
1033
1033
1033
1032
1032
1032
1031
1030
1030
1029
1029
1029
1027
1027
1025
1025
1025
1025
1024
1024
1023
1022
1022
1022
1022
1021
1020
1017
1017
1017
1018
1019
1019
1021
1021
1022
1022
1023
1024
1023
1020
1019
1018
1020
1023
1023
1024
1030
1031
1032
1033
1033
1034
1031
1028
1026
1010
1009
1008
1003
1001
988
982
975
972
972
972
972
972
972
972
972
972
973
974
975
976
976
977
980
981
982
986
990
993
995
995
998
999
1000
1000
997
996
989
986
976
971
965
963
958
952
948
944
938
936
935
934
932
930
926
925
927
928
930
932
934
935
937
936
931
918
914
904
895
876
874
866
868
873
873
874
875
875
876
877
878
878
880
880
880
881
881
872
864
850
827
817
818
819
819
821
821
823
825
826
827
827
828
829
834
834
836
837
838
840
841
837
831
820
811
801
808
814
818
823
826
825
824
823
815
811
806
798
796
782
763
763
761
761
753
752
752
751
744
738
737
735
733
733
732
731
730
730
729
728
727
728
728
728
727
727
722
721
720
717
716
716
716
716
716
716
715
713
712
711
709
705
704
702
701
699
698
697
695
694
694
699
702
721
722
726
730
732
735
739
743
744
751
755
763
768
771
773
774
775
777
778
779
780
784
789
791
794
799
801
805
807
812
814
819
824
826
832
835
836
852
856
862
867
869
880
885
890
898
907
925
931
956
971
983
992
1000
1012
1023
1025
1022
1021
1016
1016
1015
1015
1010
1018
1036
1056
1061
1065
1067
1066
1066
1065
1064
1064
1063
1062
1060
1059
1057
1052
1049
1047
1046
1043
1042
1041
1040
1038
1034
1028
1023
1021
1020
1005
1000
996
988
979
977
973
962
959
947
942
934
924
919
915
912
910
905
902
893
892
890
886
885
885
885
886
887
887
888
889
894
897
906
908
903
884
880
864
860
858
857
854
854
853
851
850
849
849
847
843
841
838
837
836
835
833
830
829
822
815
812
804
802
788
785
781
785
792
801
805
804
802
797
791
787
780
774
754
759
764
777
780
772
759
753
742
740
738
726
724
721
720
720
719
718
717
716
715
715
715
715
715
715
714
713
710
709
704
702
700
699
697
694
695
705
711
716
719
720
721
721
720
719
718
717
717
714
712
710
699
697
692
688
685
673
670
670
669
668
668
667
667
666
670
673
674
680
688
690
691
689
688
686
684
678
662
655
648
643
640
639
636
632
631
630
626
624
622
619
618
617
616
616
615
613
611
611
611
611
611
611
611
609
608
607
606
587
586
584
582
578
575
574
573
573
576
578
579
580
581
581
581
580
579
578
577
574
571
567
562
559
559
559
557
556
555
555
554
554
553
552
553
556
557
558
563
565
566
568
571
571
573
573
573
574
576
576
576
574
572
572
562
555
542
542
542
541
539
539
539
539
540
540
541
542
543
544
544
544
544
542
532
530
529
528
524
523
522
521
520
520
520
519
519
519
519
518
518
518
517
517
517
516
516
515
514
514
513
513
513
513
512
512
512
510
510
509
506
504
504
503
503
503
502
501
501
500
500
500
500
499
498
498
498
498
498
498
498
498
498
498
499
500
500
501
501
501
502
501
500
499
498
492
490
489
486
486
486
487
488
489
489
490
491
496
497
498
499
500
499
496
494
492
490
488
484
475
472
472
474
476
479
481
484
496
504
502
495
481
478
476
475
473
471
470
467
461
459
458
456
450
448
448
448
448
448
448
448
448
448
447
446
445
444
443
439
439
439
438
438
438
436
436
434
433
431
430
428
427
426
424
423
422
421
421
418
418
417
416
415
415
414
413
413
412
412
412
413
413
413
413
414
414
415
415
415
415
415
409
409
407
406
408
410
410
410
409
408
408
407
407
407
407
407
407
407
407
407
407
407
407
407
407
406
405
403
401
401
399
398
398
397
396
399
401
404
405
407
410
412
413
415
416
417
418
419
420
421
422
423
425
428
431
435
442
470
469
466
464
461
453
450
448
445
443
435
430
425
414
407
399
409
411
413
415
423
424
426
426
398
395
392
389
387
383
383
384
385
386
386
387
383
383
383
382
382
382
382
381
380
379
379
379
379
379
379
380
380
380
380
380
380
380
380
380
379
379
379
379
379
378
378
378
378
378
378
378
384
386
391
392
393
394
392
388
383
371
371
369
369
370
370
374
374
375
375
377
378
379
380
380
380
381
381
381
381
381
381
386
387
391
391
390
390
390
388
388
386
386
385
385
385
385
385
385
385
385
385
385
385
385
384
383
382
381
380
379
376
376
375
375
374
374
374
374
372
371
369
369
369
369
369
369
369
369
368
367
366
364
363
360
360
359
358
357
357
356
355
354
352
352
352
352
350
350
349
352
353
353
353
354
355
355
355
356
357
357
358
358
359
359
360
361
361
362
362
363
363
364
365
366
366
367
367
368
368
368
370
370
370
371
371
371
371
367
367
364
362
361
357
353
352
348
348
347
346
345
344
344
345
345
345
345
343
341
340
338
330
330
330
330
330
330
330
331
331
331
331
331
331
331
332
332
332
332
332
332
332
332
332
331
330
329
328
327
326
326
325
324
324
324
324
324
324
324
324
324
324
323
323
323
322
321
320
322
327
330
330
329
328
328
328
327
327
327
326
326
325
327
330
330
331
332
334
339
337
337
336
336
335
329
328
327
325
324
323
323
324
325
326
326
327
328
328
328
329
329
330
330
330
327
325
322
321
320
319
318
317
317
317
317
317
317
317
317
317
316
316
316
315
315
315
315
314
314
314
314
314
314
314
314
314
314
313
313
313
313
313
313
313
313
313
313
313
313
313
313
314
317
319
319
320
320
320
320
319
319
317
316
316
315
316
317
319
319
321
322
322
322
322
322
322
322
322
322
322
323
323
324
324
325
325
325
325
325
326
327
327
327
327
327
327
327
328
328
328
329
329
335
340
341
342
343
345
345
345
349
351
352
352
354
354
356
356
357
360
363
364
367
366
365
365
364
363
363
364
364
365
366
367
367
369
372
372
371
369
376
386
389
392
395
398
401
403
405
409
412
417
419
425
430
434
435
438
439
443
445
453
465
467
469
472
473
479
481
494
497
501
502
501
500
499
499
498
498
497
497
491
488
486
483
477
475
473
471
467
464
462
459
455
452
451
450
449
449
448
447
446
446
445
442
441
440
439
436
434
433
432
430
429
416
413
400
399
389
387
387
386
381
379
372
370
367
363
357
352
351
347
345
344
344
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
344
345
345
345
345
345
345
346
346
347
347
348
348
348
348
348
349
349
349
349
349
349
349
352
355
365
366
366
369
370
371
372
372
372
372
372
372
372
371
371
371
371
372
373
375
380
381
382
383
380
377
376
375
371
371
371
371
371
371
371
371
371
371
371
371
371
371
379
381
396
399
399
402
405
407
408
410
411
413
414
415
417
423
424
424
424
424
425
425
425
406
406
406
406
406
408
409
411
429
430
430
426
424
424
423
418
410
395
388
381
369
368
368
369
369
370
370
364
362
365
366
367
363
358
321
317
317
317
317
317
316
315
312
311
311
311
296
296
296
296
296
287
282
282
271
260
252
252
251
249
246
244
243
242
241
239
238
237
233
233
234
234
233
234
234
234
233
242
244
245
252
252
252
251
269
269
269
276
276
274
274
272
258
257
257
256
256
255
255
255
255
255
255
256
256
256
256
257
257
257
256
256
255
255
255
254
253
252
252
250
248
247
247
245
238
238
237
236
236
236
236
236
236
236
236
236
236
239
239
239
239
237
232
217
216
214
211
209
207
206
205
204
203
202
201
200
199
198
197
197
198
198
204
197
195
194
191
191
192
195
193
193
194
195
197
198
199
200
202
206
206
206
207
201
206
214
210
201
201
202
202
202
202
201
200
199
199
199
199
199
199
199
201
203
205
206
207
206
206
207
216
231
248
263
265
272
273
274
275
277
287
288
288
289
310
313
315
319
319
319
322
321
312
310
305
305
283
281
281
280
274
272
256
248
244
242
241
240
239
237
151
148
145
144
141
140
140
132
132
130
130
129
119
118
117
117
116
116
112
112
112
110
109
109
105
103
103
102
103
103
103
103
103
103
101
97
97
97
97
97
99
99
99
99
99
99
99
99
99
99
98
98
98
97
96
96
95
95
94
94
94
94
94
94
94
94
93
92
92
91
91
91
91
91
90
90
89
89
89
89
89
89
89
89
89
89
90
90
90
90
90
90
90
90
90
90
91
91
91
91
91
91
91
90
89
89
89
88
88
87
87
87
87
87
87
87
87
87
87
87
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
85
85
84
84
83
83
82
82
81
81
80
80
79
79
79
79
79
79
79
79
79
79
79
80
80
81
83
84
84
85
86
88
90
94
101
101
102
102
102
102
102
103
103
102
101
100
99
99
101
102
105
106
108
105
104
103
103
100
105
107
108
108
109
109
98
96
95
96
98
99
100
101
103
104
106
107
112
114
123
120
113
109
90
83
83
75
73
71
64
63
62
62
78
78
79
79
80
82
82
83
83
83
87
88
91
91
90
89
71
71
71
71
72
72
72
72
73
73
73
73
73
73
73
73
74
74
73
72
70
69
69
67
67
67
67
69
69
70
71
71
69
69
69
67
66
66
65
65
65
65
65
65
66
66
66
67
67
67
68
68
68
69
69
69
69
69
69
66
65
65
64
63
62
61
60
59
58
57
56
55
54
54
53
53
53
54
55
56
57
63
62
62
62
61
61
60
59
59
58
58
54
52
52
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
52
52
52
52
52
52
52
52
52
52
52
53
53
54
54
54
53
53
53
53
53
54
54
59
59
60
61
62
63
63
64
63
61
61
60
58
57
56
55
53
53
54
54
54
53
53
52
51
50
50
50
50
51
51
51
51
51
52
52
52
52
52
50
50
50
50
49
49
50
51
51
51
50
50
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
48
48
48
47
47
47
47
47
47
47
47
47
47
46
46
46
46
46
46
47
47
47
47
47
48
48
48
51
52
52
52
53
53
56
57
58
59
59
61
62
63
64
64
65
65
66
66
66
66
67
67
67
67
68
68
68
67
66
66
65
64
63
62
61
61
60
60
60
56
54
50
48
46
45
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
51
52
61
61
55
54
52
45
43
43
43
43
45
45
45
45
45
45
45
45
45
45
44
44
44
44
44
44
44
43
43
43
43
43
43
43
43
43
43
43
44
44
44
44
44
44
43
43
43
41
40
40
40
39
39
39
39
39
41
41
41
41