447
447
449
450
450
450
450
459
459
461
461
462
465
467
470
479
480
486
488
489
491
497
495
497
497
506
508
512
518
530
535
541
556
558
561
563
570
571
582
588
598
604
617
619
639
640
637
626
619
609
603
596
591
590
590
590
590
591
591
591
592
592
593
593
593
594
594
594
595
595
595
595
595
595
595
595
595
595
595
595
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
595
595
595
595
595
595
595
595
595
595
595
595
594
594
594
594
594
593
593
593
593
592
591
591
591
591
591
594
595
596
596
596
597
597
597
598
598
599
600
600
600
603
603
604
604
604
605
605
605
606
606
606
607
609
609
610
610
611
612
613
613
614
614
617
618
619
623
625
625
627
628
630
632
632
633
636
638
638
637
636
636
635
635
634
634
633
633
632
630
630
629
628
628
628
628
627
626
625
624
623
622
621
620
620
619
619
618
617
615
614
613
612
611
610
610
610
609
606
606
606
606
606
606
606
606
606
606
606
604
604
604
603
603
603
602
602
602
600
600
600
599
599
598
597
597
597
596
595
595
595
595
595
595
595
595
595
595
596
596
596
596
596
596
596
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
599
601
601
603
603
604
605
605
606
607
607
608
608
608
610
610
611
612
612
612
614
615
617
617
617
617
617
617
618
618
618
618
618
618
618
618
618
618
618
618
618
619
619
620
621
621
622
623
623
623
624
624
625
626
626
626
627
628
629
629
629
629
631
631
633
634
635
638
640
641
642
642
643
643
644
645
645
645
646
647
648
648
648
648
647
646
645
643
643
643
642
642
641
641
641
640
637
636
635
632
631
627
626
625
625
623
623
622
620
619
619
620
620
621
622
622
623
623
624
624
624
624
625
625
626
626
627
627
627
628
626
624
623
623
622
618
617
616
615
612
610
609
608
607
605
604
603
602
599
598
597
590
590
588
588
588
588
587
587
587
587
587
587
587
586
585
584
582
581
580
578
578
578
577
576
576
575
572
571
570
570
569
568
568
567
566
564
564
563
562
561
560
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
558
558
558
558
557
557
557
557
557
557
557
557
556
556
556
556
556
556
556
556
556
557
559
559
559
558
558
558
559
559
560
562
566
568
569
574
581
596
599
598
598
623
633
639
664
682
699
713
731
755
743
743
750
745
724
714
703
724
745
757
768
793
802
817
820
822
823
815
806
801
796
796
798
794
778
777
777
778
781
782
773
760
763
784
827
838
834
823
797
796
811
822
808
802
798
797
788
791
790
785
786
825
838
856
889
902
920
928
913
847
856
872
878
869
864
859
856
840
832
851
863
861
851
844
834
836
836
836
836
836
836
836
836
836
836
836
837
837
837
837
837
838
838
838
838
838
838
838
839
839
840
840
840
840
843
843
844
847
849
849
849
850
850
850
850
850
851
851
851
851
851
851
852
852
852
852
852
853
853
853
853
854
854
854
854
854
854
854
854
855
855
855
855
855
855
855
855
855
856
856
856
856
856
856
856
856
856
856
856
856
856
855
855
855
855
855
855
855
855
855
855
855
855
855
855
855
856
856
857
857
857
857
857
860
860
861
861
863
863
864
864
864
865
866
867
870
871
873
875
880
881
882
882
885
886
887
888
890
890
891
892
894
896
899
902
903
905
907
931
970
982
990
998
1006
1019
1014
986
989
992
993
1040
1047
1058
1066
1074
1080
1087
1102
1065
1034
1015
1012
1001
988
975
971
970
970
970
970
970
969
969
969
969
968
967
967
966
965
965
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
965
965
965
965
965
965
965
965
965
965
965
965
966
966
966
966
967
967
967
967
967
967
968
968
968
968
969
969
969
969
969
969
969
970
970
970
970
970
971
971
971
971
971
971
971
972
972
973
973
973
973
975
975
976
977
978
978
979
979
979
981
982
983
983
984
985
985
986
986
986
987
988
988
988
989
989
992
993
993
994
995
996
999
1005
1009
1009
1009
1010
1010
1011
1012
1012
1013
1014
1016
1017
1018
1018
1018
1019
1020
1023
1025
1026
1029
1031
1033
1034
1035
1038
1039
1042
1045
1048
1053
1054
1059
1060
1062
1064
1066
1071
1073
1078
1080
1081
1083
1084
1084
1085
1086
1087
1088
1090
1090
1091
1092
1093
1093
1094
1095
1096
1096
1097
1098
1099
1101
1102
1103
1104
1106
1107
1109
1112
1115
1116
1117
1118
1120
1121
1122
1123
1125
1127
1128
1132
1133
1133
1135
1135
1136
1136
1137
1138
1140
1140
1141
1142
1142
1143
1146
1148
1149
1150
1151
1152
1153
1155
1155
1155
1156
1156
1158
1158
1159
1160
1161
1161
1162
1163
1164
1165
1167
1170
1171
1174
1174
1174
1176
1176
1177
1177
1178
1179
1179
1179
1180
1181
1183
1184
1184
1185
1186
1187
1188
1188
1189
1191
1192
1193
1194
1196
1197
1198
1198
1198
1199
1200
1201
1202
1204
1207
1209
1211
1212
1215
1216
1219
1223
1225
1227
1228
1230
1231
1232
1233
1233
1237
1239
1240
1243
1244
1246
1247
1248
1249
1249
1252
1252
1252
1253
1254
1256
1257
1259
1259
1259
1259
1257
1256
1252
1251
1247
1246
1243
1241
1239
1239
1238
1237
1237
1236
1235
1229
1226
1225
1224
1223
1220
1219
1218
1217
1217
1216
1215
1215
1214
1213
1212
1210
1209
1208
1207
1203
1202
1201
1201
1200
1199
1198
1196
1195
1193
1191
1189
1188
1187
1186
1185
1184
1184
1184
1184
1184
1184
1184
1183
1183
1183
1183
1183
1183
1182
1182
1182
1181
1181
1181
1181
1180
1180
1180
1179
1179
1179
1178
1178
1178
1178
1178
1177
1177
1177
1177
1177
1176
1176
1176
1176
1176
1175
1173
1171
1169
1168
1165
1163
1162
1162
1161
1160
1160
1160
1159
1157
1157
1156
1156
1154
1154
1153
1152
1148
1146
1143
1142
1139
1135
1132
1128
1120
1119
1117
1114
1108
1105
1103
1096
1090
1085
1078
1075
1073
1065
1051
1047
1044
1041
1040
1039
1037
1033
1025
1024
1022
1015
1012
1009
1001
997
991
984
981
979
977
977
973
970
968
967
966
965
962
960
958
952
944
937
934
931
931
931
930
929
927
925
925
924
922
921
920
919
919
918
917
914
914
914
913
913
912
911
908
906
905
903
902
901
898
897
896
895
891
889
886
885
884
883
880
879
877
876
875
875
873
871
870
869
866
866
865
863
863
862
861
861
860
860
860
858
856
856
855
851
848
847
843
841
839
839
839
839
839
839
838
838
838
838
838
838
838
838
838
838
838
838
838
839
841
843
843
848
849
850
851
852
853
853
853
853
854
854
857
860
860
862
863
865
866
867
870
872
874
876
877
879
881
882
884
889
892
901
904
909
911
914
923
934
941
946
947
950
951
951
953
955
970
974
977
979
980
980
981
983
988
991
997
998
998
999
1000
1001
1006
1007
1012
1014
1015
1018
1022
1023
1024
1027
1029
1030
1031
1031
1032
1036
1039
1040
1041
1042
1043
1044
1049
1050
1052
1053
1062
1068
1072
1078
1084
1089
1091
1092
1093
1094
1094
1095
1097
1099
1100
1101
1101
1102
1105
1106
1107
1109
1110
1115
1118
1125
1127
1128
1129
1130
1131
1132
1132
1133
1133
1134
1134
1134
1134
1134
1136
1136
1136
1136
1137
1137
1137
1138
1138
1138
1138
1138
1138
1138
1134
1134
1133
1132
1132
1130
1128
1126
1124
1123
1123
1122
1119
1117
1115
1112
1111
1109
1108
1107
1106
1104
1102
1100
1096
1094
1091
1089
1084
1082
1080
1079
1078
1070
1069
1066
1061
1058
1057
1044
1037
1036
1032
1032
1030
1028
1028
1026
1026
1024
1023
1022
1021
1019
1017
1016
1013
1010
1009
1007
1005
1004
1001
992
989
987
982
981
979
975
973
971
969
959
956
949
940
938
935
932
926
922
920
918
917
915
909
905
902
895
895
894
894
893
893
892
891
891
890
889
886
886
881
881
880
879
878
875
873
870
869
867
865
865
863
861
859
859
857
852
850
849
849
847
846
840
838
832
830
828
826
825
822
821
818
816
813
813
807
806
805
802
800
801
803
804
805
805
807
808
809
809
811
811
811
811
811
811
811
811
811
811
810
810
810
810
810
810
811
813
814
816
818
820
828
830
830
830
830
830
830
830
830
830
830
830
829
829
829
829
829
829
828
828
828
828
828
828
827
827
827
827
827
827
827
827
826
826
826
826
825
824
824
824
822
820
820
819
818
816
813
813
810
809
806
800
793
791
790
789
788
787
786
785
784
783
782
781
779
778
777
773
772
770
766
762
760
759
757
754
752
751
750
749
746
744
742
741
740
739
737
734
732
731
728
726
725
722
717
712
708
701
700
699
697
693
691
690
688
688
687
686
683
680
677
675
673
666
664
663
661
660
658
657
656
654
645
642
641
639
639
639
638
638
638
637
636
634
632
631
629
629
629
629
628
628
628
627
627
627
627
626
626
626
625
625
625
625
625
622
621
621
619
617
617
617
617
616
616
615
615
614
614
614
614
614
614
614
615
615
615
615
615
616
616
616
616
616
616
616
616
616
616
616
616
616
615
614
614
614
613
613
613
613
612
612
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
611
612
612
612
613
613
614
614
614
615
615
615
615
616
617
617
617
617
617
617
617
617
617
617
614
613
612
612
612
612
612
612
611
610
610
610
607
607
607
607
607
607
607
607
607
606
606
606
605
605
604
604
604
604
604
604
604
604
604
605
605
605
605
605
606
606
615
616
618
618
621
624
628
628
629
634
634
637
640
641
642
643
644
645
646
652
654
655
656
661
674
675
676
677
677
678
679
680
681
686
688
691
692
693
694
698
701
702
703
710
712
714
716
717
719
722
725
727
729
730
736
739
745
751
755
757
760
763
765
768
770
773
778
783
784
787
789
792
800
803
804
806
807
809
811
812
813
816
817
821
829
831
838
842
845
853
856
859
860
862
866
868
869
871
872
874
882
886
890
892
897
903
909
915
916
930
934
936
939
945
948
951
956
962
966
969
972
975
980
988
991
995
997
1002
1003
1005
1008
1012
1012
1012
1011
1010
1010
1009
1009
1009
1008
1008
1008
1007
1007
1007
1006
1005
1005
1004
1004
1003
957
906
863
810
692
664
631
618
594
589
596
611
613
611
605
592
578
576
571
570
573
576
577
577
580
580
580
610
627
649
659
662
677
684
692
710
732
739
722
711
707
708
729
810
886
906
929
955
993
967
965
966
967
970
974
994
987
989
993
993
1007
1018
1041
1069
1070
1072
1088
1095
1099
1125
1139
1158
1158
1185
1220
1246
1262
1272
1287
1307
1338
1345
1354
1372
1333
1326
1315
1259
1243
1228
1221
1209
1127
1106
1091
1073
1082
1090
1117
1115
1089
1080
1066
1056
1029
1012
993
962
945
945
945
951
956
958
953
949
948
950
954
945
921
889
864
851
853
852
847
832
818
794
785
779
775
760
734
729
726
724
713
712
712
709
700
686
664
629
619
579
574
572
569
548
554
556
565
565
552
536
533
533
532
534
508
506
498
508
497
474
459
465
478
486
450
460
445
433
419
407
405
379
366
361
359
351
332
327
325
325
325
325
319
316
309
304
297
293
291
295
288
284
286
281
269
266
261
252
252
246
246
246
246
247
250
250
247
247
246
246
246
240
232
230
228
226
225
224
223
222
219
219
219
219
217
216
212
212
212
211
211
222
209
209
210
210
208
207
210
209
207
205
250
259
253
225
226
227
203
198
194
192
190
189
189
186
190
201
206
192
190
194
196
185
185
195
200
184
179
187
185
185
181
176
180
182
180
180
176
176
200
219
206
195
198
200
201
216
220
225
222
231
243
253
257
259
243
168
159
141
126
72
72
81
73
70
68
70
73
75
75
74
72
68
66
68
70
71
68
74
86
95
83
74
78
76
74
73
92
75
73
71
70
69
81
81
83
86
83
75
70
74
71
70
71
72
67
66
67
67
69
71
100
139
230
252
259
276
281
261
223
120
92
74
78
87
94
88
80
81
101
108
115
126
140
146
151
161
164
160
154
150
149
121
128
133
125
126
127
123
123
120
107
97
95
89
86
79
72
63
63
63
63
64
65
62
61
57
51
46
46
47
28
29
29
29
29
29
29
29
27
27
27
27
31
30
29
26
23
31
25
30
30
25
20
20
24
15
16
15
15
14
15
16
16
15
15
15
15
15
16
15
15
16
16
15
14
14
15
15
17
15
17
15
16
14
13
12
13
13
12
11
12
13
21
19
18
16
14
14
11
8
8
8
9
9
9
9
9
9
9
8
8
6
7
6
6
6
6
6
7
7
7
6
4
4
4
4
4
3
2
2
3
2
3
1
0
0
0
0
0
0
0
3
4
0
2
0
0
2
3
4
4
7
7
6
5
5
4
4
4
4
4
4
3
3
3
3
3
3
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
3
3
3
3
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
2
2
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
2
2
2
2
2
2
2
3
3
4
4
5
5
5
5
4
4
3
3
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
2
2
2
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
5
5
4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
3
0
0
0
0
0
3
1
0
0
0
0
0
2
2
1
0
0
0
0
0
2
5
6
6
5
4
4
5
5
5
5
3
4
7
8
10
11
11
26
36
38
52
59
60
61
59
50
49
53
53
53
48
67
69
92
102
107
111
114
113
119
135
135
145
184
236
257
298
305
323
338
398
459
475
501
514
531
556
574
591
610
654
659
668