0
0
0
0
0
0
1
1
1
1
1
1
1
2
2
2
2
2
3
3
4
4
4
5
5
6
6
6
6
7
7
7
7
7
7
7
8
8
8
8
9
11
11
13
15
15
15
15
18
18
18
18
21
22
22
24
27
28
29
29
41
49
50
59
70
81
85
106
131
150
180
180
180
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
185
185
186
186
187
187
187
187
187
187
188
188
188
188
188
188
188
188
189
189
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
191
191
192
193
193
193
193
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
195
196
196
196
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
199
199
199
199
199
202
202
204
204
204
205
207
209
209
209
209
209
209
210
210
210
210
210
210
210
212
212
212
214
218
219
224
227
231
231
231
231
231
231
235
239
239
240
240
242
242
242
245
245
248
248
248
248
248
248
250
250
253
253
253
258
258
263
267
267
267
273
275
277
277
279
280
282
290
298
299
307
320
331
331
334
342
353
355
367
367
376
380
390
399
405
409
415
426
431
437
444
452
464
484
514
538
565
589
606
628
628
628
628
628
628
628
628
628
628
628
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
630
630
630
630
630
630
630
630
631
631
632
632
632
632
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
635
635
635
635
635
635
635
635
635
635
635
636
636
636
636
636
636
636
636
636
636
637
637
637
637
637
637
638
638
638
638
639
640
641
642
643
643
643
643
643
643
643
643
643
643
643
643
643
643
643
643
643
644
644
644
645
645
646
646
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
647
649
651
651
651
652
652
652
652
652
652
652
652
653
653
653
653
653
653
653
656
661
661
661
663
665
665
665
665
666
666
666
666
666
666
666
666
666
667
667
667
667
670
675
675
678
682
682
682
685
688
688
690
694
698
701
703
703
707
711
711
711
711
711
715
715
719
720
720
723
725
725
725
725
725
725
729
729
729
730
730
730
733
738
738
741
742
744
744
748
748
748
748
748
748
748
749
752
752
756
756
756
756
756
756
765
780
794
795
805
820
835
849
861
876
890
895
905
919
931
945
956
970
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
976
977
978
978
978
978
978
978
978
978
978
978
978
978
978
978
978
978
978
978
978
978
978
978
978
978
978
978
978
978
978
979
980
980
980
981
982
982
982
982
982
982
982
982
982
982
982
982
982
982
983
983
983
983
984
985
985
985
985
985
985
985
985
985
986
987
987
987
987
987
987
987
987
987
987
987
987
988
989
989
989
989
989
989
989
989
989
989
989
989
989
989
989
989
989
989
989
989
989
989
989
989
993
997
1002
1002
1004
1008
1012
1017
1017
1020
1025
1029
1033
1037
1037
1041
1045
1049
1050
1054
1055
1056
1057
1058
1059
1060
1061
1061
1061
1061
1061
1061
1062
1062
1062
1062
1062
1062
1062
1063
1063
1063
1063
1063
1064
1064
1065
1065
1065
1066
1066
1067
1067
1067
1067
1068
1068
1068
1068
1068
1068
1068
1069
1070
1070
1070
1071
1073
1073
1075
1077
1077
1077
1077
1080
1080
1080
1080
1084
1085
1085
1087
1090
1093
1095
1097
1109
1117
1118
1127
1138
1147
1152
1174
1199
1218
1250
1250
1250
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1252
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1253
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1254
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1256
1256
1257
1257
1258
1258
1258
1258
1258
1258
1259
1259
1259
1259
1259
1259
1259
1259
1260
1260
1261
1261
1261
1261
1261
1261
1261
1261
1261
1261
1262
1262
1262
1262
1262
1262
1262
1262
1262
1263
1263
1264
1265
1265
1265
1266
1267
1267
1267
1267
1267
1267
1267
1267
1267
1267
1267
1267
1267
1267
1267
1268
1269
1269
1269
1271
1271
1271
1271
1271
1271
1271
1271
1271
1271
1271
1271
1271
1271
1271
1271
1271
1271
1271
1271
1271
1271
1272
1272
1272
1272
1272
1272
1272
1272
1272
1272
1272
1272
1272
1272
1272
1272
1272
1273
1273
1273
1273
1273
1276
1276
1278
1278
1278
1279
1281
1283
1283
1283
1283
1283
1284
1285
1285
1285
1285
1285
1285
1285
1287
1288
1290
1292
1296
1297
1302
1305
1309
1309
1309
1309
1312
1315
1320
1324
1324
1325
1325
1327
1327
1328
1331
1331
1334
1334
1334
1334
1334
1334
1336
1337
1340
1342
1342
1347
1347
1352
1356
1356
1356
1362
1364
1365
1367
1369
1370
1372
1380
1388
1390
1398
1411
1422
1422
1425
1433
1444
1446
1458
1458
1467
1471
1481
1490
1496
1500
1506
1517
1522
1530
1538
1546
1558
1578
1608
1632
1659
1686
1703
1729
1729
1729
1729
1729
1729
1729
1729
1729
1729
1729
1730
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1731
1732
1732
1732
1732
1732
1732
1732
1732
1733
1733
1734
1734
1734
1734
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1735
1736
1736
1736
1736
1736
1736
1736
1736
1736
1736
1736
1736
1736
1736
1736
1736
1736
1736
1737
1738
1739
1739
1739
1739
1739
1739
1739
1739
1739
1739
1739
1739
1739
1739
1739
1740
1740
1740
1740
1740
1740
1740
1740
1740
1740
1741
1742
1743
1743
1743
1744
1744
1744
1744
1744
1744
1745
1745
1745
1745
1745
1745
1746
1746
1746
1746
1747
1748
1749
1750
1751
1751
1751
1751
1751
1751
1751
1751
1751
1751
1751
1751
1751
1752
1752
1752
1752
1753
1754
1754
1755
1755
1756
1756
1757
1757
1757
1757
1758
1759
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1760
1762
1764
1764
1764
1765
1765
1765
1765
1765
1765
1765
1765
1766
1766
1766
1766
1766
1766
1766
1769
1774
1774
1774
1777
1780
1780
1781
1781
1782
1783
1783
1783
1784
1786
1786
1786
1786
1787
1787
1787
1787
1790
1795
1795
1798
1802
1802
1802
1805
1808
1808
1810
1814
1818
1821
1823
1823
1827
1831
1831
1831
1831
1831
1835
1835
1839
1840
1840
1843
1845
1845
1845
1846
1848
1848
1852
1852
1852
1853
1853
1853
1856
1861
1861
1864
1866
1869
1869
1873
1873
1873
1873
1873
1873
1874
1876
1879
1879
1883
1883
1883
1884
1884
1885
1895
1910
1924
1926
1936
1951
1966
1980
1992
2007
2022
2027
2037
2051
2063
2078
2089
2104
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2111
2112
2113
2113
2113
2113
2113
2113
2113
2113
2113
2113
2113
2113
2113
2113
2113
2113
2113
2113
2113
2113
2113
2113
2113
2113
2113
2113
2113
2113
2113
2114
2115
2115
2115
2116
2117
2117
2117
2117
2117
2117
2117
2117
2117
2117
2117
2117
2117
2117
2118
2118
2118
2118
2119
2120
2120
2120
2120
2120
2120
2120
2120
2120
2121
2122
2122
2122
2122
2122
2122
2122
2122
2122
2122
2122
2122
2123
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2124
2128
2132
2137
2137
2139
2143
2147
2152
2152
2155
2160
2164
2168
2172
2172
2176
2180
2184
2185
2189
2190
2191
2192
2193
2194
2195
2196
2196
2196
2196
2196
2196
2197
2197
2197
2197
2197
2197
2197
2198
2198
2198
2198
2198
2199
2199
2200
2200
2200
2201
2201
2202
2202
2202
2202
2203
2203
2203
2203
2203
2203
2203
2204
2206
2206
2206
2210
2213
2215
2219
2222
2222
2225
2227
2231
2231
2233
2233
2238
2240
2243
2246
2249
2256
2258
2260
2269
2279
2290
2301
2310
2318
2323
2342
2364
2382
2412
2412
2413
2414
2414
2414
2414
2414
2414
2414
2414
2414
2414
2414
2414
2414
2414
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2415
2416
2417
2417
2417
2418
2419
2420
2421
2421
2421
2422
2422
2422
2422
2422
2422
2422
2422
2422
2422
2422
2422
2422
2422
2423
2423
2423
2423
2424
2425
2426
2426
2426
2427
2427
2428
2428
2428
2428
2428
2428
2428
2429
2429
2429
2429
2429
2429
2429
2429
2429
2429
2430
2431
2431
2431
2432
2432
2433
2433
2434
2434
2434
2434
2435
2436
2436
2437
2438
2438
2439
2439
2440
2440
2441
2441
2441
2441
2441
2441
2441
2441
2442
2443
2444
2445
2446
2447
2447
2447
2447
2447
2447
2447
2447
2447
2448
2448
2448
2448
2448
2448
2448
2448
2448
2448
2448
2448
2449
2449
2449
2449
2449
2449
2449
2449
2449
2449
2449
2449
2449
2449
2449
2449
2449
2449
2449
2449
2449
2449
2449
2449
2449
2449
2449
2449
2449
2450
2450
2451
2451
2451
2452
2453
2453
2454
2454
2455
2455
2456
2457
2458
2459
2460
2460
2461
2461
2462
2462
2462
2462
2463
2463
2464
2464
2464
2464
2464
2464
2464
2464
2464
2464
2465
2465
2465
2465
2465
2466
2466
2466
2466
2467
2467
2468
2469
2470
2471
2472
2473
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2475
2476
2476
2476
2480
2481
2481
2481
2481
2483
2483
2483
2483
2483
2484
2487
2487
2487
2489
2489
2491
2491
2493
2494
2494
2494
2496
2496
2496
2496
2496
2496
2496
2496
2496
2496
2497
2500
2504
2506
2506
2509
2514
2518
2520
2522
2527
2530
2535
2539
2541
2544
2546
2547
2549
2552
2553
2553
2554
2556
2557
2559
2560
2564
2567
2572
2576
2578
2581
2585
2589
2593
2597
2600
2605
2609
2613
2615
2620
2624
2629
2634
2639
2643
2646
2647
2652
2654
2656
2660
2663
2664
2667
2668
2671
2671
2671
2671
2675
2676
2679
2684
2688
2693
2696
2701
2706
2706
2712
2722
2736
2738
2741
2743
2753
2764
2777
2788
2801
2815
2829
2841
2851
2864
2879
2891
2896
2907
2920
2929
2933
2943
2952
2958
2962
2972
2983
2988
2996
3004
3010
3022
3047
3077
3108
3137
3166
3182
3209
3209
3209
3209
3209
3209
3209
3209
3209
3209
3209
3210
3211
3212
3212
3212
3212
3212
3212
3212
3212
3212
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3213
3214
3214
3214
3214
3214
3214
3214
3215
3215
3215
3216
3217
3217
3217
3217
3217
3217
3217
3217
3217
3217
3217
3217
3217
3217
3217
3217
3217
3218
3218
3218
3218
3218
3218
3218
3218
3218
3218
3218
3218
3218
3219
3219
3219
3219
3220
3220
3220
3220
3220
3220
3220
3220
3220
3220
3220
3220
3220
3220
3220
3220
3220
3220
3220
3220
3220
3220
3220
3220
3220
3221
3222
3222
3222
3222
3222
3222
3222
3223
3223
3224
3225
3225
3225
3226
3227
3228
3228
3228
3229
3229
3229
3229
3230
3230
3231
3232
3232
3232
3232
3233
3234
3235
3236
3236
3237
3238
3238
3239
3240
3241
3242
3243
3243
3243
3244
3245
3246
3247
3247
3247
3248
3249
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3250
3251
3251
3251
3252
3252
3252
3252
3252
3252
3252
3252
3252
3252
3253
3254
3255
3256
3257
3258
3259
3259
3259
3259
3260
3260
3260
3260
3260
3260
3260
3260
3260
3260
3261
3262
3263
3264
3265
3266
3267
3268
3268
3269
3269
3269
3269
3269
3270
3271
3271
3271
3271
3271
3271
3271
3271
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3283
3283
3283
3284
3285
3286
3286
3287
3288
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3300
3301
3301
3301
3301
3302
3303
3304
3304
3305
3305
3305
3305
3306
3306
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3316
3317
3318
3319
3319
3320
3321
3322
3323
3323
3324
3325
3326
3327
3328
3329
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3338
3338
3338
3338
3338
3338
3339
3339
3339
3339
3340
3340
3340
3340
3340
3341
3341
3342
3342
3342
3342
3343
3343
3343
3343
3344
3344
3345
3345
3346
3347
3347
3347
3348
3348
3348
3348
3348
3349
3350
3350
3350
3351
3352
3352
3352
3352
3352
3352
3353
3353
3353
3353
3353
3353
3353
3353
3353
3353
3353
3353
3353
3353
3353
3353
3353
3353
3353
3353
3353
3357
3361
3364
3364
3367
3367
3367
3367
3367
3367
3367
3371
3374
3376
3376
3376
3379
3383
3383
3388
3393
3393
3393
3397
3401
3401
3404
3409
3414
3417
3421
3421
3425
3429
3429
3429
3431
3436
3436
3436
3436
3441
3446
3446
3451
3455
3455
3458
3463
3468
3468
3469
3474
3479
3481
3484
3484
3489
3494
3494
3497
3497
3499
3504
3509
3514
3517
3522
3527
3530
3534
3535
3539
3544
3544
3549
3551
3551
3555
3559
3564
3567
3572
3577
3580
3585
3590
3595
3600
3605
3610
3613
3618
3623
3626
3629
3634
3639
3644
3644
3647
3651
3655
3658
3673
3688
3702
3713
3727
3742
3757
3771
3783
3798
3813
3825
3840
3854
3866
3881
3893
3908
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3920
3921
3922
3922
3922
3923
3924
3924
3924
3924
3924
3925
3926
3926
3926
3927
3928
3929
3929
3929
3930
3931
3931
3931
3931
3932
3933
3933
3933
3933
3934
3935
3935
3935
3935
3935
3935
3935
3935
3935
3935
3935
3935
3935
3935
3936
3937
3938
3938
3939
3940
3941
3941
3941
3942
3943
3943
3943
3943
3943
3943
3944
3944
3944
3945
3946
3946
3946
3947
3948
3949
3949
3949
3949
3949
3950
3951
3951
3952
3953
3954
3954
3954
3955
3955
3955
3955
3955
3955
3955
3955
3956
3957
3958
3958
3958
3959
3960
3960
3960
3960
3960
3960
3960
3960
3960
3961
3961
3961
3961
3961
3961
3961
3961
3961
3961
3961
3965
3969
3974
3974
3978
3982
3986
3991
3991
3995
4000
4004
4009
4014
4014
4019
4024
4029
4033
4038
4039
4040
4041
4042
4043
4044
4045
