587
587
587
587
587
587
587
588
588
589
590
589
587
587
588
589
589
589
589
590
593
596
601
604
608
610
614
613
610
609
607
603
600
601
601
602
604
606
604
603
600
598
595
594
594
593
592
591
590
589
589
588
587
587
588
588
589
590
593
593
593
594
593
592
592
593
598
599
602
601
600
596
594
591
590
590
592
593
596
598
599
596
594
592
589
588
583
573
571
568
566
564
565
567
574
577
576
574
568
568
567
566
565
564
556
555
554
552
550
550
549
549
553
552
551
551
550
550
550
548
548
547
542
540
537
529
528
526
525
523
522
521
521
522
522
523
529
531
533
530
527
524
521
519
517
515
514
514
513
512
512
510
510
512
512
512
512
512
511
501
500
500
500
500
500
500
503
506
506
504
500
498
497
496
494
492
491
491
491
491
491
492
496
496
495
493
493
493
493
489
489
489
489
487
486
486
486
486
487
490
493
496
500
510
511
513
515
518
521
524
528
530
533
536
536
538
541
544
546
551
553
556
559
563
565
566
568
573
575
578
579
581
585
586
587
590
595
599
599
600
600
601
602
604
607
609
614
614
614
614
614
614
618
621
625
625
625
626
626
626
625
624
623
622
623
628
631
635
638
640
641
642
643
644
648
651
657
659
660
659
658
657
650
649
648
648
649
651
654
658
662
665
670
674
677
682
685
688
693
698
702
702
703
703
703
704
706
707
713
717
719
722
725
726
726
726
728
742
745
743
741
736
738
741
749
761
764
761
757
757
760
763
768
771
774
777
777
776
777
781
784
791
792
795
800
804
811
809
808
808
807
810
814
815
818
822
823
822
818
815
816
823
829
833
837
837
835
835
834
835
838
847
851
855
859
856
851
848
847
852
855
860
865
868
871
871
871
871
872
872
871
868
866
864
862
863
865
868
871
876
881
883
887
888
891
893
895
899
902
904
906
908
910
911
912
913
914
915
916
918
920
921
923
925
929
931
934
936
937
939
939
939
939
940
943
945
947
949
950
951
953
953
953
953
953
956
962
966
970
973
976
979
979
980
980
983
986
989
992
996
998
1001
1002
1005
1007
1008
1008
1009
1009
1008
1008
1007
1008
1011
1014
1018
1020
1024
1028
1031
1038
1039
1036
1035
1033
1033
1032
1030
1028
1027
1029
1031
1038
1041
1043
1046
1048
1046
1046
1045
1045
1044
1043
1042
1041
1040
1039
1038
1038
1038
1039
1039
1037
1036
1035
1032
1030
1030
1030
1030
1030
1030
1031
1033
1034
1034
1034
1033
1033
1034
1039
1042
1042
1042
1042
1041
1040
1039
1045
1044
1042
1042
1045
1048
1051
1052
1054
1051
1049
1048
1048
1048
1048
1048
1048
1047
1045
1044
1044
1043
1042
1042
1043
1043
1044
1044
1047
1048
1048
1046
1043
1043
1049
1051
1054
1054
1051
1051
1051
1053
1054
1054
1053
1052
1050
1047
1032
1029
1031
1030
1029
1029
1027
1024
1019
1014
1011
1007
999
1001
1003
1003
1001
1000
999
997
994
993
992
992
991
984
980
984
991
998
990
985
980
967
963
963
964
965
966
969
970
972
973
974
969
966
970
976
977
977
971
969
965
966
968
969
971
971
974
976
976
975
974
973
973
973
972
972
956
958
967
969
966
961
960
961
962
964
964
964
965
964
962
962
961
961
960
959
959
958
954
954
950
948
946
946
946
946
944
940
935
930
926
921
920
918
915
914
913
911
908
908
907
906
902
900
900
899
896
893
892
893
893
890
888
886
885
883
882
877
876
876
876
876
876
876
878
881
883
884
885
886
887
887
887
887
884
883
880
878
878
878
878
878
878
878
878
878
878
880
882
885
887
891
893
895
897
903
906
908
911
913
916
921
924
926
928
935
943
950
953
955
955
955
955
957
959
962
968
970
973
976
977
979
980
981
984
985
987
990
991
993
997
1000
1003
1006
1009
1013
1014
1016
1023
1032
1035
1037
1043
1045
1051
1052
1060
1067
1071
1071
1074
1080
1086
1091
1096
1098
1099
1101
1101
1101
1100
1100
1102
1105
1107
1108
1109
1110
1110
1112
1114
1115
1119
1122
1125
1133
1139
1147
1151
1153
1154
1155
1155
1156
1156
1157
1158
1158
1158
1159
1160
1160
1161
1161
1162
1163
1163
1164
1164
1165
1165
1167
1172
1173
1177
1180
1182
1183
1186
1187
1188
1188
1188
1189
1190
1191
1192
1192
1192
1193
1193
1193
1193
1194
1194
1194
1194
1194
1194
1194
1194
1194
1194
1193
1193
1193
1193
1193
1193
1194
1196
1196
1198
1199
1199
1199
1199
1199
1196
1192
1188
1185
1185
1185
1182
1173
1166
1163
1158
1146
1148
1146
1139
1114
1116
1117
1119
1123
1126
1125
1122
1119
1117
1116
1115
1113
1110
1107
1104
1102
1100
1098
1095
1094
1092
1088
1087
1087
1088
1088
1088
1089
1089
1090
1090
1091
1091
1091
1093
1093
1094
1094
1095
1095
1092
1086
1081
1076
1070
1070
1072
1074
1077
1078
1079
1080
1081
1088
1088
1082
1080
1079
1078
1075
1072
1068
1065
1061
1058
1054
1055
1056
1057
1058
1060
1061
1062
1067
1066
1066
1066
1066
1065
1064
1061
1060
1059
1057
1056
1054
1052
1052
1050
1050
1050
1049
1048
1046
1044
1039
1039
1039
1038
1038
1038
1038
1037
1037
1035
1034
1033
1032
1031
1031
1030
1029
1027
1024
1022
1022
1022
1022
1022
1023
1023
1023
1023
1023
1023
1018
1012
1008
1007
1005
1004
1004
1003
1003
1003
1003
1002
1002
1002
1002
1002
1000
1001
1001
1003
1006
1007
1007
1006
1004
1003
1001
997
996
994
989
987
987
986
986
986
982
981
981
980
980
979
978
978
977
976
971
969
968
968
967
966
966
966
966
966
966
966
966
966
966
965
964
964
963
962
961
958
954
946
941
940
940
940
940
940
939
936
936
935
935
934
934
934
933
932
927
923
919
914
912
910
908
906
905
903
903
902
901
901
900
899
899
898
897
896
896
895
895
891
891
890
890
890
889
889
889
889
889
889
889
888
886
884
880
878
878
876
876
874
873
873
874
875
876
878
876
877
883
884
883
873
870
868
862
854
853
853
852
852
852
852
852
852
852
852
852
852
852
852
852
852
858
858
859
859
859
860
862
863
863
863
863
863
863
863
863
862
862
862
859
855
851
846
842
837
837
836
836
832
828
825
820
817
811
811
810
805
806
809
813
814
815
816
818
820
828
829
836
839
840
840
840
840
849
849
850
850
850
851
854
856
858
860
862
862
862
864
867
869
871
873
875
876
879
881
885
889
890
891
892
894
896
898
901
903
905
911
911
911
911
910
908
907
905
904
904
904
905
906
906
907
907
909
909
907
906
906
905
904
904
902
901
900
899
899
898
897
896
895
895
893
893
893
892
892
889
888
884
882
880
879
878
878
874
871
866
865
864
863
861
861
859
858
857
857
856
856
856
856
856
856
855
855
855
854
854
854
854
855
855
856
855
852
850
849
848
848
847
846
846
845
845
845
845
845
845
845
845
845
845
845
845
845
846
846
846
842
838
840
828
827
827
827
827
827
826
817
804
797
795
794
793
792
791
789
785
782
779
775
770
769
768
765
764
762
762
762
762
762
762
761
758
757
756
755
752
751
749
745
740
738
737
736
735
733
731
720
718
717
717
716
715
715
714
712
712
712
711
712
713
713
710
707
702
699
692
691
690
689
687
686
685
684
683
682
682
681
680
679
679
678
672
667
661
660
658
656
655
655
655
655
654
652
650
650
648
641
640
639
635
633
632
630
626
625
624
623
622
621
621
620
620
620
620
620
620
620
620
620
621
623
624
628
629
630
633
635
638
641
641
640
640
646
647
654
656
656
657
657
658
658
659
659
658
656
654
652
648
648
648
651
652
652
648
646
644
641
639
638
637
635
632
630
624
623
621
617
617
618
618
610
606
605
599
598
597
595
595
594
589
593
597
602
605
604
602
599
598
596
595
594
594
593
596
598
597
594
591
588
584
581
575
572
567
565
567
568
570
571
573
574
576
576
576
575
562
558
556
555
554
553
550
550
550
550
550
550
550
550
555
557
555
553
551
550
548
545
543
542
537
536
533
526
524
524
524
525
525
526
526
527
527
529
529
531
532
535
541
544
542
534
528
530
530
531
532
538
544
548
552
550
548
548
552
555
564
564
565
575
581
586
590
602
609
613
611
609
607
605
603
602
599
594
580
578
582
590
594
599
599
599
598
598
600
603
607
609
614
624
625
627
628
630
631
631
631
632
637
638
642
648
651
656
657
659
661
664
666
666
668
674
677
686
689
690
690
691
691
692
692
693
695
696
696
696
700
700
703
707
711
715
718
721
730
732
734
739
743
747
747
747
748
750
755
761
765
767
770
770
770
770
774
777
780
784
786
792
795
796
797
798
799
802
803
804
805
807
808
820
824
825
826
826
827
827
827
826
825
825
828
831
833
835
846
848
851
853
854
854
856
856
856
857
857
858
859
861
862
863
865
866
868
869
869
869
870
870
871
873
874
877
881
883
884
886
886
886
886
886
886
886
886
888
889
890
893
894
895
896
897
897
898
899
900
901
904
906
909
913
921
922
923
924
924
926
926
926
926
926
926
925
925
925
924
924
924
924
926
929
932
934
935
936
937
938
939
940
942
945
945
946
947
949
952
962
961
960
959
958
957
961
962
964
965
968
972
972
972
973
975
977
979
984
986
988
991
998
998
998
997
997
996
997
998
1001
1004
1007
1004
1002
1000
999
997
994
995
996
998
999
1001
1002
1004
1011
1017
1019
1016
1015
1014
1013
1012
1015
1016
1017
1018
1016
1014
1012
1010
1008
1007
1007
1007
1008
1008
1008
1008
1008
1008
1008
1007
1007
1006
1005
1004
1004
1005
1006
1006
1009
1011
1022
1024
1026
1028
1029
1029
1028
1028
1027
1026
1026
1025
1019
1019
1019
1020
1020
1023
1024
1026
1028
1028
1029
1034
1037
1041
1046
1048
1050
1051
1051
1051
1051
1052
1053
1055
1056
1057
1058
1059
1061
1067
1073
1077
1082
1089
1093
1095
1095
1095
1094
1094
1093
1093
1092
1092
1092
1092
1092
1093
1093
1094
1096
1097
1098
1098
1099
1102
1110
1112
1114
1117
1123
1123
1123
1123
1122
1122
1122
1121
1122
1123
1123
1124
1124
1125
1130
1132
1133
1133
1134
1137
1138
1139
1140
1143
1144
1144
1144
1145
1145
1145
1146
1146
1146
1147
1150
1151
1151
1152
1152
1152
1153
1153
1154
1157
1176
1176
1178
1178
1179
1198
1202
1204
1201
1199
1199
1197
1196
1195
1197
1198
1200
1202
1208
1209
1211
1213
1215
1221
1226
1226
1226
1226
1226
1226
1226
1225
1225
1224
1224
1224
1225
1227
1227
1226
1225
1223
1212
1203
1203
1203
1203
1200
1199
1198
1197
1197
1196
1196
1196
1195
1195
1197
1197
1198
1198
1196
1192
1191
1189
1189
1188
1188
1188
1188
1188
1187
1187
1186
1185
1184
1182
1178
1177
1172
1171
1170
1167
1166
1165
1165
1164
1164
1163
1163
1163
1160
1159
1158
1157
1155
1154
1145
1142
1142
1141
1141
1141
1140
1140
1139
1139
1138
1138
1137
1131
1127
1124
1122
1119
1114
1112
1109
1107
1103
1102
1101
1101
1098
1095
1092
1089
1082
1079
1079
1077
1074
1070
1069
1068
1066
1065
1064
1064
1064
1064
1056
1055
1054
1054
1053
1053
1053
1053
1052
1049
1048
1045
1042
1041
1041
1041
1041
1041
1041
1041
1040
1038
1034
1027
1028
1029
1030
1030
1031
1037
1039
1040
1042
1041
1039
1038
1041
1042
1043
1045
1046
1047
1048
1050
1049
1049
1048
1046
1045
1046
1049
1051
1054
1055
1057
1057
1055
1053
1053
1054
1055
1057
1063
1066
1068
1067
1064
1063
1062
1061
1061
1061
1061
1061
1062
1063
1064
1064
1065
1065
1066
1067
1068
1068
1070
1078
1079
1080
1081
1082
1084
1085
1087
1087
1085
1083
1077
1078
1081
1082
1084
1084
1087
1089
1089
1089
1090
1091
1091
1092
1092
1090
1089
1088
1088
1088
1088
1088
1088
1089
1089
1090
1091
1092
1092
1092
1093
1092
1092
1091
1091
1094
1096
1098
1102
1107
1107
1107
1107
1107
1107
1108
1109
1110
1112
1112
1113
1112
1111
1110
1109
1104
1103
1103
1104
1109
1112
1112
1112
1112
1113
1113
1113
1114
1116
1118
1119
1120
1119
1118
1118
1117
1117
1117
1117
1116
1115
1114
1114
1112
1111
1110
1109
1108
1107
1107
1105
1104
1102
1101
1099
1097
1098
1099
1101
1102
1102
1099
1098
1098
1095
1094
1094
1094
1095
1095
1095
1095
1095
1095
1095
1095
1095
1094
1093
1092
1091
1091
1090
1089
1088
1087
1085
1083
1083
1085
1086
1087
1088
1087
1086
1083
1082
1082
1081
1079
1077
1071
1066
1064
1061
1060
1059
1058
1057
1057
1055
1052
1049
1046
1042
1042
1043
1043
1043
1041
1039
1037
1035
1033
1031
1024
1022
1021
1021
1017
1017
1016
1015
1013
1012
1012
1012
1012
1012
1012
1003
1003
1002
1002
1001
1001
1001
1001
1001
1007
1007
1008
1010
1011
1008
1005
1003
1001
999
997
992
992
993
994
994
998
997
993
991
990
988
986
982
978
965
962
961
961
959
954
948
944
942
936
932
932
932
932
932
931
931
931
931
930
928
926
921
918
913
912
911
908
897
885
885
885
885
885
885
885
886
886
885
884
883
881
875
872
868
866
862
860
862
862
860
855
850
847
841
841
841
841
832
830
828
826
825
825
826
826
826
823
820
808
807
806
805
803
800
798
797
794
793
794
794
793
784
778
772
768
764
761
758
757
757
752
746
743
738
730
729
722
716
716
716
712
708
706
705
703
701
700
687
681
661
653
651
644
636
634
631
626
622
616
613
608
606
605
604
603
601
598
598
599
599
595
591
587
586
584
582
580
578
575
572
571
569
568
567
566
563
562
560
558
555
555
556
556
556
556
554
553
552
547
545
540
537
535
533
529
526
526
526
526
526
527
527
528
529
530
530
530
529
529
529
526
524
522
521
520
520
519
519
518
517
514
510
507
505
503
495
493
493
493
493
493
493
478
477
477
477
477
477
477
477
477
477
477
477
478
478
479
479
480
480
480
481
482
483
487
488
489
491
492
493
494
496
497
499
502
503
505
513
516
520
523
525
527
529
532
534
536
537
538
544
547
553
558
562
565
566
567
568
570
571
572
577
580
583
584
585
589
590
592
597
599
600
600
601
602
605
608
611
612
614
615
615
615
616
620
625
625
626
626
626
624
624
622
621
622
626
628
631
635
637
639
641
641
643
644
645
649
658
660
654
652
650
649
646
646
648
649
650
650
651
653
654
655
655
656
656
657
657
656
656
656
657
657
657
657
656
656
656
656
657
658
658
655
651
650
643
637
640
642
643
646
648
647
646
645
643
642
640
638
635
633
631
627
626
621
620
618
617
616
615
615
614
612
609
606
602
600
598
597
596
595
594
591
591
591
589
587
582
582
582
582
582
580
579
578
576
577
579
581
581
582
583
583
585
586
586
587
587
588
588
588
588
588
588
589
590
595
597
598
599
604
605
605
607
609
610
613
614
617
621
630
633
634
634
636
636
638
638
639
639
638
638
637
637
639
639
643
649
651
652
654
654
655
656
657
658
659
661
663
666
669
670
672
675
675
676
677
678
685
688
691
694
699
699
699
699
699
699
700
700
701
702
704
707
709
710
712
713
714
717
719
720
722
727
729
732
732
733
733
733
734
734
735
738
738
741
741
742
742
744
745
746
746
747
747
747
748
748
748
749
749
750
753
754
755
768
772
774
776
775
774
773
771
771
770
770
770
771
773
774
775
776
782
783
784
784
785
786
787
788
789
790
800
801
802
803
804
804
805
806
807
807
809
811
813
814
814
815
816
818
819
822
823
825
826
827
828
829
831
832
832
833
833
833
833
833
834
834
835
838
839
840
841
843
844
846
847
849
852
856
856
856
857
858
859
861
861
862
863
865
865
867
868
870
871
873
873
874
875
875
876
877
878
879
881
883
886
887
888
889
891
892
893
896
897
897
898
899
899
900
901
901
902
903
905
906
906
906
913
915
917
918
921
927
932
933
934
934
937
938
940
942
944
945
946
948
951
952
952
950
950
950
951
953
954
956
957
958
959
960
964
966
968
974
975
976
978
979
981
982
984
985
986
986
987
987
988
988
988
989
990
991
993
994
996
996
997
1002
1004
1006
1015
1021
1024
1028
1030
1033
1034
1034
1035
1036
1036
1037
1040
1048
1050
1055
1057
1058
1059
1061
1062
1066
1070
1073
1075
1076
1079
1081
1082
1085
1085
1086
1087
1088
1088
1089
1090
1091
1091
1091
1091
1091
1092
1095
1095
1095
1095
1095
1095
1095
1096
1097
1098
1099
1101
1102
1103
1104
1106
1117
1119
1128
1131
1134
1135
1135
1135
1135
1136
1137
1137
1139
1140
1146
1149
1149
1150
1151
1153
1153
1154
1155
1157
1158
1160
1161
1163
1164
1165
1168
1172
1179
1181
1182
1184
1185
1187
1189
1191
1194
1194
1195
1195
1195
1196
1196
1199
1200
1200
1201
1203
1204
1205
1206
1207
1208
1208
1209
1209
1210
1211
1211
1212
1212
1213
1214
1214
1215
1217
1218
1219
1222
1225
1226
1226
1230
1232
1233
1234
1238
1239
1239
1240
1240
1241
1241
1241
1242
1242
1243
1244
1247
1248
1250
1252
1256
1257
1259
1259
1260
1261
1262
1262
1263
1263
1264
1264
1264
1264
1264
1264
1264
1265
1267
1269
1270
1271
1273
1274
1275
1276
1276
1278
1285
1286
1288
1293
1294
1295
1300
1300
1304
1304
1304
1304
1304
1305
1305
1306
1306
1307
1307
1309
1310
1311
1313
1316
1319
1319
1321
1326
1328
1329
1330
1331
1333
1332
1332
1332
1331
1331
1331
1331
1331
1331
1331
1331
1331
1332
1334
1335
1337
1339
1341
1342
1342
1343
1344
1345
1346
1347
1351
1351
1352
1353
1354
1354
1355
1355
1356
1356
1357
1357
1357
1357
1358
1359
1360
1361
1362
1363
1364
1365
1369
1371
1371
1371
1371
1372
1376
1377
1379
1382
1387
1389
1390
1391
1392
1395
1397
1397
1397
1398
1398
1399
1399
1399
1400
1406
1408
1409
1410
1412
1413
1414
1415
1415
1416
1417
1419
1421
1421
1422
1424
1426
1428
1429
1429
1435
1436
1436
1439
1444
1444
1444
1444
1444
1445
1445
1445
1446
1450
1454
1461
1464
1468
1469
1471
1473
1475
1476
1479
1480
1481
1481
1481
1482
1482
1482
1482
1483
1483
1483
1483
1483
1483
1484
1484
1484
1485
1485
1487
1491
1492
1494
1494
1495
1495
1496
1496
1497
1497
1497
1498
1498
1500
1501
1503
1505
1511
1517
1518
1519
1521
1523
1525
1525
1525
1525
1525
1526
1526
1526
1526
1526
1527
1527
1530
1531
1533
1534
1538
1539
1542
1544
1546
1548
1549
1550
1551
1551
1553
1553
1554
1555
1555
1556
1556
1556
1556
1556
1556
1556
1560
1560
1562
1564
1565
1565
1566
1567
1568
1570
1571
1571
1571
1571
1571
1571
1571
1571
1571
1571
1571
1572
1573
1574
1575
1577
1578
1579
1579
1580
1581
1582
1583
1583
1583
1583
1584
1584
1584
1587
1588
1589
1592
1595
1595
1595
1595
1595
1595
1595
1595
1595
1595
1595
1596
1598
1599
1601
1602
1603
1605
1605
1605
1606
1606
1606
1607
1607
1608
1614
1617
1618
1618
1621
1622
1625
1626
1629
1631
1632
1633
1633
1634
1635
1636
1637
1638
1640
1640
1640
1640
1640
1641
1641
1641
1641
1641
1641
1642
1644
1645
1649
1650
1651
1653
1654
1655
1657
1659
1662
1663
1666
1671
1672
1674
1676
1677
1678
1680
1681
1683
1683
1685
1687
1689
1692
1695
1696
1695
1694
1694
1693
1692
1692
1693
1695
1702
1704
1705
1706
1707
1708
1709
1710
1711
1712
1714
1716
1721
1723
1727
1730
1736
1738
1738
1739
1740
1747
1747
1747
1747
1748
1748
1748
1748
1748
1751
1753
1754
1756
1757
1759
1760
1762
1762
1762
1762
1765
1768
1771
1773
1774
1776
1777
1778
1784
1785
1787
1792
1793
1793
1793
1794
1794
1794
1794
1794
1794
1795
1796
1800
1808
1810
1813
1813
1813
1813
1813
1814
1814
1814
1814
1814
1815
1815
1816
1816
1817
1818
1819
1821
1822
1823
1824
1825
1826
1828
1829
1831
1833
1836
1840
1843
1845
1848
1851
1853
1855
1859
1861
1862
1863
1866
1868
1874
1878
1880
1881
1882
1883
1884
1885
1887
1894
1895
1897
1900
1903
1903
1904
1904
1905
1905
1906
1908
1910
1911
1912
1913
1920
1923
1925
1926
1929
1931
1936
1942
1944
1946
1949
1952
1955
1959
1960
1969
1970
1970
1971
1971
1972
1976
1979
1981
1982
1985
1987
1988
1990
1991
1993
1994
1995
1995
1997
2000
2005
2008
2012
2013
2014
2015
2015
2016
2017
2017
2018
2021
2023
2025
2026
2031
2033
2038
2044
2050
2056
2058
2061
2063
2065
2067
2069
2070
2071
2072
2073
2075
2078
2081
2086
2089
2089
2090
2090
2090
2090
2090
2091
2092
2094
2096
2097
2099
2100
2105
2108
2109
2110
2115
2115
2116
2116
2118
2122
2127
2134
2138
2141
2142
2142
2144
2144
2145
2145
2147
2148
2149
2152
2155
2155
2156
2168
2169
2171
2171
2172
2174
2177
2180
2185
2189
2192
2197
2204
2207
2210
2216
2223
2231
2234
2237
2240
2241
2245
2254
2255
2255
2256
2257
2258
2260
2262
2265
2267
2267
2267
2267
2267
2267