0
0
0
0
0
0
1
1
1
1
2
3
4
5
6
7
8
8
8
9
10
11
11
11
11
11
11
11
11
11
11
11
11
12
12
13
13
16
16
18
18
18
18
20
20
23
26
36
36
44
46
51
61
104
135
161
190
190
190
190
190
190
190
190
190
190
190
191
191
191
191
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
193
193
193
193
193
193
193
193
193
193
193
194
195
196
197
197
197
197
197
197
197
197
197
197
197
198
199
199
199
199
199
199
199
200
200
200
200
200
200
200
200
200
201
201
201
201
202
202
202
202
202
202
202
202
203
203
203
203
204
204
204
204
204
204
204
204
204
204
204
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
206
206
207
207
207
207
207
207
207
207
207
207
207
207
207
207
208
208
209
210
211
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
213
213
214
215
215
215
215
215
215
215
216
216
217
217
217
217
218
218
218
218
218
218
218
218
218
218
218
218
218
219
219
219
219
219
219
219
220
220
220
220
220
220
220
220
220
220
220
221
221
221
221
221
221
221
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
223
223
223
223
223
223
223
224
225
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
227
228
228
229
229
229
229
229
229
230
230
230
230
230
230
230
230
230
230
231
232
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
235
235
235
235
236
236
236
236
236
236
236
236
236
236
236
236
237
239
243
243
243
243
243
243
243
243
243
243
243
243
243
243
244
244
244
246
246
247
247
250
250
250
251
251
251
251
252
252
252
252
254
254
254
254
254
254
254
254
255
255
255
255
256
256
257
257
257
257
257
257
257
257
257
257
257
257
257
258
262
262
262
262
262
262
264
266
269
270
271
271
273
273
273
273
273
277
277
277
277
277
278
278
279
279
280
280
280
284
284
284
284
284
284
284
284
284
285
285
285
285
285
285
288
288
291
292
292
292
292
292
295
295
297
297
297
297
299
299
300
300
303
303
310
310
310
313
313
313
318
319
319
320
320
324
325
325
325
325
330
334
342
342
342
342
342
342
345
348
354
354
367
367
376
378
378
379
379
387
390
392
392
394
394
399
402
402
405
405
417
417
424
424
424
428
439
439
445
445
446
446
451
466
494
494
500
500
500
520
550
584
614
621
629
643
658
664
673
687
699
730
754
785
810
843
859
914
935
991
1019
1047
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1098
1099
1099
1099
1099
1099
1099
1099
1099
1099
1099
1100
1100
1100
1100
1101
1101
1101
1101
1101
1101
1101
1101
1101
1101
1101
1101
1101
1101
1101
1101
1101
1101
1101
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1102
1103
1103
1103
1103
1104
1104
1104
1104
1104
1104
1104
1104
1104
1104
1104
1104
1104
1104
1104
1104
1104
1104
1104
1104
1104
1104
1104
1104
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1105
1106
1107
1107
1107
1108
1108
1108
1108
1109
1109
1109
1109
1109
1110
1110
1110
1111
1111
1111
1111
1112
1112
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1113
1114
1115
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1116
1117
1117
1117
1117
1117
1117
1117
1117
1117
1117
1117
1117
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1118
1119
1119
1119
1120
1120
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1121
1122
1123
1123
1124
1124
1125
1125
1126
1127
1128
1128
1129
1129
1130
1130
1130
1130
1130
1131
1132
1132
1132
1132
1132
1132
1132
1132
1132
1132
1132
1132
1132
1133
1133
1134
1134
1135
1135
1136
1136
1136
1136
1136
1136
1136
1137
1138
1138
1139
1139
1139
1139
1139
1139
1139
1140
1140
1140
1140
1140
1140
1140
1140
1140
1141
1141
1142
1143
1143
1144
1144
1144
1144
1144
1144
1144
1145
1145
1145
1145
1145
1146
1147
1148
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1149
1150
1150
1151
1151
1151
1151
1151
1151
1151
1151
1151
1151
1151
1151
1151
1151
1151
1151
1152
1152
1152
1153
1153
1153
1154
1154
1154
1154
1154
1154
1154
1154
1155
1155
1156
1157
1157
1157
1157
1157
1157
1157
1157
1157
1157
1157
1157
1157
1157
1157
1157
1157
1157
1157
1157
1157
1157
1157
1158
1158
1158
1158
1158
1158
1158
1158
1158
1158
1158
1158
1158
1158
1158
1158
1158
1158
1158
1158
1158
1158
1158
1158
1158
1158
1158
1159
1161
1161
1161
1161
1161
1161
1161
1161
1161
1161
1161
1161
1163
1163
1163
1163
1163
1163
1163
1163
1163
1163
1163
1163
1167
1167
1167
1167
1169
1169
1169
1169
1169
1169
1169
1169
1169
1169
1169
1171
1173
1173
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1177
1177
1177
1177
1177
1177
1177
1177
1177
1177
1178
1178
1178
1178
1179
1179
1179
1179
1179
1179
1179
1179
1179
1179
1179
1179
1179
1179
1180
1180
1180
1181
1181
1183
1184
1184
1184
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1185
1186
1186
1186
1186
1186
1186
1186
1186
1186
1187
1187
1188
1189
1189
1189
1189
1189
1189
1189
1189
1190
1190
1190
1190
1190
1191
1191
1191
1191
1191
1191
1191
1191
1191
1191
1191
1191
1191
1193
1196
1196
1196
1199
1199
1199
1199
1199
1199
1200
1200
1200
1201
1201
1201
1201
1201
1201
1201
1201
1201
1201
1201
1202
1202
1202
1202
1202
1202
1202
1202
1205
1205
1205
1207
1208
1208
1209
1211
1212
1212
1214
1214
1215
1215
1215
1215
1215
1215
1215
1215
1215
1215
1215
1215
1215
1215
1215
1217
1220
1220
1224
1227
1231
1233
1233
1234
1234
1236
1237
1239
1239
1240
1240
1242
1242
1246
1246
1246
1249
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1254
1256
1256
1256
1256
1258
1258
1262
1264
1268
1268
1268
1268
1270
1274
1276
1276
1276
1277
1278
1278
1278
1281
1284
1285
1289
1294
1299
1299
1299
1299
1299
1299
1299
1299
1299
1299
1299
1299
1299
1299
1299
1299
1299
1299
1299
1299
1299
1299
1299
1299
1299
1299
1299
1300
1301
1301
1301
1301
1301
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1304
1306
1308
1311
1311
1311
1311
1312
1314
1317
1320
1320
1320
1322
1324
1326
1330
1334
1337
1337
1342
1342
1342
1342
1342
1342
1342
1342
1342
1342
1344
1344
1344
1344
1344
1344
1344
1344
1344
1345
1345
1348
1351
1351
1351
1351
1353
1353
1353
1355
1355
1355
1355
1355
1355
1356
1356
1356
1356
1356
1359
1359
1359
1359
1374
1374
1374
1380
1380
1392
1405
1405
1405
1405
1411
1415
1415
1415
1420
1420
1420
1420
1426
1426
1426
1432
1432
1432
1438
1438
1441
1441
1441
1441
1451
1451
1451
1457
1469
1479
1493
1495
1497
1497
1499
1501
1503
1503
1505
1515
1527
1533
1547
1547
1547
1547
1547
1550
1553
1562
1575
1575
1575
1584
1597
1597
1597
1600
1609
1612
1625
1635
1650
1650
1650
1650
1650
1650
1650
1650
1650
1650
1653
1653
1656
1656
1659
1659
1662
1662
1662
1662
1662
1662
1662
1665
1668
1668
1674
1685
1691
1696
1709
1720
1726
1740
1755
1755
1755
1761
1761
1761
1761
1761
1764
1770
1780
1795
1798
1801
1806
1806
1817
1838
1873
1904
1927
1949
1975
1998
2033
2064
2076
2088
2119
2149
2174
2200
2235
2245
2249
2255
2265
2291
2321
2352
2352
2383
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2408
2409
2409
2409
2409
2410
2410
2410
2410
2410
2410
2410
2410
2410
2410
2410
2410
2410
2410
2410
2411
2411
2412
2412
2412
2412
2412
2412
2412
2412
2412
2412
2412
2412
2413
2413
2413
2413
2413
2413
2413
2413
2413
2413
2413
2413
2413
2413
2413
2413
2413
2413
2413
2413
2413
2414
2414
2414
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2416
2417
2417
2417
2417
2418
2418
2418
2418
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2419
2420
2420
2420
2420
2420
2420
2421
2421
2421
2421
2421
2421
2421
2422
2423
2423
2423
2424
2424
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2425
2426
2426
2426
2426
2427
2427
2427
2427
2428
2428
2428
2428
2429
2429
2429
2429
2429
2429
2429
2429
2429
2429
2429
2429
2429
2429
2429
2429
2429
2429
2429
2429
2429
2429
2429
2429
2429
2429
2429
2430
2430
2430
2430
2431
2431
2431
2431
2432
2432
2432
2432
2432
2432
2432
2432
2432
2432
2433
2433
2433
2433
2433
2434
2434
2434
2434
2434
2434
2434
2434
2434
2434
2434
2434
2434
2434
2434
2434
2434
2434
2434
2434
2434
2434
2434
2434
2434
2434
2434
2434
2434
2435
2436
2436
2436
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2437
2438
2439
2439
2439
2440
2440
2441
2441
2441
2441
2441
2441
2441
2441
2441
2441
2441
2441
2441
2441
2441
2441
2441
2441
2442
2442
2443
2443
2444
2444
2445
2446
2447
2447
2448
2448
2449
2449
2450
2451
2451
2452
2452
2452
2452
2452
2452
2452
2452
2453
2453
2454
2454
2454
2454
2454
2454
2454
2454
2454
2454
2454
2455
2456
2456
2457
2457
2457
2457
2457
2457
2457
2458
2458
2458
2459
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2460
2461
2461
2462
2462
2462
2462
2462
2462
2462
2462
2462
2463
2464
2465
2465
2466
2467
2468
2468
2469
2470
2471
2471
2472
2472
2472
2472
2472
2472
2472
2472
2473
2473
2474
2474
2474
2474
2474
2474
2474
2474
2474
2475
2476
2477
2478
2478
2479
2479
2480
2480
2480
2480
2480
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2481
2482
2482
2482
2482
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2483
2485
2485
2485
2485
2485
2485
2485
2485
2485
2485
2489
2493
2493
2493
2493
2493
2493
2493
2496
2496
2499
2499
2499
2499
2499
2499
2499
2499
2499
2499
2502
2507
2507
2507
2509
2509
2514
2514
2516
2516
2521
2521
2525
2525
2525
2525
2528
2528
2528
2528
2529
2531
2536
2536
2541
2546
2546
2546
2547
2547
2547
2548
2548
2548
2548
2548
2548
2548
2548
2550
2550
2550
2550
2550
2551
2551
2551
2551
2551
2551
2551
2551
2551
2553
2555
2555
2555
2557
2557
2557
2557
2557
2557
2557
2557
2557
2557
2557
2560
2560
2564
2564
2566
2566
2566
2569
2574
2574
2574
2574
2574
2574
2574
2574
2574
2574
2574
2574
2577
2577
2581
2581
2584
2584
2588
2588
2588
2588
2588
2588
2588
2591
2594
2597
2597
2601
2603
2608
2608
2613
2618
2623
2628
2628
2628
2630
2630
2630
2630
2630
2630
2635
2635
2640
2643
2643
2646
2646
2650
2650
2650
2650
2650
2650
2650
2650
2652
2652
2652
2652
2653
2655
2658
2658
2661
2665
2665
2669
2673
2673
2673
2675
2675
2675
2675
2675
2678
2683
2688
2693
2693
2693
2695
2695
2699
2699
2699
2699
2699
2699
2699
2699
2699
2699
2699
2699
2699
2699
2699
2699
2699
2699
2699
2699
2699
2699
2699
2699
2699
2699
2699
2699
2699
2699
2702
2707
2707
2707
2707
2710
2715
2715
2715
2715
2715
2715
2715
2730
2736
2744
2754
2769
2784
2799
2812
2826
2841
2853
2853
2856
2863
2873
2881
2887
2902
2912
2922
2932
2942
2950
2965
2980
2980
2995
3003
3012
3019
3034
3044
3059
3074
3084
3094
3104
3104
3119
3134
3144
3144
3144
3144
3144
3144
3144
3144
3144
3144
3144
3144
3144
3144
3144
3144
3144
3144
3144
3144
3144
3144
3144
3144
3145
3145
3146
3146
3147
3147
3148
3148
3148
3148
3148
3148
3148
3148
3148
3148
3148
3148
3148
3148
3148
3148
3148
3148
3148
3148
3148
3148
3148
3148
3148
3148
3148
3148
3148
3148
3149
3150
3150
3150
3151
3151
3151
3151
3151
3151
3151
3151
3151
3151
3151
3152
3152
3152
3152
3152
3152
3152
3152
3152
3152
3152
3152
3152
3152
3152
3152
3152
3152
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3153
3154
3154
3155
3155
3155
3156
3156
3157
3157
3157
3157
3157
3157
3157
3157
3157
3157
3157
3157
3157
3157
3157
3157
3157
3157
3157
3157
3157
3157
3157
3157
3157
3157
3157
3157
3157
3158
3158
3159
3159
3159
3160
3160
3161
3161
3161
3161
3161
3161
3161
3161
3161
3161
3161
3161
3161
3161
3161
3161
3161
3161
3161
3161
3162
3163
3163
3163
3163
3163
3163
3163
3167
3172
3172
3172
3176
3176
3181
3185
3190
3195
3195
3195
3197
3201
3201
3205
3205
3210
3214
3219
3224
3229
3229
3234
3239
3239
3243
3247
3251
3251
3252
3253
3254
3255
3256
3256
3256
3256
3256
3256
3257
3257
3257
3257
3258
3259
3260
3261
3262
3263
3264
3264
3264
3265
3266
3267
3267
3267
3267
3268
3268
3271
3273
3273
3273
3274
3276
3279
3282
3285
3285
3290
3292
3294
3297
3301
3314
3323
3325
3329
3343
3352
3362
3371
3373
3376
3389
3430
3460
3484
3511
3511
3511
3511
3511
3511
3511
3512
3512
3512
3512
3513
3513
3513
3514
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3515
3516
3516
3516
3517
3518
3519
3520
3520
3520
3520
3520
3521
3522
3522
3522
3523
3524
3525
3526
3526
3526
3526
3527
3528
3529
3529
3530
3531
3532
3533
3534
3535
3535
3535
3536
3536
3536
3536
3537
3538
3538
3538
3538
3538
3538
3538
3539
3539
3539
3539
3540
3540
3540
3540
3540
3540
3540
3540
3541
3541
3541
3541
3542
3542
3542
3542
3542
3542
3542
3542
3542
3542
3542
3543
3543
3544
3545
3545
3545
3545
3545
3545
3545
3545
3545
3545
3545
3545
3545
3545
3545
3545
3545
3545
3545
3545
3545
3545
3545
3545
3545
3546
3547
3547
3547
3547
3548
3548
3549
3550
3551
3552
3553
3554
3555
3555
3555
3555
3555
3556
3556
3556
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3569
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3584
3584
3584
3584
3585
3586
3587
3587
3587
3587
3588
3589
3590
3591
3592
3592
3593
3593
3593
3593
3593
3593
3593
3594
3594
3595
3595
3595
3596
3597
3598
3599
3600
3600
3601
3601
3601
3601
3601
3601
3601
3602
3602
3602
3602
3602
3603
3604
3605
3606
3606
3606
3606
3606
3606
3606
3606
3606
3606
3606
3606
3606
3606
3606
3607
3607
3607
3608
3609
3609
3609
3610
3611
3612
3613
3614
3615
3615
3615
3617
3617
3617
3617
3617
3620
3622
3622
3624
3628
3631
3631
3634
3635
3635
3635
3636
3640
3642
3642
3644
3645
3646
3646
3648
3649
3649
3649
3650
3653
3655
3655
3655
3655
3655
3655
3655
3655
3655
3655
3656
3656
3656
3656
3656
3658
3658
3660
3662
3665
3668
3673
3676
3679
3683
3683
3683
3683
3685
3685
3686
3689
3692
3693
3696
3700
3705
3705
3705
3706
3709
3710
3712
3716
3721
3726
3731
3734
3738
3738
3740
3740
3740
3744
3746
3748
3750
3753
3754
3758
3762
3763
3763
3763
3765
3765
3765
3765
3769
3770
3774
3775
3776
3777
3777
3777
3779
3779
3779
3779
3783
3784
3786
3787
3788
3788
3788
3788
3788
3788
3788
3790
3792
3794
3797
3800
3803
3803
3803
3803
3804
3807
3810
3813
3818
3821
3824
3828
3832
3837
3842
3847
3852
3856
3858
3862
3866
3866
3869
3869
3874
3874
3877
3878
3882
3886
3889
3890
3892
3892
3904
3907
3908
3908
3910
3919
3929
3929
3941
3954
3965
3965
3971
3975
3981
3988
3997
4012
4024
4027
4034
4044
4049
4052
4059
4069
4074
4074
4084
4097
4105
4105
4105
4108
4108
4112
4117
4122
4122
4126
4138
4149
4163
4175
4178
4184
4196
4209
4223
4237
4237
4251
4265
4280
4293
4302
4317
4326
4341
4355
4370
4375
4384
4391
4400
4415
4423
4428
4437
4443
4452
4463
4473
4484
4484
4485
4498
4506
4521
4523
4546
4567
4582
4598
4604
4613
4630
4654
4685
4716
4746
4747
4759
4775
4801
4821
4850
4882
4912
4919
4927
4949
4967
4972
4980
5001
5016
5043
5066
5093
5113
5146
5182
5237
5294
5349
5377
5403
5448
5448
5448
5448
5448
5448
5448
5448
5448
5448
5448
5448
5448
5448
5448
5448
5449
5449
5449
5449
5450
5450
5450
5450
5450
5450
5450
5450
5450
5450
5450
5450
5450
5450
5450
5450
5450
5450
5450
5450
5450
5450
5451
5451
5451
5451
5451
5452
5453
5453
5453
5454
5455
5455
5455
5456
5456
5456
5456
5456
5457
5457
5457
5457
5457
5457
5458
5459
5459
5459
5460
5460
5460
5460
5460
5460
5460
5460
5461
5462
5463
5463
5463
5463
5463
5463
5463
5463
5463
5463
5464
5465
5466
5466
5467
5468
5468
5468
5468
5468
5468
5468
5468
5468
5468
5469
5469
5469
5469
5470
5471
5471
5471
5472
5472
5473
5473
5473
5473
5474
5474
5474
5474
5475
5476
5477
5477
5477
5477
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5478
5479
5479
5479
5479
5479
5479
5479
5479
5479
5479
5479
5479
5479
5479
5479
5479
5479
5479
5480
5480
5480
5480
5480
5480
5480
5480
5480
5480
5480
5480
5480
5480
5480
5480
5480
5480
5480
5480
5480
5480
5480
5480
5481
5481
5482
5482
5482
5482
5482
5483
5484
5484
5484
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5485
5486
5486
5487
5487
5487
5487
5487
5488
5488
5488
5488
5489
5490
5490
5491
5491
5491
5491
5491
5491
5491
5491
5491
5491
5491
5491
5492
5492
5492
5492
5492
5492
5492
5492
5492
5493
5493
5493
5494
5494
5494
5494
5494
5494
5494
5494
5495
5495
5495
5495
5495
5495
5495
5495
5495
5495
5495
5495
5495
5495
5496
5497
5497
5497
5497
5498
5498
5499
5500
5500
5501
5502
5503
5504
5505
5506
5507
5507
5507
5508
5508
5509
5510
5511
5512
5513
5514
5515
5516
5516
5516
5517
5517
5517
5518
5519
5520
5521
5522
5523
5523
5523
5523
5523
5524
5524
5525
5526
5527
5527
5527
5528
5529
5529
5529
5529
5529
5529
5529
5529
5529
5529
5529
5529
5530
5531
5531
5531
5532
5533
5533
5533
5533
5534
5534
5534
5534
5534
5534
5534
5535
5536
5537
5538
5539
5540
5540
5541
5542
5542
5543
5543
5544
5545
5546
5547
5547
5547
5547
5548
5548
5549
5550
5551
5552
5553
5554
5555
5555
5556
5556
5557
5557
5557
5557
5558
5559
5560
5561
5561
5561
5561
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5570
5570
5570
5570
5570
5570
5570
5571
5571
5571
5571
5572
5572
5572
5572
5572
5572
5572
5572
5572
5572
5573
5573
5574
5574
5575
5575
5576
5576
5576
5576
5576
5576
5576
5576
5576
5576
5576
5576
5576
5576
5577
5578
5579
5579
5579
5579
5580
5580
5581
5582
5583
5584
5585
5586
5587
5587
5588
5588
5589
5589
5589
5590
5591
5592
5593
5594
5595
5595
5595
5595
5595
5595
5595
5595
5596
5596
5597
5598
5599
5599
5599
5599
5599
5599
5599
5599
5599
5599
5600
5600
5600
5600
5600
5600
5600
5600
5600
5601
5601
5601
5602
5602
5602
5603
5603
5603
5603
5603
5604
5605
5606
5606
5606
5607
5608
5609
5609
5609
5609
5609
5609
5610
5611
5611
5612
5612
5612
5612
5612
5612
5613
5613
5613
5614
5615
5616
5616
5617
5618
5618
5618
5618
5618
5619
5620
5621
5622
5622
5622
5622
5622
5622
5622
5622
5623
5623
5623
5623
5623
5623
5623
5624
5625
5625
5625
5625
5625
5625
5625
5625
5625
5625
5625
5625
5626
5626
5626
5627
5628
5628
5629
5630
5630
5630
5630
5630
5630
5630
5630
5630
5630
5630
5630
5630
5630
5630
5631
5632
5633
5633
5633
5633
5633
5633
5633
5633
5633
5633
5633
5633
5633
5634
5634
5634
5635
5635
5635
5635
5635
5636
5637
5638
5638
5638
5638
5638
5638
5638
5638
5638
5638
5638
5638
5638
5638
5638
5638
5638
5638
5638
5638
5638
5638
5639
5639
5639
5640
5640
5641
5642
5643
5643
5643
5643
5643
5643
5643
5643
5643
5643
5643
5643
5643
5643
5643
5643
5643
5643
5643
5644
5644
5645
5646
5646
5647
5648
5648
5649
5649
5650
5651
5652
5653
5654
5654
5655
5656
5657
5657
5658
5658
5658
5659
5660
5660
5660
5660
5660
5661
5661
5662
5662
5663
5664
5664
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5674
5674
5675
5676
5677
5678
5679
5680
5680
5681
5681
5682
5683
5684
5685
5685
5685
5685
5685
5685
5685
5686
5687
5687
5688
5689
5690
5691
5691
5692
5693
5694
5695
5696
5697
5697
5698
5699
5700
5701
5702
5703
5704
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5721
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5741
5741
5742
5743
5743
5744
5744
5744
5744
5745
5745
5745
5746
5746
5747
5748
5748
5749
5750
5751
5752
5753
5754
5755
5755
5756
5757
5757
5758
5759
5759
5759
5759
5759
5759
5759
5759
5759
5760
5761
5762
5763
5763
5764
5764
5765
5765
5765
5765
5766
5766
5766
5766
5766
5767
5768
5768
5768
5768
5768
5768
5768
5768
5768
5768
5768
5768
5771
5773
5774
5774
5774
5774
5775
5777
5777
5781
5784
5786
5789
5793
5796
5797
5800
5805
5806
5806
5806
5807
5810
5810
5810
5813
5814
5815
5818
5818
5821
5823
5826
5826
5831
5834
5837
5838
5841
5846
5851
5852
5855
5860
5865
5866
5869
5874
5877
5881
5884
5889
5894
5894
5894
5894
5894
5894
5894
5898
5903
5905
5908
5913
5918
5919
5922
5926
5929
5929
5929
5934
5939
5939
5939
5939
5939
5939
5939
5941
5941
5941
5943
5946
5949
5949
5951
5954
5957
5957
5957
5959
5959
5959
5959
5961
5963
5967
5967
5967
5970
5975
5977
5980
5980
5984
5988
5988
5988
5991
5991
5994
5994
5995
5995
5998
6000
6004
6005
6005
6010
6010
6012
6012
6013
6015
6016
6018
6020
6020
6020
6022
6023
6026
6027
6027
6027
6030
6033
6033
6034
6034
6035
6035
6035
6035
6035
6038
6038
6038
6042
6045
6049
6051
6051
6051
6051
6051
6052
6054
6058
6062
6065
6069
6073
6073
6073
6076
6076
6080
6085
6088
6090
6091
6091
6095
6098
6098
6098
6098
6101
6101
6104
6106
6109
6109
6109
6109
6110
6110
6110
6113
6116
6120
6120
6122
6125
6125
6127
6129
6132
6132
6134
6136
6139
6143
6143
6148
6152
6156
6160
6164
6169
6173
6178
6183
6188
6193
6198
6203
6207
6207
6212
6217
6222
6226
6226
6229
6234
6239
6244
6248
6248
6251
6256
6260
6265
6269
6272
6272
6277
6282
6287
6290
6295
6298
6298
6300
6305
6306
6309
6309
6313
6313
6313
6317
6322
6324
6328
6331
6336
6340
6345
6350
6355
6359
6363
6368
6373
6378
6383
6387
6387
6390
6395
6400
6405
6410
6414
6419
6424
6429
6434
6434
6434
6434
6435
6435
6437
6440
6445
6445
6446
6449
6453
6454
6455
6455
6455
6457
6461
6466
6470
6475
6480
6483
6488
6493
6498
6503
6508
6511
6516
6519
6524
6529
6534
6538
6538
6543
6548
6553
6558
6559
6559
6564
6566
6568
6568
6572
6575
6578
6583
6588
6588
6591
6596
6601
6606
6611
6614
6616
6621
6624
6628
6633
6638
6642
6645
6647
6652
6656
6660
6661
6661
6661
6662
6664
6667
6671
6676
6676
6677
6678
6682
6687
6688
6692
6692
6695
6695
6700
6705
6707
6708
6710
6712
6716
6716
6719
6719
6724
6727
6727
6727
6738
6742
6747
6747
6747
6754
6754
6754
6754
6768
6768
6768
6782
6791
6805
6819
6825
6834
6847
6862
6871
6880
6894
6904
6904
6911
6921
6929
6929
6929
6941
6947
6953
6965
6965
6972
6972
6972
6972
6982
6982
6982
6997
7009
7024
7039
7045
7051
7061
7075
7081
7087
7098
7108
7123
7135
7150
7165
7171
7178
7181
7196
7209
7222
7237
7252
7264
7279
7294
7309
7318
7331
7345
7357
7369
7384
7399
7414
7414
7417
7418
7418
7419
7422
7428
7434
7434
7440
7449
7461
7463
7469
7478
7487
7488
7491
7497
7503
7503
7518
7533
7540
7553
7568
7583
7594
7609
7624
7636
7647
7662
7677
7687
7687
7699
7699
7702
7707
7714
7726
7741
7756
7771
7778
7787
7801
7811
7823
7848
7882
7911
7939
7963
7990
8017
8052
8082
8106
8128
8157
8192
8223
8254
8287
8307
8338
8369
8403
8433
8463
8493
8508
8538
8567
8567
8567
8567
8567
8567
8567
8567
8567
8567
8567
8567
8567
8567
8567
8567
8567
8567
8567
8567
8568
8569
8570
8570
8571
8571
8572
8572
8573
8574
8574
8574
8575
8575
8575
8575
8575
8575
8575
8575
8575
8576
8576
8576
8576
8576
8576
8576
8576
8576
8576
8576
8576
8576
8576
8576
8576
8576
8577
8577
8577
8577
8577
8577
8578
8578
8578
8578
8578
8578
8578
8579
8579
8579
8579
8579
8579
8579
8579
8579
8579
8579
8579
8579
8579
8579
8579
8579
8579
8579
8579
8579
8579
8580
8581
8582
8582
8583
8584
8584
8584
8584
8584
8584
8585
8585
8585
8585
8586
8587
8588
8588
8589
8589
8590
8590
8591
8592
8593
8593
8593
8593
8593
8593
8594
8594
8594
8594
8595
8596
8597
8597
8598
8599
8600
8600
8601
8601
8601
8601
8601
8601
8602
8603
8603
8603
8604
8605
8605
8606
8606
8607
8608
8608
8609
8610
8611
8611
8611
8611
8611
8612
8612
8612
8613
8613
8614
8614
8615
8615
8615
8615
8615
8615
8615
8615
8615
8615
8615
8615
8615
8615
8616
8616
8616
8617
8617
8617
8618
8618
8619
8620
8621
8621
8622
8623
8623
8623
8624
8625
8625
8625
8625
8625
8626
8626
8626
8626
8626
8626
8626
8626
8627
8627
8627
8627
8627
8628
8629
8629
8629
8629
8629
8629
8629
8629
8629
8629
8629
8629
8629
8630
8630
8631
8631
8631
8631
8631
8632
8632
8633
8633
8633
8633
8633
8633
8634
8634
8634
8634
8634
8634
8635
8636
8637
8637
8638
8639
8640
8640
8641
8642
8642
8642
8642
8642
8642
8643
8644
8644
8645
8645
8646
8647
8647
8647
8648
8649
8650
8650
8650
8650
8650
8650
8651
8651
8651
8651
8651
8651
8652
8653
8653
8653
8653
8654
8655
8655
8655
8655
8655
8655
8655
8655
8655
8655
8655
8655
8655
8655
8655
8655
8655
8655
8655
8655
8655
8655
8656
8656
8656
8656
8657
8657
8657
8657
8658
8658
8658
8658
8659
8659
8659
8660
8661
8661
8662
8663
8664
8665
8665
8666
8667
8668
8669
8670
8670
8670
8671
8671
8672
8672
8672
8672
8673
8674
8675
8675
8676
8676
8676
8676
8677
8677
8677
8677
8677
8677
8677
8677
8678
8678
8678
8679
8680
8680
8681
8681
8682
8683
8683
8684
8684
8685
8686
8686
8686
8687
8687
8688
8688
8689
8689
8689
8689
8689
8689
8690
8690
8690
8690
8690
8690
8691
8691
8691
8692
8692
8693
8693
8694
8695
8696
8697
8698
8698
8698
8698
8699
8700
8700
8700
8700
8700
8701
8702
8703
8703
8703
8703
8703
8703
8703
8704
8705
8705
8706
8707
8707
8707
8708
8708
8708
8708
8708
8709
8710
8710
8710
8710
8710
8710
8710
8710
8710
8710
8710
8710
8711
8712
8712
8712
8713
8713
8713
8713
8714
8714
8714
8714
8715
8715
8715
8715
8716
8716
8716
8716
8716
8716
8716
8716
8716
8716
8716
8716
8717
8717
8717
8717
8718
8718
8718
8718
8719
8719
8719
8719
8719
8720
8721
8722
8722
8723
8724
8725
8725
8726
8727
8728
8729
8729
8729
8730
8730
8730
8730
8730
8730
8731
8731
8732
8733
8733
8734
8734
8735
8735
8736
8737
8738
8738
8739
8740
8741
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8750
8751
8752
8753
8754
8754
8755
8756
8757
8758
8759
8759
8760
8761
8762
8763
8764
8764
8764
8765
8766
8767
8767
8768
8769
8770
8770
8771
8772
8773
8773
8774
8775
8776
8776
8777
8777
8778
8779
8779
8780
8781
8782
8783
8784
8784
8785
8786
8787
8788
8789
8789
8790
8791
8792
8793
8794
8794
8795
8796
8797
8798
8798
8799
8800
8801
8801
8802
8803
8803
8803
8804
8805
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8824
8824
8824
8824
8825
8826
8827
8827
8828
8829
8829
8829
8830
8831
8832
8833
8834
8835
8836
8836
8837
8837
8838
8839
8840
8841
8842
8843
8844
8844
8845
8846
8846
8847
8847
8847
8847
8848
8849
8849
8850
8851
8852
8852
8852
8852
8852
8853
8853
8853
8853
8854
8855
8856
8856
8856
8857
8857
8858
8858
8859
8860
8860
8861
8862
8863
8864
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8904
8905
8906
8907
8908
8909
8910
8911
8912
8913
8913
8913
8913
8913
8914
8914
8914
8914
8914
8914
8914
8914
8915
8915
8916
8916
8916
8917
8918
8919
8920
8921
8922
8923
8924
8924
8924
8924
8925
8925
8925
8926
8927
8928
8929
8930
8931
8932
8933
8934
8935
8936
8937
8938
8939
8939
8939
8939
8939
8939
8939
8940
8940
8941
8941
8941
8942
8942
8943
8943
8944
8944
8944
8945
8946
8946
8947
8948
8948
8949
8950
8950
8950
8951
8952
8953
8954
8955
8956
8957
8957
8957
8957
8958
8958
8959
8959
8960
8961
8961
8962
8962
8962
8962
8963
8963
8963
8964
8965
8966
8967
8968
8969
8970
8971
8971
8971
8971
8971
8971
8971
8971
8971
8971
8974
8974
8974
8974
8974
8974
8974
8974
8974
8974
8979
8984
8984
8984
8987
8987
8991
8991
8994
8994
8998
9001
9005
9005
9005
9005
9005
9005
9005
9005
9010
9015
9015
9015
9020
9020
9025
9025
9030
9030
9034
9034
9039
9039
9039
9039
9044
9044
9048
9048
9053
9058
9063
9063
9068
9073
9073
9073
9076
9078
9078
9082
9082
9082
9083
9085
9085
9085
9088
9092
9094
9094
9094
9094
9096
9096
9096
9096
9096
9096
9096
9096
9096
9100
9103
9107
9107
9109
9113
9113
9113
9113
9113
9113
9116
9120
9120
9120
9125
9125
9129
9129
9133
9133
9137
9142
9147
9147
9147
9147
9147
9147
9147
9147
9150
9150
9154
9154
9159
9159
9164
9164
9169
9169
9174
9174
9177
9177
9181
9181
9181
9185
9189
9194
9198
9203
9207
9212
9212
9217
9222
9227
9232
9232
9232
9236
9236
9236
9236
9236
9236
9241
9246
9251
9255
9259
9264
9269
9274
9274
9276
9276
9276
9279
9279
9282
9287
9291
9294
9294
9297
9301
9306
9311
9316
9321
9325
9330
9335
9340
9342
9347
9351
9354
9359
9364
9369
9374
9379
9384
9388
9392
9397
9402
9407
9407
9407
9407
9407
9407
9407
9410
9414
9414
9414
9414
9414
9417
9421
9421
9424
9424
9428
9428
9428
9428
9428
9428
9428
9428
9429
9431
9431
9431
9436
9441
9441
9441
9441
9446
9451
9451
9451
9451
9451
9454
9458
9473
9483
9498
9513
9528
9543
9558
9571
9586
9601
9613
9613
9625
9635
9645
9660
9675
9690
9700
9710
9720
9730
9745
9760
9775
9775
9790
9805
9820
9835
9850
9865
9880
9895
9910
9925
9940
9940
9955
9970
9985
9985
9985
9985
9985
9985
9985
9985
9985
9985
9985
9985
9985
9985
9985
9985
9985
9985
9985
9985
9985
9985
9985
9985
9986
9987
9988
9988
9989
9990
9991
9991
9992
9992
9992
9992
9992
9992
9992
9992
9992
9992
9993
9993
9993
9993
9993
9993
9993
9993
9993
9993
9993
9993
9993
9993
9994
9995
9995
9996
9997
9998
9998
9999
10000
10000
10000
10000
10000
10001
10002
10003
10003
10004
10004
10005
10005
10005
10005
10005
10005
10005
10005
10005
10005
10005
10005
10005
10005
10005
10005
10005
10006
10007
10007
10007
10007
10007
10007
10007
10007
10007
10007
10007
10007
10007
10007
10007
10007
10007
10007
10007
10007
10007
10007
10007
10007
10007
10007
10008
10009
10009
10009
10010
10011
10011
10011
10011
10011
10011
10011
10011
10012
10013
10013
10014
10014
10015
10016
10016
10017
10017
10017
10017
10017
10017
10017
10017
10017
10017
10017
10017
10017
10017
10017
10017
10017
10017
10017
10017
10017
10017
10017
10017
10017
10017
10017
10017
10017
10018
10019
10020
10020
10020
10021
10022
10023
10023
10023
10023
10023
10024
10025
10025
10025
10025
10025
10025
10025
10025
10025
10026
10027
10027
10027
10028
10029
10030
10030
10030
10030
10030
10031
10032
10036
10041
10041
10041
10045
10045
10050
10054
10059
10064
10064
10064
10068
10072
10072
10076
10076
10081
10086
10091
10096
10101
10101
10106
10111
10111
10116
10121
10126
10126
10127
10128
10129
10130
10131
