344
343
343
343
343
343
343
342
342
342
342
342
342
342
343
343
343
343
343
343
343
345
345
345
345
344
343
343
344
344
344
344
345
345
346
347
347
348
348
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
350
351
351
351
351
351
351
351
351
351
352
352
352
352
352
352
353
353
353
353
353
353
353
354
354
356
356
357
358
358
358
358
358
357
357
355
355
355
355
354
354
354
356
357
358
358
358
357
357
358
358
358
358
356
356
356
356
360
359
358
358
358
356
356
356
357
357
357
359
359
359
358
358
357
357
357
357
359
359
359
359
359
359
359
359
359
359
359
359
359
359
360
360
360
362
364
364
364
364
364
363
363
363
363
363
363
363
363
363
363
363
363
370
373
374
374
374
375
376
376
376
376
377
377
377
378
379
387
389
396
398
399
402
403
403
404
405
405
406
407
413
417
419
421
422
424
424
421
418
413
412
412
412
413
415
417
422
421
420
420
419
419
418
414
413
408
406
405
403
402
402
402
398
397
396
393
391
390
389
390
391
393
396
399
401
403
406
406
404
400
400
398
395
394
393
393
392
392
392
392
391
391
391
391
389
386
384
379
377
376
376
376
376
377
377
378
378
379
380
383
389
400
401
402
402
404
409
411
411
411
408
396
396
396
396
396
396
396
396
396
396
397
397
398
398
398
399
401
402
403
403
403
403
403
403
403
404
405
405
404
403
401
400
399
399
399
399
399
397
397
397
398
399
399
399
399
399
400
400
400
400
400
399
399
399
399
401
404
405
406
407
407
407
407
409
408
408
409
410
411
411
412
412
413
414
415
416
417
419
419
421
422
422
423
424
424
425
427
428
428
429
429
430
431
431
432
433
433
434
436
437
437
437
438
439
440
441
443
443
445
446
447
448
448
448
449
451
453
455
455
454
454
454
453
453
451
451
451
451
451
451
451
451
452
454
455
455
456
456
457
457
458
459
459
460
460
460
460
460
461
461
461
462
462
462
462
462
463
464
464
465
466
468
468
469
470
471
471
473
475
476
477
477
478
478
479
487
488
488
490
490
490
490
490
490
492
492
493
494
494
494
494
495
495
496
496
498
498
500
501
501
501
501
501
501
500
498
497
497
500
498
496
496
496
496
495
495
494
494
495
496
497
497
498
499
499
499
499
499
499
500
500
501
501
501
501
501
501
501
501
501
504
505
505
505
507
508
509
512
513
516
518
524
526
526
528
529
528
527
525
524
524
524
525
525
525
525
524
525
525
526
529
530
531
531
531
531
531
532
532
531
531
531
534
537
537
537
537
538
539
542
543
544
546
549
557
558
565
566
566
567
567
568
569
569
570
570
571
578
579
583
583
588
595
596
595
593
589
591
591
592
601
603
604
626
629
642
655
658
658
656
655
652
651
651
670
672
671
669
668
662
664
666
667
673
677
678
678
678
678
686
687
689
690
690
691
692
692
693
693
693
696
698
704
705
707
709
710
712
714
716
717
717
717
717
717
717
717
719
724
725
726
728
728
728
731
736
737
738
739
740
750
752
757
761
764
765
767
767
768
768
768
767
766
766
765
764
765
768
769
772
776
777
778
778
778
779
779
780
780
781
786
790
794
797
800
801
803
804
817
817
823
825
826
828
828
828
828
828
828
828
828
829
838
838
840
841
841
841
841
841
841
841
842
843
844
847
848
849
852
854
857
859
863
862
862
861
861
860
859
858
858
858
860
860
862
863
864
876
879
883
885
888
888
888
886
901
909
909
908
907
906
905
902
903
910
920
918
918
920
921
927
930
932
935
945
947
947
946
946
945
948
951
953
957
956
956
958
959
959
960
961
962
965
965
967
969
972
974
983
983
983
983
986
987
987
987
986
990
992
994
996
999
1001
1002
1002
1005
1007
1009
1012
1015
1020
1023
1024
1030
1031
1032
1034
1036
1037
1038
1040
1040
1041
1041
1041
1042
1042
1043
1043
1044
1048
1049
1051
1053
1056
1056
1055
1055
1055
1055
1056
1057
1057
1057
1058
1058
1063
1069
1073
1074
1076
1078
1081
1082
1084
1084
1084
1084
1087
1090
1100
1101
1103
1107
1109
1110
1110
1110
1110
1110
1110
1110
1111
1111
1111
1112
1112
1113
1114
1120
1121
1122
1124
1126
1131
1134
1132
1131
1131
1132
1142
1146
1154
1161
1165
1166
1166
1167
1168
1168
1168
1168
1168
1168
1168
1168
1168
1169
1169
1169
1169
1169
1169
1169
1169
1168
1168
1167
1167
1166
1164
1158
1154
1150
1145
1140
1137
1135
1135
1128
1118
1117
1110
1106
1102
1094
1088
1084
1081
1075
1073
1069
1067
1064
1063
1062
1061
1061
1060
1057
1056
1055
1055
1054
1054
1053
1052
1051
1048
1045
1041
1041
1041
1041
1041
1042
1042
1042
1038
1035
1032
1028
1021
1012
1011
1011
1009
1008
1007
1006
999
995
992
990
987
987
986
986
985
984
982
976
973
972
971
970
968
964
964
961
958
948
947
944
942
940
936
936
935
934
934
934
932
931
930
930
930
929
927
925
924
923
922
922
919
916
915
913
911
910
909
907
905
904
902
895
892
884
883
882
882
881
881
880
880
880
879
878
877
875
872
863
860
852
848
845
844
844
843
841
841
841
841
841
840
839
839
836
835
832
830
828
812
809
799
799
792
790
789
788
787
786
785
785
784
784
784
783
778
776
775
774
774
773
773
767
759
757
756
751
748
736
729
723
720
716
712
708
707
702
702
701
695
693
689
685
683
676
673
672
671
671
668
667
663
660
656
655
655
654
654
653
650
649
648
645
645
645
644
643
635
631
624
623
620
619
619
618
617
614
611
610
609
608
607
606
601
601
600
600
600
599
599
598
595
593
591
590
590
589
589
588
588
587
585
581
581
580
578
578
578
577
577
576
575
571
570
570
569
567
561
560
559
558
555
555
552
551
548
548
547
546
546
546
546
546
546
546
545
545
545
544
544
543
543
542
542
542
542
544
544
544
544
544
542
541
541
540
540
536
536
536
536
536
536
536
536
536
536
536
536
536
531
533
533
533
533
533
534
532
532
530
533
534
534
534
534
534
533
531
529
529
534
534
532
528
524
525
523
522
522
519
519
520
518
518
516
516
516
516
516
517
517
517
517
517
518
518
519
519
519
520
520
520
519
518
517
517
516
516
516
516
516
515
515
514
514
513
512
512
509
508
507
507
509
509
510
510
510
510
510
509
509
509
509
510
511
512
510
509
508
508
508
508
506
504
504
502
502
500
499
498
498
498
497
497
497
497
497
498
497
497
497
497
496
495
497
510
514
515
518
519
522
524
528
532
536
544
545
545
548
552
556
559
561
563
568
574
575
577
578
578
581
582
582
582
582
582
581
580
579
578
578
577
574
572
569
568
563
558
556
554
551
548
548
547
546
548
548
548
549
551
552
553
553
554
555
556
560
561
562
564
565
566
567
568
571
573
573
574
574
575
575
575
576
579
580
581
582
583
586
586
588
589
591
599
602
604
611
623
623
623
622
620
619
617
616
620
622
623
626
634
635
637
638
639
640
641
646
647
654
655
665
671
671
672
672
673
673
673
677
681
684
684
684
684
683
683
683
683
683
684
685
685
686
690
695
697
699
700
702
702
702
702
702
703
703
704
711
713
716
716
716
716
716
715
715
715
714
714
714
714
714
714
714
714
715
716
718
720
725
726
733
734
735
736
738
749
755
756
756
755
755
758
758
759
760
762
764
766
768
769
769
769
768
769
771
774
778
778
778
778
785
790
790
791
792
795
798
801
803
810
811
813
813
814
815
815
815
815
815
815
817
819
821
825
828
833
834
833
830
830
831
832
833
834
834
834
834
834
834
834
834
834
834
835
838
839
840
840
841
842
844
845
848
849
851
852
855
869
869
869
871
877
877
878
874
873
872
872
872
873
874
874
875
875
875
878
881
890
890
890
890
891
894
895
896
896
897
900
901
902
903
904
907
908
908
910
910
911
912
914
914
915
915
916
916
918
919
920
921
921
921
922
926
930
931
931
931
932
933
934
936
937
937
937
938
938
938
940
940
941
941
941
942
942
943
943
946
948
950
952
952
954
955
956
957
971
975
978
984
984
985
987
989
999
1002
1007
1007
1007
1007
1007
1007
1006
1006
1005
1005
1004
1003
1003
1003
1003
1003
1004
1005
1026
1028
1031
1032
1034
1037
1046
1050
1052
1054
1055
1057
1058
1058
1058
1058
1059
1061
1061
1070
1073
1089
1089
1090
1091
1100
1103
1105
1101
1100
1101
1103
1106
1108
1109
1129
1132
1135
1135
1135
1141
1146
1147
1147
1147
1148
1148
1148
1146
1146
1147
1148
1148
1149
1150
1152
1152
1152
1152
1150
1144
1142
1141
1141
1137
1136
1132
1131
1130
1127
1126
1125
1125
1124
1124
1123
1122
1121
1121
1120
1120
1118
1118
1118
1118
1118
1118
1117
1116
1116
1115
1114
1114
1114
1114
1114
1108
1104
1098
1095
1095
1091
1091
1089
1088
1088
1087
1085
1084
1081
1080
1079
1072
1072
1070
1062
1056
1056
1055
1054
1054
1053
1048
1045
1041
1038
1037
1037
1036
1034
1034
1034
1035
1035
1035
1036
1037
1037
1039
1040
1040
1040
1040
1037
1034
1031
1019
1015
1013
1009
1001
998
996
992
991
990
989
980
971
968
960
953
947
946
945
944
943
941
939
937
934
933
933
931
931
926
925
919
917
914
911
909
902
900
898
895
894
892
891
888
887
881
880
874
870
867
865
861
861
861
859
856
853
849
847
835
835
836
837
837
836
825
823
813
810
809
804
802
802
802
801
798
797
784
781
781
778
770
765
763
761
759
755
750
740
739
739
738
737
736
736
735
734
734
733
733
732
730
729
728
722
720
718
714
713
713
712
712
711
710
708
706
704
703
701
701
701
683
677
677
674
670
668
668
668
668
668
667
667
666
666
665
660
659
659
656
656
657
657
650
650
649
645
644
643
637
638
641
643
642
637
637
636
636
634
634
633
627
625
619
616
614
612
609
606
599
597
594
592
592
592
592
590
589
588
586
586
587
588
589
590
590
588
588
587
586
577
574
573
569
566
564
560
561
561
562
562
562
562
562
556
550
549
548
544
541
541
541
541
541
542
542
542
542
534
532
529
527
526
525
525
523
522
520
519
518
515
514
514
512
512
512
514
514
514
513
512
510
509
509
508
507
507
507
505
504
502
501
500
503
503
503
502
501
501
500
500
498
497
496
495
494
492
492
491
489
489
489
488
488
488
488
488
488
488
488
488
487
484
484
484
484
485
485
484
484
485
485
483
482
481
480
479
477
475
473
473
473
472
472
470
469
467
467
467
465
464
464
464
464
465
465
466
466
465
464
464
464
464
461
461
461
460
459
454
454
453
451
450
450
450
448
444
444
443
443
443
443
443
442
442
441
441
443
442
442
442
436
433
432
433
433
430
428
426
425
425
424
424
422
422
421
421
420
420
420
420
420
419
418
418
418
420
419
419
419
419
419
420
420
420
421
421
420
420
415
413
407
407
407
407
407
407
407
406
406
406
406
405
405
405
405
407
407
408
412
413
413
413
413
413
412
411
411
411
411
412
418
422
433
434
435
436
436
436
437
443
443
436
436
436
436
435
432
430
424
424
424
423
419
419
419
419
419
421
422
421
421
420
418
413
409
408
407
407
406
403
403
401
399
397
395
392
392
392
393
393
393
393
391
391
391
391
391
392
392
391
390
383
382
382
382
382
381
381
379
379
378
376
372
371
366
365
365
365
365
365
367
369
372
371
372
373
373
366
365
365
363
363
363
363
362
360
359
357
357
359
363
371
371
371
370
370
368
366
366
365
362
360
360
360
359
359
359
359
361
363
365
368
370
371
373
375
379
380
381
383
385
386
392
393
394
395
399
408
413
423
421
416
403
397
393
390
390
391
390
386
384
383
380
374
374
375
376
377
375
374
375
378
380
391
399
408
410
410
413
416
412
408
404
394
390
388
384
382
381
379
377
376
374
373
371
370
370
370
370
371
372
374
375
378
380
381
380
379
378
377
376
374
374
374
373
372
372
370
370
370
369
368
368
367
367
366
366
366
365
365
367
366
366
361
361
361
361
361
361
361
361
366
372
374
366
364
364
365
366
371
371
372
372
372
371
371
371
370
369
368
368
367
367
367
366
366
365
366
361
358
358
358
358
360
360
361
363
362
355
355
355
355
355
355
355
355
355
356
356
357
357
357
358
358
358
358
359
362
362
363
363
363
359
359
358
358
357
355
355
355
354
353
353
353
353
353
353
353
353
352
352
352
352
353
353
351
351
349
348
348
348
348
348
348
348
348
348
347
347
347
347
347
347
347
346
346
346
345
345
345
344
344
344
343
344
345
345
345
345
344
343
343
342
342
341
341
341
341
341
342
342
342
342
342
343
343
344
344
344
344
343
343
343
344
344
344
344
344
345
345
345
345
345