890
890
890
890
890
890
890
891
891
891
891
891
892
892
892
893
896
896
896
896
896
896
902
902
902
902
902
902
907
907
909
905
904
904
902
895
892
890
885
883
881
882
886
887
887
887
887
887
887
888
889
890
890
894
896
897
898
897
896
895
893
892
891
891
889
888
885
884
882
882
889
892
896
903
904
918
919
920
926
926
926
926
926
926
926
926
926
926
926
926
926
925
919
919
919
918
918
917
914
911
909
885
885
885
885
885
889
889
889
889
889
889
889
889
889
889
889
938
941
948
949
956
961
963
967
969
971
972
977
979
979
981
983
984
986
988
1012
1015
1018
1020
1023
1024
1031
1036
1039
1042
1087
1090
1093
1094
1096
1120
1120
1120
1120
1120
1120
1120
1120
1120
1120
1120
1120
1120
1121
1124
1129
1131
1133
1137
1140
1142
1144
1147
1148
1149
1152
1154
1157
1158
1159
1162
1166
1167
1167
1165
1159
1157
1155
1154
1150
1148
1147
1143
1142
1140
1138
1136
1134
1129
1128
1127
1125
1123
1117
1116
1114
1113
1109
1108
1108
1108
1108
1108
1106
1106
1106
1106
1106
1106
1113
1114
1114
1115
1115
1116
1116
1117
1117
1117
1118
1118
1119
1125
1127
1137
1138
1139
1150
1153
1154
1161
1166
1169
1174
1178
1181
1185
1187
1191
1215
1219
1234
1241
1246
1257
1261
1268
1276
1282
1282
1283
1286
1288
1288
1288
1289
1289
1290
1290
1290
1290
1291
1291
1292
1292
1291
1291
1290
1290
1289
1289
1288
1288
1287
1287
1287
1286
1286
1286
1285
1285
1285
1284
1284
1283
1282
1282
1282
1281
1280
1280
1279
1279
1279
1278
1277
1277
1277
1276
1276
1275
1275
1274
1274
1274
1256
1243
1242
1241
1241
1241
1241
1241
1236
1234
1227
1225
1224
1223
1222
1196
1190
1172
1158
1153
1137
1121
1114
1098
1092
1086
1083
1077
1059
1056
1053
1050
1047
1024
1018
1013
1007
1004
1001
1001
1001
1001
1000
1000
1000
1000
1000
1000
999
999
999
999
999
999
1000
1004
1006
1012
1015
1023
1030
1032
1034
1038
1040
1042
1055
1058
1060
1061
1062
1064
1064
1066
1067
1068
1069
1070
1073
1081
1082
1085
1087
1089
1090
1092
1099
1101
1108
1111
1118
1121
1126
1126
1126
1127
1127
1127
1128
1129
1129
1129
1129
1131
1132
1132
1135
1135
1136
1137
1139
1141
1142
1143
1144
1144
1147
1148
1149
1149
1152
1153
1154
1154
1156
1157
1157
1158
1158
1163
1164
1164
1169
1169
1171
1171
1172
1173
1174
1174
1174
1175
1175
1175
1175
1175
1175
1175
1175
1176
1176
1176
1176
1176
1176
1177
1177
1178
1180
1181
1181
1183
1185
1186
1189
1189
1193
1193
1194
1195
1195
1196
1196
1198
1199
1200
1201
1202
1203
1203
1204
1205
1207
1208
1208
1209
1215
1219
1229
1230
1232
1233
1234
1236
1247
1248
1250
1250
1249
1249
1249
1247
1246
1246
1246
1246
1245
1245
1242
1242
1242
1243
1248
1251
1270
1292
1296
1298
1301
1303
1305
1307
1308
1310
1310
1311
1312
1315
1315
1316
1316
1317
1318
1319
1319
1320
1322
1323
1323
1322
1321
1314
1313
1311
1310
1309
1308
1293
1292
1290
1288
1287
1284
1278
1278
1278
1279
1279
1280
1280
1280
1280
1281
1266
1264
1262
1256
1254
1252
1251
1249
1239
1231
1225
1221
1219
1217
1216
1209
1207
1206
1202
1168
1164
1171
1178
1180
1187
1189
1196
1197
1198
1200
1202
1204
1208
1210
1212
1216
1218
1221
1227
1229
1231
1235
1237
1240
1242
1244
1245
1247
1253
1255
1257
1261
1263
1274
1286
1289
1293
1296
1303
1306
1308
1310
1312
1314
1317
1320
1326
1330
1335
1346
1351
1369
1372
1372
1372
1372
1372
1373
1373
1374
1374
1374
1374
1374
1375
1375
1375
1375
1376
1376
1377
1377
1377
1377
1377
1378
1378
1378
1378
1378
1376
1373
1372
1369
1366
1365
1363
1360
1356
1353
1352
1348
1332
1329
1325
1321
1318
1314
1313
1311
1309
1307
1304
1303
1302
1298
1296
1294
1292
1291
1287
1287
1284
1279
1277
1275
1273
1268
1266
1265
1263
1262
1262
1262
1262
1262
1262
1262
1262
1262
1262
1261
1261
1261
1260
1253
1242
1220
1217
1214
1211
1209
1204
1205
1208
1210
1217
1218
1222
1224
1227
1229
1230
1232
1233
1236
1238
1241
1246
1249
1253
1254
1256
1261
1263
1264
1264
1265
1266
1267
1268
1269
1270
1270
1272
1272
1273
1275
1276
1278
1278
1279
1280
1279
1278
1275
1272
1269
1267
1263
1261
1260
1259
1258
1256
1255
1252
1251
1250
1249
1247
1246
1244
1243
1242
1242
1242
1241
1241
1241
1241
1240
1240
1240
1239
1239
1239
1239
1239
1238
1238
1238
1238
1237
1237
1237
1245
1247
1249
1250
1252
1253
1254
1255
1266
1268
1271
1275
1274
1272
1270
1269
1266
1265
1263
1261
1261
1258
1257
1257
1256
1255
1255
1254
1253
1251
1251
1249
1248
1248
1246
1244
1241
1241
1240
1240
1240
1239
1239
1238
1238
1237
1237
1237
1236
1234
1233
1233
1232
1230
1230
1229
1229
1229
1229
1229
1233
1234
1235
1237
1238
1241
1246
1247
1247
1248
1248
1249
1250
1249
1246
1244
1242
1241
1231
1230
1229
1228
1228
1227
1226
1225
1223
1222
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1221
1217
1216
1215
1214
1211
1210
1206
1201
1193
1192
1188
1187
1186
1183
1182
1182
1182
1182
1183
1183
1183
1184
1184
1184
1184
1185
1185
1185
1185
1185
1186
1186
1186
1187
1187
1187
1187
1187
1187
1186
1186
1185
1184
1183
1183
1183
1182
1182
1182
1181
1181
1181
1181
1181
1178
1178
1177
1176
1175
1175
1175
1177
1177
1178
1169
1163
1151
1147
1140
1132
1126
1112
1106
1095
1087
1084
1080
1076
1070
1067
1051
1047
1036
1028
1021
1014
1009
1007
1005
1001
998
995
989
985
972
968
959
955
952
949
942
937
933
930
928
926
920
915
912
908
907
903
900
895
892
888
886
885
884
884
881
879
877
874
872
870
868
866
863
859
858
858
859
860
864
864
866
868
874
888
908
912
915
924
935
930
925
921
918
914
908
904
900
898
908
916
919
923
934
949
961
964
968
971
972
973
976
978
987
996
1012
1043
1052
1069
1092
1099
1111
1113
1115
1118
1120
1131
1133
1138
1139
1143
1145
1147
1148
1148
1148
1148
1148
1148
1148
1148
1148
1154
1162
1165
1167
1170
1171
1171
1170
1169
1168
1166
1161
1160
1157
1152
1151
1150
1147
1147
1146
1145
1145
1164
1167
1176
1179
1183
1183
1182
1181
1181
1180
1180
1179
1182
1186
1191
1199
1177
1178
1179
1180
1181
1182
1183
1189
1189
1190
1191
1191
1191
1191
1192
1192
1192
1193
1193
1193
1193
1194
1194
1194
1194
1195
1196
1198
1198
1199
1201
1208
1208
1208
1206
1205
1204
1202
1202
1202
1201
1200
1199
1199
1198
1197
1197
1197
1196
1195
1193
1191
1190
1189
1187
1184
1183
1176
1178
1184
1185
1186
1192
1196
1199
1201
1203
1206
1208
1218
1223
1232
1236
1238
1246
1250
1252
1252
1252
1252
1252
1252
1252
1252
1251
1251
1245
1239
1233
1229
1228
1224
1222
1222
1221
1218
1215
1212
1207
1206
1203
1202
1201
1199
1198
1198
1197
1196
1195
1195
1194
1194
1194
1194
1194
1194
1195
1195
1195
1196
1196
1198
1199
1202
1202
1203
1209
1211
1214
1215
1216
1217
1218
1221
1223
1225
1226
1226
1226
1226
1225
1225
1224
1224
1223
1223
1222
1221
1221
1221
1221
1221
1220
1219
1217
1213
1212
1210
1209
1207
1206
1206
1205
1204
1204
1203
1201
1200
1198
1197
1195
1191
1190
1189
1188
1175
1174
1174
1171
1170
1168
1167
1166
1165
1164
1161
1154
1151
1148
1149
1152
1157
1162
1164
1169
1171
1174
1175
1176
1176
1173
1171
1170
1169
1168
1166
1164
1163
1159
1157
1156
1155
1153
1152
1152
1154
1155
1156
1157
1157
1158
1159
1160
1160
1162
1160
1158
1157
1156
1155
1151
1149
1148
1148
1147
1146
1144
1143
1142
1140
1139
1138
1135
1134
1132
1126
1124
1119
1116
1110
1108
1107
1104
1103
1102
1098
1094
1091
1086
1083
1081
1078
1073
1071
1069
1065
1061
1057
1056
1053
1051
1040
1032
1032
1033
1034
1034
1035
1035
1036
1037
1037
1037
1038
1038
1038
1039
1040
1041
1042
1043
1044
1045
1046
1046
1047
1047
1048
1048
1048
1050
1054
1056
1058
1060
1061
1062
1064
1069
1071
1073
1075
1076
1077
1081
1085
1087
1091
1093
1100
1103
1106
1109
1110
1113
1123
1126
1134
1135
1135
1133
1131
1129
1128
1125
1123
1121
1119
1116
1112
1111
1110
1105
1104
1104
1104
1104
1104
1104
1104
1104
1104
1105
1105
1105
1105
1105
1105
1105
1106
1106
1106
1106
1106
1105
1105
1105
1105
1104
1104
1103
1103
1103
1103
1102
1102
1102
1098
1094
1091
1087
1078
1075
1070
1067
1062
1060
1057
1050
1047
1035
1030
1027
1020
1015
1008
1003
1003
1003
1004
1006
1006
1006
1006
1006
1006
1006
1007
1007
1008
1008
1009
1009
1009
1010
1011
1011
1010
1010
1009
1009
1008
1007
1004
1004
1004
1003
1002
1002
1008
1011
1013
1015
1018
1024
1030
1037
1044
1049
1053
1061
1066
1069
1078
1080
1083
1094
1102
1120
1123
1125
1125
1125
1126
1126
1127
1127
1128
1128
1128
1129
1130
1126
1122
1122
1120
1119
1119
1117
1095
1092
1086
1084
1078
1076
1074
1067
1064
1060
1058
1057
1056
1055
1048
1047
1046
1046
1040
1036
1037
1037
1039
1040
1042
1045
1046
1047
1048
1050
1051
1032
1025
1020
1017
1012
1005
1000
996
991
988
984
979
973
967
966
964
962
961
960
952
951
949
946
935
931
928
922
917
909
904
901
896
890
887
883
879
881
882
883
886
886
887
890
891
892
893
893
894
895
896
898
899
901
902
903
903
906
907
909
913
915
916
919
920
922
924
924
929
933
934
937
939
939
941
943
943
945
950
955
962
964
968
970
976
980
983
989
992
1006
1018
1033
1043
1045
1046
1048
1048
1051
1052
1058
1061
1064
1067
1067
1054
1052
1049
1045
1041
1038
1035
1030
1026
1024
1025
1026
1026
1028
1029
1031
1032
1034
1029
1025
1021
1019
1019
1019
1022
1023
1020
1019
1018
1015
1014
1013
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1012
1011
1011
1010
1010
1009
1006
1005
1004
1003
1001
1000
1000
1000
995
995
991
983
982
980
977
972
963
948
945
939
932
932
930
931
938
940
946
950
953
955
953
952
951
950
948
947
945
944
947
950
954
957
959
972
974
976
985
987
989
990
996
1001
1003
1007
1008
1013
1024
1024
1021
1019
1018
1017
1017
1016
1014
1014
1014
1013
1012
1012
1011
1011
1010
1010
1008
1008
1009
1009
1009
1009
1010
1010
1010
1010
1010
1009
1009
1009
1009
1009
1010
1010
1010
1011
1011
1012
1012
1012
1008
1008
1008
1007
1007
1006
1005
1004
1004
1002
1001
1001
1000
999
998
998
997
996
995
995
994
994
993
993
992
992
991
991
989
988
987
986
985
983
981
980
978
977
973
967
966
962
959
958
956
954
952
951
950
949
948
946
945
943
942
942
942
941
941
941
942
943
944
946
947
949
951
953
953
951
948
946
946
938
935
933
930
928
925
924
923
923
922
922
921
920
920
919
918
918
917
917
916
917
917
918
918
919
920
921
921
922
922
923
923
924
924
924
925
925
926
927
927
928
929
929
929
929
930
930
931
932
932
932
933
933
933
933
933
933
931
931
931
930
930
928
926
926
926
924
924
923
923
922
921
921
921
920
920
920
921
921
921
921
922
928
934
936
939
939
940
942
942
948
948
947
945
945
944
944
942
941
940
939
939
939
939
938
938
938
937
937
937
936
935
932
930
929
928
928
929
930
930
933
933
934
934
935
939
940
940
942
943
946
947
948
948
949
949
950
951
952
957
958
959
960
962
964
965
971
972
972
973
973
973
973
974
975
975
978
978
978
978
979
981
981
981
982
982
982
982
982
983
984
984
985
987
987
988
988
988
990
990
990
991
991
991
992
992
992
992
993
993
993
994
994
994
982
981
979
978
976
974
973
963
961
957
956
955
954
953
947
940
939
938
934
932
931
931
927
926
925
924
919
917
915
913
914
914
919
920
920
921
922
923
927
928
928
928
929
929
929
930
930
934
934
936
936
937
937
937
937
938
939
940
939
937
935
933
931
929
921
919
918
916
915
913
912
908
903
899
896
895
893
892
891
890
885
884
883
882
881
879
877
875
863
855
850
846
843
840
836
832
829
812
810
807
805
804
801
794
789
782
778
771
768
755
753
752
750
749
737
724
720
717
714
712
710
708
706
700
691
686
685
684
683
682
680
679
677
674
673
668
666
665
664
662
660
658
657
655
654
646
643
640
621
618
615
614
613
612
612
611
606
606
604
603
602
601
598
592
591
589
588
586
585
584
582
579
578
577
576
575
574
571
565
563
559
552
549
539
537
534
531
530
530
527
526
526
523
522
520
518
517
516
516
515
515
514
513
512
511
510
510
510
508
508
507
507
507
506
506
506
505
505
505
499
498
498
497
497
497
496
496
494
492
478
476
475
475
474
471
471
470
469
467
466
464
463
460
459
457
455
451
449
448
444
441
434
430
428
426
423
420
418
413
411
405
404
403
402
400
399
391
389
387
385
383
383
382
381
380
376
374
372
371
369
368
366
365
365
364
364
364
363
363
361
358
357
356
354
353
352
352
350
348
345
344
342
341
340
339
339
338
337
336
334
333
332
327
324
323
323
321
319
315
314
312
311
310
309
308
305
303
303
302
301
300
294
293
292
290
280
276
275
271
268
266
261
259
258
257
256
255
255
252
252
249
248
247
247
246
245
244
244
242
240
236
236
235
233
230
225
218
217
214
213
212
210
206
204
202
197
188
187
186
181
178
176
175
173
173
172
172
171
171
171
170
166
164
159
158
156
155
151
151
150
149
149
148
147
147
146
144
142
128
123
121
120
120
119
119
118
117
114
112
111
110
108
108
107
106
106
105
105
104
103
100
98
96
91
91
89
83
67
65
64
62
58
55
54
53
52
52
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
48
47
47
46
46
45
44
43
41
40
39
39
39
39
39
38
38
37
37
37
36
35
35
34
33
33
33
33
33
33
33
33
33
33
32
32
32
31
31
31
31
30
30
30
29
29
29
28
28
28
28
28
28
28
28
28
27
27
27
26
25
25
25
25
26
26
27
27
27
29
29
30
31
31
32
33
35
36
36
37
38
38
38
39
39
39
40
41
41
41
40
40
39
38
38
38
37
37
37
36
36
35
35
35
34
32
32
31
31
31
31
27
25
23
22
22
22
21
20
20
19
19
18
18
17
17
16
16
16
16
15
15
15
15
14
14
14
13
13
11
11
10
9
9
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
7
6
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
4
4
4
5
5
5
5
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
12
11
11
11
11
11
11
11
11
15
22
26
26
29
31
32
33
35
35
35
35
36
36
36
37
38
36
34
33
33
31
28
28
27
26
23
20
19
18
17
17
17
17
11
11
10
9
9
8
7
7
7
7
7
7
7
9
9
11
11
11
11
11
11
20
22
26
28
30
31
31
30
30
30
30
30
30
30
29
28
28
27
27
25
24
24
23
23
20
19
18
17
16
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
10
10
10
10
11
12
11
11
11
10
10
10
9
9
8
8
9
10
10
10
10
10
8
8
8
8
8
8
8
8
9
9
9
9
9
8
7
7
5
5
5
6
6
6
6
7
7
8
8
8
7
7
7
7
7
7
7
7
7
7
7
7
7
7
6
6
6
6
6
6
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
5
5
5
5
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
8
10
10
10
10
10
10
10
8
8
8
8
8
7
7
7
7
7
7
7
7
6
6
6
5
5
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
7
7
6
6
6
6
6
6
6
6
6
6
6
5
5
4
4
3
3
5
6
6
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
6
6
6
6
6
5
5
4
3
3
2
2
2
2
2
2
2
3
4
5
5
5
6
6
6
6
6
6
6
6
6
5
5
5
5
5
4
4
4
4
4
3
3
2
2
2
2
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
3
3
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
7
7
8
8
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
7
7
9
9
10
10
10
10
10
10
10
10
10
10
10
9
7
4
5
5
5
3
3
3
3
4
4
3
3
3
3
3
3
3
4
6
6
7
8
8
8
9
7
6
4
4
3
3
3
3
2
2
2
2
1
1
1
1
1
1
1
1
1
2
3
3
3
3
3
7
7
7
8
13
18
18
18
18
18
18
18
18
18
18
18
18
18
18
17
17
17
17
17
17
17
17
17
17
17
17
17
16
16
16
16
16
15
13
12
11
10
10
9
9
9
9
9
9
10
11
12
18
19
18
17
17
16
16
16
15
14
13
10
9
7
7
7
6
5
4
7
8
7
6
6
6
5
5
5
5
4
4
4
5
5
6
6
6
6
6
6
6
6
8
9
9
11
11
11
12
12
13
13
13
13
14
14
14
8
7
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
8
8
9
9
9
9
9
6
6
6
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
8
7
7
7
6
6
6
6
5
5
5
4
2
2
2
2
2
6
6
6
6
6
6
7
7
9
10
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
14
14
14
14
14
15
15
15
15
15
15
15
15
15
14
14
13
13
13
13
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
14
14
14
14
13
13
14
17
17
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
17
14
14
14
16
16
16
16
15
15
15
15
15
15
15
16
16
16
18
19
20
20
20
20
19
18
24
28
28
30
30
30
30
30
30
29
28
27
26
26
22
21
19
19
19
22
22
22
21
21
20
20
18
18
18
17
18
14
12
9
9
10
11
14
14
14
14
14
14
14
14
14
13
13
13
11
4
8
8
8
8
9
9
9
9
10
10
11
11
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
14
15
15
15
15
16
16
16
17
21
23
25
21
21
17
16
15
16
16
16
16
16
16
17
17
17
18
18
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
21
21
21
21
22
22
23
24
24
26
27
28
28
29
29
30
30
32
32
32
32
33
33
33
33
33
33
33
33
34
34
34
34
34
34
34
32
31
30
29
25
24
22
18
18
18
18
18
19
21
17
16
16
15
14
13
12
11
11
11
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
13
13
13
13
13
13
14
14
14
14
15
15
15
15
15
15
15
15
15
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
12
12
12
12
12
12
11
11
11
11
11
11
11
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
14
14
15
15
15
15
16
16
17
17
17
17
17
17
17
18
18
18
19
20
20
21
22
22
22
18
17
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
11
11
11
11
10
10
10
10
10
10
10
10
11
11
11
12
12
12
12
12
13
13
14
14
15
16
16
17
17
17
17
18
19
19
21
21
24
24
27
27
26
25
24
24
23
21
19
17
16
16
16
16
16
16
16
17
18
18
18
19
19
19
19
19
21
21
21
20
19
19
18
18
17
15
13
12
11
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
9
9
9
9
9
9
9
9
9
9
9
9
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
9
9
9
9
9
9
9
9
9
13
17
18
24
25
26
27
29
30
30
30
30
29
29
29
27
27
27
26
26
25
25
25
24
24
24
23
23
23
22
21
13
10
10
10
10
10
9
9
8
8
8
8
8
8
8
8
8
8
8
8
8
7
7
6
6
6
6
6
5
5
5
5
4
3
3
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
2
3
3
3
3
3
3
4
4
4
4
4
4
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
8
8
8
7
7
7
7
7
6
6
6
6
6
6
6
6
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
4
5
6
6
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
7
7
7
7
7
7
7
7
7
7
7
7
6
5
5
4
5
5
5
5
3
3
2
2
3
4
4
4
4
4
4
4
4
5
5
5
7
7
8
8
9
9
10
10
10
10
6
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
7
7
7
6
6
6
6
6
6
6
6
6
6
6
7
7
7
6
6
6
6
8
9
9
9
8
8
8
8
7
7
7
7
6
6
6
5
5
5
5
7
7
7
7
8
8
8
8
9
9
9
9
9
9
8
8
8
8
7
7
7
7
6
6
6
6
5
4
4
4
3
3
3
2
2
2
2
0
0
0
0
0
0
1
1
1
1
1
1
4
4
4
3
3
3
3
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
4
4
4
6
6
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
4
4
4
4
4
2
3
0
1
1
2
2
2
2
2
2
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
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
3
2
1
1
1
1
1
1
1
2
3
4
5
5
5
6
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
6
5
5
4
4
5
3
4
4
4
4
4
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
7
7
7
7
7
7
7
7
7
7
7
7
7
7
9
9
9
10
10
10
11
12
12
13
13
14
15
16
16
17
17
16
15
14
12
12
11
11
10
10
10
9
9
9
9
9
9
9
9
9
9
9
9
8
6
5
5
3
3
3
4
4
5
5
6
6
5
3
3
3
3
3
4
4
4
4
4
5
11
11
10
9
9
9
13
13
13
10
10
10
12
12
11
11
11
11
11
11
9
9
9
9
9
8
8
8
7
7
6
7
8
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
9
9
9
9
9
10
11
11
11
10
10
10
10
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
11
12
12
12
12
11
10
9
7
6
6
6
6
8
8
8
9
10
10
10
10
10
10
11
12
12
12
12
13
13
15
15
15
14
13
12
12
12
12
12
12
12
12
12
13
13
13
13
13
14
15
15
15
15
15
15
15
14
14
14
14
13
13
13
13
14
15
16
14
14
14
15
14
14
14
14
15
16
17
17
16
15
14
14
14
14
14
16
16
16
15
15
15
14
14
14
14
14
12
12
12
12
12
12
12
14
14
14
16
17
17
17
17
17
17
17
17
17
17
17
17
17
17
16
16
16
16
16
16
16
16
16
16
17
18
18
18
18
18
19
19
19
19
19
18
17
17
17
16
16
16
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
17
17
17
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
16
16
16
15
15
15
13
13
12
12
12
12
12
13
14
15
15
18
21
21
22
17
17
19
19
26
15
19
19
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
14
14
14
14
14
13
13
12
12
12
12
12
12
9
9
9
9
8
8
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
10
10
11
11
12
12
12
12
12
9
9
9
9
9
9
9
9
9
9
9
11
17
17
16
14
13
12
11
12
14
18
20
20
17
15
14
14
14
14
14
14
14
14
14
14
14
13
13
12
12
9
9
9
8
8
8
8
8
8
8
8
8
8
8
8
8
6
6
8
9
9
9
10
10
11
12
13
13
14
14
15
15
11
12
11
11
11
11
11
11
12
12
14
15
16
17
18
18
20
24
27
27
27
27
27
27
27
32
38
39
43
42
41
40
39
36
36
35
33
32
31
30
26
20
19
16
12
14
16
17
21
22
22
23
24
24
22
21
21
21
20
19
19
21
22
23
19
19
19
14
14
20
23
31
30
28
27
25
11
11
11
17
13
12
12
12
13
13
13
14
14
14
14
15
15
17
17
22
23
23
23
24
24
24
24
22
21
19
18
16
15
13
13
13
13
12
12
19
25
28
28
27
26
26
25
24
23
21
21
19
19
18
13
13
13
13
13
13
10
9
6
1
1
1
1
1
2
4
4
5
5
7
23
28
27
27
27
27
27
27
30
25
25
25
25
17
18
18
33
33
39
39
31
31
31
31
31
32
32
32
32
32
32
29
29
28
28
28
27
26
25
24
20
20
19
18
18
17
16
16
16
16
16
15
15
14
14
14
13
13
13
12
12
12
11
10
10
10
11
12
13
13
14
15
16
16
18
18
18
18
18
18
18
18
17
17
17
17
17
17
16
16
16
16
16
16
16
16
17
19
20
21
21
22
22
24
24
24
24
25
25
25
25
25
26
26
26
26
28
29
31
31
31
32
33
36
36
32
32
19
17
5
5
5
5
43
43
42
42
42
29
27
8
10
10
10
10
10
10
10
10
10
10
10
10
10
12
12
12
13
13
13
14
14
14
14
14
15
16
16
20
20
20
21
23
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
25
25
26
26
26
26
24
24
23
22
22
21
19
19
19
19
19
18
18
18
17
17
17
17
17
17
17
17
17
17
17
17
17
18
20
20
21
23
34
42
53
55
58
61
61
61
61
61
61
61
61
61
61
63
67
70
73
75
77
79
79
82
82
89
91
94
102
107
114
118
122
125
129
133
155
157
162
164
174
179
183
186
188
189
189
191
198
204
214
222
223
224
226
227
227
228
230
233
252
254
254
255
256
256
258
258
258
260
261
262
262
263
265
266
268
268
268
269
269
270
268
263
258
257
256
255
254
253
251
249
247
246
245
243
240
238
238
237
231
229
226
216
214
212
211
190
187
187
187
188
188
188
189
189
191
192
192
193
194
194
195
196
196
197
197
193
193
192
191
191
191
188
185
185
184
184
189
190
193
197
203
204
205
209
216
220
220
219
218
216
213
214
215
219
226
238
246
249
252
253
256
256
255
254
252
251
250
250
248
246
244
257
274
276
292
308
313
323
324
325
329
330
337
338
338
334
328
321
320
316
314
313
311
311
311
312
314
315
318
320
321
321
322
323
324
324
325
327
327
329
330
331
331
332
333
333
334
334
332
328
327
322
320
307
297
294
289
287
289
295
301
320
326
329
337
340
343
346
351
352
353
356
359
364
366
370
371
373
374
375
376
377
365
362
359
356
351
346
335
327
324
321
314
306
295
294
292
291
289
285
281
277
275
273
272
271
269
255
253
241
239
238
237
235
233
227
225
223
220
217
215
210
207
205
202
193
190
173
172
168
167
165
162
161
161
159
145
144
141
126
126
126
126
126
126
126
125
124
118
118
117
117
115
97
98
99
99
100
100
97
97
93
92
91
89
89
90
91
98
101
101
101
102
102
102
103
108
108
109
111
111
111
112
115
115
120
120
126
131
132
134
141
142
143
144
145
147
148
151
161
171
173
176
179
183
187
191
194
201
203
206
228
232
235
235
235
233
232
232
232
231
230
230
230
230
229
242
249
261
261
261
261
262
262
262
262
262
263
263
264
264
264
264
264
264
264
264
264
264
264
264
264
264
262
255
253
252
251
249
248
247
245
244
233
231
230
228
224
222
221
220
218
216
214
212
208
208
207
195
186
185
184
183
182
182
182
183
184
185
186
186
188
189
189
190
185
183
182
179
171
170
170
169
169
166
164
163
163
162
162
162
162
162
162
176
185
192
191
191
190
190
184
181
183
184
185
186
205
203
198
195
192
179
178
178
177
163
162
160
154
154
153
152
152
151
151
151
151
151
150
149
147
146
146
145
145
147
151
154
157
175
177
178
178
164
163
163
157
156
155
151
151
151
150
149
149
149
147
147
147
145
144
144
144
142
147
157
162
163
165
167
169
175
176
178
178
179
179
180
180
180
180
180
180
180
181
181
175
171
164
163
163
158
156
155
155
155
155
155
154
154
154
154
154
153
149
148
142
140
140
139
137
136
136
136
133
133
132
130
124
123
122
122
121
121
121
121
121
121
121
121
121
128
128
128
129
129
129
130
131
132
133
135
135
136
137
137
137
137
137
137
138
138
138
138
138
140
140
140
141
141
142
142
142
142
143
143
143
144
145
145
147
150
152
152
153
155
158
161
165
168
172
175
176
180
182
184
185
185
185
190
187
183
180
175
173
170
168
167
166
166
162
162
162
161
161
160
159
159
158
158
157
156
156
155
154
154
153
152
152
150
148
146
142
141
143
146
147
158
168
174
172
171
170
160
156
152
149
141
137
131
128
126
127
128
129
130
130
131
133
135
138
140
143
148
152
153
152
147
147
146
145
145
144
144
143
142
141
138
137
136
136
135
134
134
140
140
140
139
137
135
134
133
132
130
123
121
120
118
117
115
114
112
111
98
94
93
93
91
90
89
88
87
86
85
84
84
86
87
87
88
89
89
89
89
88
87
87
87
85
84
84
82
81
80
80
79
77
77
77
76
76
76
76
75
75
69
66
66
65
64
62
62
62
62
61
58
54
52
52
52
52
53
54
55
56
56
56
56
56
56
56
56
56
56
56
56
56
56
55
55
51
51
50
50
49
45
45
45
45
44
43
43
43
42
41
28
27
26
23
23
22
20
18
19
20
20
23
24
24
25
26
29
29
30
31
31
35
39
39
40
41
44
49
52
53
53
56
59
66
71
74
76
76
74
74
74
74
74
73
73
73
73
73
81
81
75
71
69
67
65
65
65
65
64
64
64
64
64
64
63
52
51
49
47
43
33
30
23
22
22
21
21
21
21
21
21
21
21
21
21
20
20
20
20
20
20
20
20
20
20
21
21
21
21
23
24
24
24
23
17
16
14
12
11
10
11
16
22
22
22
17
16
15
15
15
14
13
9
8
8
8
7
7
8
9
12
18
19
20
20
24
26
28
28
28
28
28
28
28
28
28
28
28
28
28
28
27
27
27
26
26
26
26
26
26
26
25
25
25
25
25
26
27
28
30
32
32
33
35
35
37
38
39
40
41
43
45
50
51
51
46
44
41
41
40
51
52
52
52
53
54
54
54
50
50
50
43
43
43
43
42
42
42
42
42
38
38
37
37
37
37
37
37
36
35
33
30
17
17
17
16
15
15
15
15
15
15
15
15
15
14
14
13
13
13
13
13
13
12
12
12
12
12
12
12
11
11
11
11
11
11
11
11
11
13
13
13
13
14
16
19
19
21
21
21
20
19
19
18
17
15
16
17
19
22
22
22
24
24
24
25
25
26
27
29
29
29
29
30
31
31
31
33
33
39
52
54
55
55
55
55
55
56
56
56
56
57
55
52
50
50
47
47
46
46
45
45
44
42
42
41
36
30
31
36
36
36
37
38
38
39
39
39
40
41
41
42
42
42
42
42
42
42
42
42
42
40
40
40
40
39
39
39
39
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
31
24
22
21
21
18
18
18
16
15
15
15
14
14
14
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
15
15
15
15
15
17
18
18
18
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
20
23
23
29
31
31
36
39
40
40
40
40
40
40
41
41
42
42
42
44
45
45
47
47
48
49
52
52
54
55
55
55
55
56
56
56
57
59
60
60
60
60
60
60
59
58
54
54
54
54
54
54
54
53
53
53
52
52
52
52
51