645
644
644
644
644
644
645
647
649
650
651
654
654
655
655
655
655
655
657
657
659
660
663
667
669
672
672
674
677
679
680
680
680
680
680
680
680
678
676
674
674
674
674
674
674
674
674
673
673
673
673
673
673
673
673
674
675
676
678
679
681
685
687
689
693
697
699
701
703
706
705
705
704
704
704
704
703
703
703
702
702
701
701
700
700
700
699
698
697
696
696
696
696
696
697
698
701
706
706
707
708
708
706
705
703
701
700
699
699
699
699
698
698
697
696
694
692
690
689
687
686
683
681
681
680
680
680
679
679
678
678
677
676
674
673
672
671
669
667
661
661
656
656
654
652
651
649
648
648
649
651
652
653
654
654
655
656
656
656
656
657
657
658
659
659
659
659
659
659
659
659
659
655
654
652
649
647
645
644
643
642
641
641
640
640
641
641
645
646
647
648
649
649
649
649
649
649
649
649
649
649
649
648
647
647
647
647
647
647
646
646
646
646
645
645
645
644
644
644
646
646
645
645
645
645
644
644
643
643
643
642
642
641
640
640
640
639
638
638
635
635
635
632
633
633
630
629
628
628
628
628
627
627
626
618
618
619
620
622
623
624
625
624
622
620
619
619
617
616
616
617
617
616
610
609
609
608
608
607
606
604
605
606
607
609
610
611
612
611
610
609
608
608
608
608
608
608
608
609
609
609
609
610
610
610
610
611
612
612
612
613
613
613
613
613
613
614
614
614
614
615
615
616
617
617
617
617
617
617
618
618
618
618
618
618
619
619
619
620
621
621
621
621
621
621
621
621
621
622
622
622
622
623
623
623
623
623
624
624
624
624
624
624
625
625
625
626
626
627
627
627
627
627
627
627
627
627
627
628
628
628
628
628
628
628
628
628
628
628
628
628
629
629
630
631
631
632
633
633
634
634
635
636
636
637
637
638
638
638
640
640
642
642
644
647
649
650
652
653
656
656
656
658
664
665
667
668
669
669
673
676
678
679
680
680
680
680
680
683
685
687
688
690
691
694
695
695
694
693
692
691
690
690
690
691
693
696
698
698
700
701
700
698
697
694
693
692
691
689
689
689
688
687
687
686
685
684
683
681
677
677
677
677
677
677
677
678
678
678
678
678
678
679
680
681
682
682
683
684
685
687
690
692
693
695
695
697
699
700
700
701
702
703
704
705
705
706
706
706
706
705
705
705
704
703
701
701
702
702
703
703
703
704
704
704
704
705
705
705
706
706
706
706
706
706
706
706
706
707
707
707
707
707
707
707
707
707
707
707
707
707
708
708
709
709
710
710
711
711
711
711
710
709
709
708
707
707
706
706
706
706
706
706
705
705
705
705
705
705
704
704
704
703
703
703
702
702
702
702
702
701
701
700
700
700
700
699
699
699
699
698
698
698
698
698
698
699
700
701
702
706
708
711
713
715
717
717
719
722
724
727
729
731
733
736
736
736
736
736
736
736
736
735
735
735
735
735
735
735
735
735
735
735
735
735
737
738
740
740
742
744
745
746
747
752
752
753
753
753
754
754
755
755
755
756
756
757
757
758
759
759
761
762
763
765
766
768
769
772
774
774
775
775
776
777
777
777
778
778
778
779
779
780
780
781
782
784
785
787
788
790
792
793
794
795
796
797
798
798
799
799
800
801
802
803
804
804
805
805
806
806
806
806
807
807
807
808
808
808
808
808
808
808
809
809
809
809
809
810
810
810
810
810
811
811
811
811
812
812
812
813
814
815
816
817
817
818
819
820
820
821
821
822
822
822
824
824
825
825
825
825
825
825
825
826
826
826
826
826
826
827
827
827
828
828
828
828
828
828
828
829
829
829
829
829
829
829
829
830
830
830
830
830
831
831
831
833
834
834
834
835
835
836
836
837
837
838
839
839
840
840
841
842
842
843
843
844
844
845
845
845
846
846
846
846
846
847
847
847
847
847
847
847
847
847
847
847
847
847
847
848
848
848
849
849
850
851
852
852
852
852
853
853
853
854
854
854
855
855
855
857
859
864
865
866
868
869
869
870
871
871
872
872
872
873
873
874
875
876
876
877
878
879
879
880
880
881
881
882
882
883
883
884
887
888
890
891
893
894
896
898
898
899
899
900
900
901
902
903
904
905
906
907
907
908
908
909
909
910
911
911
912
914
915
916
918
919
920
920
921
922
923
923
924
925
925
926
926
927
927
927
927
928
928
928
928
929
929
929
930
930
930
931
931
932
932
933
933
934
935
936
937
940
941
941
941
941
941
941
941
941
941
941
941
941
941
941
941
941
941
942
945
947
948
949
949
950
951
952
952
953
953
954
954
955
955
956
956
957
958
959
961
963
967
968
968
969
969
971
972
973
974
974
975
975
975
975
976
976
977
977
977
978
978
979
979
979
979
979
980
980
980
980
980
982
982
982
982
982
982
982
982
982
982
982
982
982
982
982
982
983
984
989
993
994
993
992
992
992
992
991
990
989
989
988
988
987
986
986
985
985
984
984
985
987
988
989
990
991
992
993
995
999
1000
1002
1003
1003
1003
1003
1003
1003
1003
1003
1003
1003
1003
1003
1003
1003
1003
1003
1003
1003
1004
1004
1004
1004
1005
1005
1005
1005
1005
1006
1006
1006
1006
1007
1007
1007
1008
1009
1009
1009
1009
1010
1010
1010
1010
1011
1012
1013
1014
1015
1016
1018
1021
1023
1025
1027
1029
1032
1034
1036
1038
1040
1042
1043
1045
1046
1047
1049
1051
1053
1053
1056
1060
1071
1074
1077
1079
1081
1084
1090
1094
1094
1095
1095
1095
1096
1097
1097
1098
1099
1099
1100
1100
1101
1103
1104
1106
1107
1109
1111
1112
1116
1118
1120
1122
1127
1127
1127
1127
1127
1127
1127
1127
1126
1125
1124
1123
1123
1122
1121
1121
1120
1119
1119
1117
1117
1121
1122
1124
1127
1129
1130
1131
1132
1133
1134
1134
1135
1136
1138
1138
1140
1141
1141
1142
1142
1143
1143
1144
1144
1143
1142
1140
1139
1139
1135
1133
1131
1128
1125
1123
1120
1118
1116
1115
1115
1114
1113
1112
1112
1111
1110
1109
1107
1106
1105
1105
1105
1104
1104
1104
1103
1103
1102
1102
1101
1100
1099
1099
1099
1098
1098
1098
1097
1097
1097
1096
1095
1095
1094
1092
1091
1090
1089
1087
1085
1085
1084
1083
1082
1081
1080
1079
1078
1077
1076
1074
1073
1065
1062
1059
1056
1054
1051
1049
1047
1044
1034
1030
1027
1024
1022
1019
1016
1013
1011
1008
1006
1004
1001
999
994
992
989
988
986
985
984
983
982
980
979
978
976
975
973
972
971
970
969
969
969
968
968
968
967
965
964
964
964
963
963
962
962
961
961
960
959
959
959
958
958
958
957
957
956
956
956
956
955
955
955
955
954
954
954
954
953
953
953
953
953
953
953
953
953
953
953
953
954
954
954
954
955
955
955
955
955
956
956
956
956
957
957
957
957
957
957
957
957
957
957
957
957
957
959
960
957
978
979
980
987
987
984
983
981
979
979
979
979
979
979
979
979
979
979
979
979
979
979
979
980
981
981
981
982
978
979
975
968
964
960
954
949
947
946
945
945
944
944
943
943
943
942
941
940
940
941
942
943
944
945
946
946
947
950
941
938
933
932
932
929
924
920
915
910
910
908
907
907
906
905
904
904
903
902
901
900
900
901
901
902
903
903
903
902
901
901
900
899
898
898
895
894
893
893
892
892
892
892
893
894
894
895
895
897
897
897
898
897
895
895
893
891
890
890
889
888
888
887
886
886
885
884
883
882
881
880
870
864
859
857
855
853
853
853
852
852
852
851
851
851
851
850
849
848
848
848
848
848
848
848
848
848
848
850
851
852
852
853
853
854
853
849
848
846
845
843
840
839
838
837
837
836
835
835
834
833
832
830
829
827
826
823
821
818
816
814
812
811
809
808
807
806
805
804
803
802
802
801
800
799
799
798
798
797
797
797
797
797
797
797
797
797
797
796
796
796
796
796
795
795
795
795
795
794
793
792
792
791
790
789
788
787
787
786
785
782
779
777
775
773
772
770
768
766
763
761
758
754
749
740
734
733
733
731
730
727
725
725
724
724
724
723
723
723
722
722
722
721
721
720
720
719
716
714
713
712
711
710
710
710
710
710
710
710
710
710
711
711
712
712
713
713
713
715
717
718
721
723
727
728
733
734
734
735
736
736
737
728
724
721
719
717
715
715
714
713
710
709
709
709
709
709
709
709
709
709
709
709
708
708
708
708
708
708
708
708
708
708
707
702
700
699
699
698
697
695
694
693
693
693
692
692
692
692
692
693
694
694
694
694
695
695
695
695
695
695
695
695
694
693
693
693
692
692
692
692
693
694
695
695
696
696
697
697
698
698
699
699
700
700
700
700
700
700
700
699
699
698
698
698
698
698
698
698
697
696
695
694
694
693
692
692
691
690
690
689
688
688
687
684
683
683
683
683
684
684
684
685
685
686
686
687
687
688
692
693
694
694
694
694
694
694
694
694
694
694
694
694
693
692
689
687
685
684
684
683
683
682
682
682
681
680
680
679
679
678
678
678
677
677
676
676
676
676
675
675
675
675
675
675
675
675
675
675
674
673
672
671
670
669
668
667
666
665
665
664
663
663
663
663
662
662
662
662
662
661
661
660
659
658
658
657
657
657
657
656
656
656
656
656
656
656
656
655
655
655
655
655
655
655
655
655
655
655
655
656
656
656
656
656
656
656
656
656
656
656
656
656
656
656
656
656
656
656
656
656
656
656
656
656
655
655
655
655
654
654
654
654
654
654
655
655
655
655
655
655
655
654
654
654
653
651
648
645
644
644
643
645
646
648
649
650
651
652
652
653
653
654
655
655
656
657
657
658
659
659
659
659
659
658
658
658
657
657
657
657
657
658
659
660
663
663
663
663
663
663
664
664
665
665
665
666
666
666
666
666
667
667
667
667
667
667
667
667
667
667
667
667
667
667
667
667
666
665
664
664
663
662
661
660
659
658
657
657
656
655
655
654
653
652
652
652
651
650
650
649
649
648
648
647
647
646
646
646
646
646
647
647
647
648
648
648
648
649
649
649
649
649
649
649
649
650
650
650
650
650
650
650
651
651
651
651
651
651
651
651
651
647
646
645
645
645
646
646
646
647
647
647
647
647
647
648
648
648
648
648
647
645
644
643
640
640
639
638
637
636
635
634
633
632
631
630
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
628
627
623
622
620
619
619
618
617
616
615
615
614
613
613
610
609
608
607
606
606
606
605
605
604
604
590
582
581
577
579
576
542
537
537
536
535
534
533
532
532
531
530
530
529
528
528
528
527
526
524
524
523
522
522
522
522
508
505
505
504
503
502
501
500
497
497
496
496
495
495
494
494
494
494
494
494
495
495
495
496
496
496
496
497
497
497
497
497
497
499
500
501
502
502
501
492
487
486
486
486
486
486
485
485
485
485
485
485
485
485
485
485
485
485
485
486
486
486
487
487
487
486
485
484
483
484
484
484
484
483
483
482
482
481
481
480
480
480
479
479
478
477
476
475
473
472
472
471
471
470
470
470
468
466
464
463
462
462
461
461
460
459
458
458
457
457
457
456
456
455
455
454
454
454
454
454
453
453
453
453
453
452
452
452
452
452
452
451
451
451
450
449
449
448
447
446
445
445
444
444
444
443
441
440
440
439
438
437
436
435
435
434
434
433
432
431
430
429
428
427
427
423
423
423
422
422
422
422
422
423
423
423
423
424
426
426
429
433
434
434
432
431
431
431
429
427
425
425
425
427
429
429
428
428
428
428
430
430
430
429
429
432
434
435
437
436
436
436
435
434
432
430
430
430
431
432
434
435
435
440
444
444
444
445
445
445
447
449
452
452
451
450
450
450
450
450
450
450
450
450
450
451
452
453
453
453
457
463
465
467
467
466
466
466
466
465
465
464
463
469
471
475
474
474
474
474
473
473
470
469
468
467
464
464
463
462
461
462
462
463
464
465
467
469
470
470
471
471
472
472
473
473
471
470
470
470
470
470
469
469
469
470
471
472
474
475
473
472
472
473
473
475
476
474
474
475
476
480
481
482
482
482
482
481
480
480
483
484
484
483
484
484
484
486
488
488
490
491
492
493
495
497
499
501
503
502
502
501
500
500
500
501
501
501
502
502
503
505
506
506
506
507
507
508
508
508
508
508
508
508
508
508
508
508
508
507
507
506
506
506
506
506
506
507
507
508
508
512
513
515
519
522
519
518
516
515
512
508
509
509
510
511
513
513
514
516
516
518
518
518
525
531
535
536
534
533
532
531
530
529
529
529
527
525
525
521
521
521
520
518
517
516
516
515
516
518
520
523
526
526
528
532
534
534
535
535
537
538
538
539
539
540
541
541
541
541
541
541
541
542
543
543
544
544
544
545
545
545
545
546
546
547
547
549
551
554
554
556
557
558
560
561
562
562
563
565
571
575
577
577
578
581
585
586
588
588
594
595
596
600
604
609
606
601
599
598
600
604
606
608
612
614
616
615
614
613
612
612
614
616
618
618
619
621
623
622
620
618
617
616
615
614
613
613
612
612
611
610
610
610
610
611
612
614
616
623
623
623
623
625
627
628
628
629
629
629
629
627
627
627
622
621
621
620
619
619
619
618
618
617
617
618
619
619
619
620
623
625
625
623
618
617
615
615
615
615
615
615
615
615
619
621
621