547
546
546
546
546
546
546
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
546
547
548
549
549
549
549
549
549
551
552
553
553
555
555
556
557
558
559
559
560
560
562
562
563
562
561
561
561
561
561
561
561
561
561
562
563
563
563
565
565
566
567
567
567
567
567
567
567
567
567
568
568
569
569
569
570
570
570
570
570
571
571
571
572
572
573
573
573
574
575
575
576
579
580
580
581
581
583
583
584
584
585
587
588
588
589
591
591
592
592
593
594
594
595
597
599
602
604
606
608
609
610
611
613
615
618
620
623
624
626
626
626
626
625
624
624
623
622
622
621
620
620
619
619
619
618
618
618
618
619
619
620
621
623
624
626
626
625
625
625
625
625
625
625
625
627
628
629
631
632
633
635
636
633
631
630
630
630
631
634
637
642
651
663
666
670
673
675
680
683
686
687
688
688
690
691
692
694
696
698
700
702
700
699
697
697
696
698
700
702
703
703
703
702
702
702
702
699
697
695
693
691
691
690
689
687
687
687
687
687
687
687
687
687
689
690
691
693
696
697
698
698
699
699
699
699
699
699
699
699
702
705
708
711
711
712
714
715
719
726
730
739
763
769
778
787
794
801
805
811
812
819
827
831
832
834
837
838
842
845
848
855
856
858
862
864
867
867
868
873
877
879
884
887
890
891
893
894
895
896
898
901
904
904
904
904
904
904
904
903
903
903
900
899
898
900
902
902
906
911
914
916
918
920
921
923
921
917
915
916
917
917
918
919
921
922
922
922
922
922
921
920
918
915
912
911
910
909
911
914
917
920
923
924
924
923
919
918
916
915
914
915
916
916
917
918
919
920
921
922
922
924
924
923
923
922
923
925
926
929
930
930
930
929
929
928
926
925
927
932
937
937
936
935
933
933
932
931
931
922
911
901
896
894
886
878
873
868
863
860
857
856
853
851
846
845
842
840
834
829
826
821
815
809
804
801
796
789
789
788
788
787
787
787
786
786
786
786
786
787
787
786
785
784
783
782
781
778
771
769
766
763
759
757
755
754
752
751
748
744
737
734
731
725
718
718
710
706
703
701
700
699
698
696
695
694
693
692
690
689
687
686
683
683
682
682
682
682
682
681
680
678
677
676
675
673
672
671
671
670
669
668
667
665
664
664
664
664
664
665
666
666
666
666
666
667
667
667
667
669
672
674
674
674
674
675
676
678
680
679
678
678
676
675
674
674
673
671
667
666
666
663
662
660
657
657
657
655
653
650
648
646
643
642
642
641
641
638
639
639
640
640
640
638
636
634
633
633
632
632
631
631
631
631
631
632
632
633
634
634
634
635
635
635
635
635
635
635
634
633
632
631
628
626
626
626
625
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
625
626
626
627
627
629
630
630
630
630
628
626
625
621
618
618
616
613
611
609
613
615
617
621
622
624
627
630
631
632
633
635
636
637
645
650
656
658
660
662
665
671
672
672
673
673
674
675
682
690
692
698
703
704
709
713
717
721
725
728
730
733
737
740
742
744
745
747
749
750
750
752
754
757
758
762
766
771
774
776
777
776
776
776
778
779
780
782
784
786
787
789
790
790
790
790
790
791
791
792
794
795
799
802
805
806
807
808
809
810
812
814
816
817
818
820
822
823
824
825
827
829
830
831
832
834
835
837
839
841
844
845
848
852
857
863
865
871
871
871
871
871
870
868
866
865
864
863
863
863
863
864
865
866
869
871
872
875
877
878
878
878
878
878
878
878
878
878
878
879
880
882
884
885
887
889
892
894
895
897
899
900
902
903
904
906
907
908
910
912
913
914
915
916
917
917
918
918
919
920
922
923
924
924
925
926
927
928
930
932
934
935
935
936
936
937
937
937
937
937
937
936
935
934
934
933
932
931
931
933
937
937
939
938
938
937
937
938
938
938
938
937
936
935
934
934
934
935
935
937
938
940
943
945
947
948
949
950
951
951
952
952
952
952
952
952
951
951
951
952
954
956
956
956
956
956
956
956
956
956
956
956
956
956
950
945
940
936
935
933
931
927
920
914
909
904
902
897
894
890
889
886
883
881
880
879
878
876
870
867
866
863
855
847
838
833
829
825
823
820
817
810
803
799
795
794
792
792
791
789
786
783
781
780
779
778
777
775
771
766
763
759
757
755
754
753
749
747
745
745
743
741
740
739
738
736
735
735
733
731
727
727
725
724
722
721
720
720
720
719
719
718
718
717
716
716
716
716
717
717
717
717
718
718
718
719
719
720
720
721
721
721
721
722
722
723
723
724
724
725
725
725
725
725
725
725
725
726
727
729
731
734
737
741
746
749
755
761
765
766
767
768
769
771
774
776
777
778
781
784
788
792
796
799
803
807
811
815
818
818
818
818
818
818
818
818
818
818
818
818
818
818
818
818
819
819
819
819
820
820
821
822
822
823
823
824
824
824
826
827
828
828
828
829
830
830
832
834
837
840
842
844
846
849
850
852
854
857
858
859
860
860
860
859
858
857
856
855
854
853
852
852
852
853
853
854
854
854
854
855
855
856
857
859
859
860
861
863
863
864
865
866
866
869
870
870
870
871
871
872
872
873
873
874
875
875
876
876
879
881
882
884
885
886
887
887
888
890
891
892
893
893
894
895
896
897
899
900
901
902
904
905
905
906
907
907
908
910
910
911
913
914
915
916
917
917
918
918
918
918
918
918
918
919
919
919
919
919
920
920
920
920
920
921
921
921
922
922
922
922
922
923
923
924
924
924
924
924
924
924
924
923
923
923
923
923
923
922
922
921
920
918
918
918
914
911
906
904
902
900
899
898
898
896
896
896
896
896
896
896
896
897
898
898
901
903
904
905
908
905
902
900
898
896
894
892
890
889
888
887
887
887
887
887
887
887
887
886
886
886
886
886
886
886
886
887
887
887
887
889
891
893
894
896
897
898
899
901
903
905
907
909
911
914
916
918
919
919
919
919
920
924
927
930
933
935
939
941
943
946
947
948
949
949
949
948
948
948
950
950
952
952
952
952
952
955
957
958
958
959
960
960
961
962
964
967
970
974
975
979
982
984
985
987
989
991
993
995
996
998
1001
1003
1003
1004
1004
1006
1006
1007
1008
1009
1009
1010
1010
1011
1011
1013
1015
1017
1020
1021
1022
1023
1025
1026
1027
1028
1029
1031
1032
1032
1033
1034
1035
1035
1036
1037
1038
1038
1039
1039
1039
1039
1039
1039
1039
1040
1040
1041
1042
1044
1045
1046
1048
1049
1049
1050
1050
1050
1051
1051
1051
1051
1051
1051
1051
1051
1051
1052
1052
1052
1052
1052
1052
1052
1052
1052
1052
1051
1051
1051
1051
1051
1051
1051
1050
1050
1050
1049
1049
1048
1048
1047
1047
1047
1047
1046
1044
1041
1038
1036
1035
1035
1034
1033
1031
1029
1027
1023
1023
1023
1023
1023
1023
1022
1021
1021
1020
1020
1019
1018
1018
1018
1017
1016
1015
1015
1014
1014
1014
1013
1013
1010
1008
1007
1006
1005
1004
1003
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1001
999
998
997
997
997
997
995
995
993
992
991
989
988
987
985
984
983
983
982
981
980
979
978
976
975
973
972
971
970
969
968
968
966
964
961
959
954
952
951
950
950
949
947
947
947
946
945
944
944
943
942
941
941
941
941
941
941
941
941
941
942
942
942
942
942
943
943
943
943
943
943
943
944
944
944
944
942
940
938
936
934
931
930
928
927
927
925
924
923
923
922
920
919
918
918
916
915
915
914
914
914
914
914
913
913
912
912
912
912
912
913
914
915
916
918
920
921
923
925
927
928
929
929
929
929
929
928
925
924
922
920
918
917
915
914
913
912
912
913
915
919
922
923
925
927
929
932
935
936
937
938
938
939
939
939
939
939
939
939
939
939
939
939
939
939
939
939
939
939
939
939
940
940
941
946
950
951
951
951
951
950
950
950
950
950
950
950
949
949
948
948
946
944
937
933
932
930
929
929
928
926
926
925
925
924
924
924
924
924
924
924
925
925
925
925
929
932
934
936
936
935
934
933
932
931
930
930
930
930
930
930
930
930
930
930
930
929
928
928
927
926
926
925
924
923
921
920
919
918
917
915
915
915
914
914
914
913
913
911
911
911
911
911
911
911
911
911
911
910
909
907
906
906
906
906
905
905
904
904
904
903
902
901
900
898
896
895
894
891
888
886
885
885
885
885
885
885
885
884
884
884
884
884
884
884
884
884
884
884
884
884
885
885
885
885
885
885
886
886
886
886
885
885
883
882
881
880
879
878
878
877
876
875
875
874
874
874
874
875
875
875
875
876
876
877
878
878
879
879
881
882
883
885
886
887
888
889
895
902
906
909
911
911
911
911
910
909
909
909
908
908
908
907
907
906
905
905
905
904
904
906
911
912
911
909
906
905
904
903
906
908
910
911
915
917
916
911
909
907
904
904
908
912
913
914
915
915
916
917
917
916
915
914
914
913
913
913
913
913
913
913
913
913
913
913
913
914
914
915
915
917
920
921
922
923
923
924
929
932
935
938
940
941
944
946
948
949
950
951
951
951
952
952
953
955
955
956
960
962
963
964
964
965
966
969
971
973
975
977
978
980
981
982
983
984
987
989
991
991
992
992
992
993
994
994
995
996
996
997
998
999
1002
1004
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1017
1017
1017
1017
1017
1018
1021
1023
1024
1025
1025
1026
1026
1027
1028
1029
1030
1030
1031
1033
1034
1033
1032
1032
1030
1029
1029
1029
1029
1029
1030
1032
1033
1034
1035
1036
1036
1036
1036
1037
1037
1037
1037
1037
1036
1034
1033
1032
1032
1032
1033
1034
1034
1035
1035
1036
1036
1036
1032
1028
1026
1023
1020
1019
1019
1019
1019
1018
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1028
1028
1028
1028
1028
1028
1028
1028
1028
1029
1029
1030
1030
1031
1031
1031
1031
1031
1029
1028
1028
1027
1026
1026
1025
1023
1021
1020
1016
1016
1016
1016
1016
1016
1016
1017
1018
1019
1022
1024
1025
1026
1027
1027
1028
1030
1030
1031
1032
1032
1033
1034
1037
1038
1040
1040
1041
1041
1041
1040
1039
1037
1036
1035
1033
1032
1032
1032
1032
1032
1032
1032
1032
1032
1032
1032
1031
1030
1028
1024
1019
1016
1015
1013
1012
1012
1011
1011
1009
1008
1006
1004
1000
997
993
991
991
990
989
987
985
982
980
979
978
975
973
971
970
969
967
966
965
963
962
961
960
960
961
962
963
966
970
972
974
975
975
975
976
977
978
978
979
979
979
978
978
976
974
973
972
971
971
971
971
971
971
971
971
971
971
970
968
966
966
964
962
961
959
959
957
956
956
957
958
958
959
960
961
967
968
969
970
972
976
978
980
983
987
988
991
994
996
998
1000
1003
1007
1007
1012
1016
1021
1024
1029
1032
1032
1032
1032
1033
1033
1035
1035
1036
1036
1036
1036
1035
1035
1034
1034
1033
1033
1033
1033
1034
1034
1035
1035
1036
1036
1034
1033
1032
1032
1032
1032
1031
1031
1031
1031
1032
1033
1034
1037
1038
1039
1039
1040
1042
1043
1044
1046
1047
1048
1051
1056
1061
1063
1066
1067
1068
1069
1070
1071
1074
1076
1079
1082
1084
1085
1089
1093
1094
1096
1098
1101
1104
1104
1105
1106
1107
1107
1108
1109
1110
1113
1116
1119
1119
1120
1120
1119
1118
1117
1118
1119
1122
1124
1126
1127
1128
1128
1129
1130
1131
1132
1134
1135
1136
1137
1139
1139
1141
1143
1144
1146
1147
1150
1152
1153
1153
1153
1154
1154
1154
1154
1154
1154
1155
1155
1155
1155
1155
1154
1154
1154
1154
1154
1154
1154
1154
1154
1154
1155
1156
1156
1156
1156
1155
1155
1155
1155
1154
1154
1153
1153
1153
1151
1150
1150
1150
1150
1150
1150
1150
1150
1150
1150
1150
1149
1148
1148
1148
1147
1146
1146
1146
1146
1146
1146
1147
1147
1149
1150
1149
1149
1149
1148
1148
1148
1147
1146
1145
1144
1142
1138
1135
1134
1133
1131
1130
1129
1126
1124
1121
1119
1116
1108
1103
1098
1086
1082
1079
1078
1074
1072
1072
1072
1072
1072
1072
1072
1072
1072
1072
1072
1072
1072
1072
1072
1072
1072
1072
1072
1072
1073
1074
1075
1076
1080
1080
1083
1084
1086
1088
1085
1080
1076
1072
1066
1060
1054
1053
1050
1048
1047
1047
1046
1046
1046
1046
1041
1038
1035
1031
1027
1027
1021
1015
1010
1003
996
985
974
964
953
942
934
926
921
921
920
918
917
916
914
912
909
907
903
902
897
893
891
890
888
887
885
882
879
877
875
874
873
873
873
873
873
873
873
872
872
872
871
871
870
869
869
867
866
864
863
863
862
862
861
860
860
859
856
852
851
850
849
847
845
844
842
841
839
834
831
829
829
828
827
826
825
822
820
818
816
814
812
807
804
798
797
793
792
787
785
783
783
783
781
777
772
764
758
754
753
752
751
750
749
748
747
745
743
742
741
740
738
737
736
735
734
733
732
732
731
731
730
730
729
729
728
727
726
726
726
725
725
724
724
722
720
718
716
715
712
710
707
703
701
698
696
694
693
691
687
685
683
682
682
680
677
676
676
675
675
675
675
675
674
674
674
674
674
674
675
679
682
685
688
690
691
691
691
692
694
694
695
696
697
698
699
700
701
702
706
709
711
711
711
711
711
711
712
712
713
715
718
721
722
723
724
724
725
726
728
731
733
735
736
738
740
739
736
734
732
730
728
727
729
730
732
735
737
740
743
746
749
753
755
755
755
755
755
756
757
760
763
765
767
768
768
768
767
766
766
766
766
766
765
765
764
764
764
764
764
764
765
766
767
768
769
770
770
770
770
769
769
769
769
769
768
768
768
767
764
762
762
761
759
759
760
761
762
762
762
762
762
761
760
760
760
760
761
761
762
764
765
766
768
769
767
766
765
765
763
761
758
757
756
755
754
754
754
754
754
754
752
749
747
747
745
742
742
741
741
740
739
739
740
740
741
741
741
742
742
742
742
742
742
742
742
742
741
739
738
739
740
741
742
742
744
745
745
745
747
750
751
753
755
757
759
759
758
750
743
740
740
741
741
741
741
740
740
740
739
739
739
739
740
740
740
741
741
741
741
740
739
737
736
735
735
735
735
735
736
736
736
736
735
734
733
732
731
731
730
730
730
729
729
729
729
729
730
731
732
732
733
733
733
732
731
730
729
728
727
727
727
726
726
726
727
728
729
730
731
732
733
736
736
737
737
739
742
747
751
753
755
758
761
766
770
773
772
772
772
771
771
771
770
770
770
769
769
770
770
771
771
772
772
773
773
774
775
776
777
779
780
781
783
785
788
791
795
798
799
799
799
798
798
798
798
798
797
797
797
796
796
796
796
796
796
796
796
798
799
801
803
805
807
810
813
816
818
820
821
821
822
822
823
824
828
833
835
835
835
836
837
838
840
841
843
844
846
848
851
853
857
862
867
868
869
872
876
879
881
883
885
887
890
892
894
896
900
901
904
907
911
914
917
920
921
923
925
926
927
928
930
934
938
940
943
944
946
947
949
950
951
952
953
954
955
956
959
959
960
961
962
962
962
963
964
964
965
965
965
965
964
964
963
962
962
961
960
958
956
954
952
952
954
955
956
956
954
954
953
953
954
954
951
948
945
943
942
941
937
934
932
929
925
921
917
915
912
908
904
902
897
893
889
885
883
877
871
866
862
855
846
841
837
834
827
822
818
816
814
814
812
811
809
808
805
800
794
789
787
785
781
777
775
774
771
769
765
761
759
757
757
755
753
751
749
748
745
742
740
739
737
733
729
724
720
717
714
712
710
710
708
706
704
703
702
701
696
692
688
686
683
680
678
676
675
674
672
669
666
666
666
666
666
665
663
661
661
661
661
660
659
658
657
657
656
655
654
654
653
652
652
651
651
650
650
649
649
646
640
634
633
632
631
629
625
618
615
611
605
598
592
591
590
588
587
586
583
581
578
574
571
569
568
567
565
564
562
561
554
547
545
544
540
539
538
536
535
535
532
530
526
523
521
518
517
512
505
501
496
493
488
484
479
473
471
469
469
468
468
466
465
463
462
462
461
461
461
461
462
462
463
464
465
465
467
468
468
469
469
469
470
471
473
475
477
477
478
478
479
483
487
490
493
499
505
509
516
520
532
541
542
549
552
560
564
561
559
558
558
556
556
557
559
563
566
571
578
582
582
582
582
579
578
576
576
582
587
590
593
597
600
604
607
608
609
609
608
608
607
606
606
605
603
602
601
600
599
598
597
596
596
595
594
593
593
592
592
594
596
599
603
604
604
604
604
605
607
610
613
617
622
625
629
633
634
637
639
637
634
631
629
629
630
630
631
632
632
629
628
627
626
626
627
628
629
630
631
632
633
634
635
634
633
632
632
631
630
630
630
631
632
633
634
634
635
635
636
637
637
638
640
642
643
644
645
645
646
647
648
648
647
646
645
645
645
646
646
646
646
646
647
648
650
651
651
652
656
660
663
665
666
666
667
668
669
671
673
674
676
678
679
679
680
681
684
687
690
692
694
696
698
699
700
701
701
701
701
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
702
703
703
704
705
707
708
708
709
709
710
710
710
710
711
711
711
712
712
712
713
714
715
716
718
718
719
720
721
721
723
725
727
730
733
734
737
738
740
741
743
744
745
747
748
750
753
755
757
758
759
761
762
763
764
765
766
766
767
768
769
773
778
783
785
787
789
790
792
795
801
809
817
825
830
835
836
835
833
831
830
828
831
835
840
844
853
862
870
878
884
891
892
893
894
894
895
895
897
898
899
899
901
902
902
902
902
902
902
902
902
902
903
904
904
905
905
906
906
907
912
913
914
915
916
917
917
916
916
916
915
915
914
913
912
911
911
910
909
909
908
906
904
904
903
902
901
901
901
902
902
903
903
903
904
905
906
906
907
907
908
908
909
912
915
917
919
920
922
923
924
925
925
926
927
928
929
930
930
930
930
931
931
931
931
932
932
933
934
935
936
936
937
940
941
941
941
941
939
937
935
933
931
929
926
924
922
920
919
917
917
915
912
911
911
910
908
906
905
904
904
903
903
902
902
901
901
900
899
898
895
892
891
888
883
877
871
867
864
860
859
858
857
857
856
855
854
854
854
854
853
851
850
849
847
843
842
845
847
849
851
852
856
862
863
867
870
869
868
867
856
850
849
843
840
828
820
806
794
788
779
772
767
760
752
744
738
737
737
736
736
736
735
734
733
731
729
727
722
718
716
715
713
710
707
705
703
700
698
697
696
695
695
694
694
694
694
694
694
694
694
694
694
693
693
693
693
693
693
693
693
693
694
695
695
695
694
692
689
688
688
686
684
681
679
676
674
671
668
667
665
663
661
660
661
661
662
662
663
662
661
659
658
657
656
655
655
654
653
653
652
651
651
650
648
646
645
645
645
645
647
648
651
653
655
657
658
658
659
659
658
658
658
657
657
657
656
655
654
651
648
645
643
643
643
642
642
642
642
642
642
642
641
641
641
641
640
640
640
639
639
639
639
639
639
639
639
639
639
639
639
639
639
635
631
628
625
620
618
618
617
616
615
615
615
615
615
615
616
616
617
618
618
618
618
618
618
617
616
615
615
615
614
613
611
610
608
604
601
599
597
597
596
595
594
594
594
594
596
599
605
609
612
614
616
618
622
622
624
627
629
629
629
629
629
630
632
633
633
634
636
637
640
643
645
645
646
646
646
647
647
648
648
649
649
649
646
645
642
640
639
639
639
639
639
639
640
640
641
642
643
644
645
646
648
649
653
658
661
663
665
665
665
665
665
666
666
667
667
669
671
672
676
683
692
702
705
707
710
714
715
716
717
718
717
716
714
712
709
708
706
704
704
704
704
701
697
694
692
692
691
690
689
687
686
683
681
679
678
677
676
676
675
671
666
662
659
656
655
656
657
658
661
663
665
665
664
664
663
662
662
663
665
669
668
666
664
659
655
652
650
647
645
642
639
637
637
636
636
635
635
635
635
635
635
632
625
617
609
601
599
598
598
597
597
596
595
595
594
594
593
593
592
592
591
591
591
590
590
592
594
598
603
606
618
626
631
636
639
638
637
636
634
633
633
633
633
633
633
633
633
633
633
633
634
635
636
637
639
640
639
637
635
634
634
634
634
634
634
633
633
633
632
632
631
630
628
626
625
625
623
620
619
619
623
626
629
630
630
630
630
631
631
629
629
628
628
628
628
628
630
632
632
633
635
635
635
635
635
633
631
630
629
629
625
618
613
607
600
595
592
588
585
582
580
578
575
570
567
564
562
560
558
556
552
551
551
549
547
546
545
544
544
543
541
540
539
539
539
538
538
538
539
540
541
541
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
541
541
540
539
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
539
539
540
540
541
541
541
541
541
541
542
542
543
544
546
547
547
547
547
547
547
547
546