0
0
0
0
0
0
0
1
1
1
2
2
2
2
3
3
3
3
3
3
3
3
4
4
5
5
5
6
6
6
6
7
7
7
7
8
8
8
8
9
10
10
12
13
13
15
15
15
15
18
18
18
18
22
26
27
27
28
28
31
41
49
56
57
71
85
85
106
125
153
178
178
178
178
178
179
179
179
179
179
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
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
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
185
185
185
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
187
187
187
187
187
187
187
187
187
188
188
188
188
188
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
190
190
190
191
191
191
191
192
192
193
194
195
196
197
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
199
200
201
202
202
202
202
202
203
204
205
206
206
207
207
207
209
209
209
209
209
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
213
213
213
213
213
214
214
214
214
217
220
224
224
226
226
226
226
226
227
227
228
228
228
228
231
231
231
231
231
231
231
233
233
233
237
237
237
237
237
240
243
246
248
253
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
260
260
262
262
262
262
264
264
264
264
266
267
270
273
277
282
282
286
296
304
313
315
321
327
336
348
348
348
352
360
369
369
371
379
390
405
405
405
406
409
409
409
409
412
415
420
431
434
443
455
470
499
520
544
575
575
598
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
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
631
631
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
633
633
633
633
634
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
636
636
636
636
636
636
636
636
636
636
636
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
638
639
639
640
641
641
641
641
641
641
641
641
641
641
641
641
641
641
641
641
641
641
641
641
642
643
643
643
644
644
645
646
646
647
648
648
649
649
650
650
650
650
650
650
650
650
651
651
651
651
651
651
651
652
652
652
652
652
652
652
653
654
654
655
656
656
656
656
656
656
656
656
656
656
656
656
656
656
656
656
656
657
658
658
658
658
658
658
658
658
658
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
660
660
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
662
662
662
662
662
662
663
664
664
664
666
669
673
673
673
673
677
677
681
681
681
681
681
681
681
681
681
683
683
687
687
691
691
695
695
695
695
695
695
695
695
695
695
695
695
698
703
708
713
714
717
717
718
718
718
718
721
721
722
726
729
734
739
744
744
744
744
744
744
746
746
750
754
754
754
754
754
754
754
755
755
755
755
755
755
755
759
763
763
763
763
763
763
763
766
771
771
771
774
779
779
779
779
783
783
783
783
783
783
783
783
787
798
812
827
840
855
870
876
888
891
896
908
923
923
932
947
962
977
987
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1003
1004
1004
1004
1004
1004
1004
1004
1004
1004
1004
1004
1004
1005
1006
1006
1006
1006
1006
1006
1006
1006
1006
1006
1006
1006
1006
1006
1007
1008
1008
1008
1008
1008
1008
1008
1009
1009
1009
1009
1009
1009
1009
1009
1009
1010
1010
1010
1010
1010
1010
1010
1010
1011
1011
1011
1011
1011
1011
1011
1011
1011
1011
1011
1011
1011
1011
1011
1011
1011
1011
1011
1011
1011
1011
1011
1011
1011
1012
1013
1013
1013
1014
1015
1015
1015
1015
1016
1016
1016
1016
1016
1016
1016
1017
1017
1017
1017
1017
1017
1017
1017
1017
1017
1017
1017
1017
1017
1017
1018
1019
1019
1019
1019
1019
1019
1019
1023
1026
1030
1034
1038
1038
1038
1042
1046
1050
1050
1054
1054
1058
1063
1068
1072
1077
1081
1085
1089
1090
1091
1092
1093
1094
1095
1096
1096
1096
1096
1096
1096
1096
1097
1097
1097
1098
1098
1098
1098
1099
1099
1099
1099
1099
1099
1099
1099
1100
1100
1101
1101
1101
1102
1102
1102
1102
1103
1103
1103
1103
1104
1104
1105
1105
1106
1107
1107
1109
1110
1110
1112
1112
1112
1113
1116
1116
1116
1116
1121
1125
1127
1127
1130
1130
1133
1143
1151
1159
1163
1177
1191
1191
1211
1230
1256
1275
1275
1275
1275
1275
1276
1276
1276
1276
1276
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1277
1278
1278
1278
1278
1279
1279
1279
1279
1279
1279
1279
1279
1279
1279
1279
1279
1279
1279
1279
1279
1279
1279
1279
1279
1279
1279
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1280
1281
1282
1282
1282
1283
1284
1285
1285
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1286
1287
1287
1287
1287
1287
1287
1287
1287
1287
1287
1287
1287
1287
1287
1287
1287
1287
1287
1287
1287
1287
1288
1288
1288
1288
1288
1288
1288
1288
1288
1289
1289
1289
1289
1289
1290
1290
1290
1290
1290
1290
1290
1290
1290
1290
1290
1290
1290
1290
1290
1291
1291
1291
1292
1292
1292
1293
1293
1293
1293
1294
1294
1295
1296
1297
1298
1299
1300
1300
1300
1300
1300
1300
1300
1300
1300
1300
1300
1300
1300
1300
1300
1300
1300
1301
1302
1303
1304
1305
1306
1306
1306
1306
1306
1307
1308
1309
1310
1310
1311
1312
1312
1314
1314
1314
1314
1314
1317
1317
1317
1317
1317
1317
1317
1318
1318
1319
1319
1319
1319
1319
1319
1319
1319
1319
1319
1319
1319
1320
1320
1320
1320
1321
1322
1322
1322
1322
1325
1328
1332
1332
1334
1334
1334
1334
1334
1335
1335
1336
1336
1336
1336
1339
1339
1339
1339
1339
1339
1339
1341
1341
1341
1345
1345
1345
1345
1346
1349
1352
1355
1359
1364
1369
1369
1369
1369
1369
1369
1369
1369
1369
1369
1369
1369
1369
1369
1369
1371
1371
1373
1373
1373
1373
1375
1375
1376
1380
1383
1384
1387
1390
1394
1399
1399
1405
1415
1423
1432
1434
1440
1446
1455
1467
1467
1467
1472
1480
1488
1488
1490
1499
1511
1526
1526
1526
1527
1530
1530
1530
1530
1533
1536
1541
1552
1555
1564
1576
1591
1620
1637
1656
1687
1687
1710
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1741
1742
1742
1742
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1743
1744
1744
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1745
1746
1746
1746
1746
1747
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1749
1749
1749
1749
1749
1749
1749
1750
1750
1751
1751
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1753
1753
1753
1753
1753
1753
1753
1753
1754
1754
1754
1754
1754
1754
1754
1754
1754
1754
1754
1754
1754
1754
1754
1754
1754
1754
1754
1754
1754
1754
1754
1755
1756
1756
1757
1758
1758
1758
1758
1758
1758
1758
1758
1758
1758
1758
1758
1758
1758
1758
1758
1758
1758
1758
1758
1759
1760
1760
1760
1761
1761
1762
1762
1762
1763
1764
1764
1765
1765
1766
1766
1766
1766
1766
1766
1766
1766
1767
1767
1767
1767
1767
1767
1767
1768
1768
1768
1768
1768
1768
1768
1769
1770
1770
1771
1772
1772
1772
1772
1772
1772
1772
1772
1772
1772
1772
1772
1772
1773
1773
1773
1773
1774
1775
1775
1775
1776
1776
1776
1777
1777
1777
1778
1778
1778
1779
1779
1779
1779
1779
1779
1779
1779
1779
1779
1779
1779
1779
1779
1779
1779
1779
1779
1779
1779
1779
1780
1780
1780
1780
1780
1780
1780
1780
1780
1781
1782
1783
1783
1783
1783
1783
1783
1783
1783
1783
1783
1783
1783
1783
1783
1783
1783
1784
1784
1784
1784
1784
1784
1784
1784
1784
1785
1785
1785
1785
1785
1785
1786
1786
1786
1786
1786
1786
1787
1788
1788
1788
1790
1793
1797
1797
1797
1797
1801
1801
1805
1805
1807
1809
1809
1809
1809
1809
1810
1813
1813
1816
1816
1820
1820
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1824
1827
1832
1837
1842
1843
1846
1846
1847
1847
1847
1847
1850
1850
1851
1855
1858
1863
1868
1873
1873
1873
1873
1873
1873
1875
1875
1879
1883
1883
1883
1883
1883
1883
1883
1884
1884
1884
1885
1887
1887
1887
1889
1893
1893
1893
1893
1893
1893
1893
1896
1901
1901
1901
1904
1909
1909
1909
1909
1913
1913
1913
1913
1913
1913
1913
1913
1917
1928
1942
1957
1970
1985
2000
2006
2018
2021
2026
2038
2053
2053
2063
2078
2093
2108
2118
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2133
2134
2135
2135
2135
2135
2135
2135
2135
2135
2135
2135
2135
2135
2136
2137
2137
2137
2137
2137
2137
2137
2137
2137
2137
2137
2137
2137
2137
2138
2139
2139
2139
2139
2139
2139
2139
2140
2141
2141
2141
2141
2141
2141
2141
2141
2142
2142
2142
2142
2142
2142
2142
2142
2143
2143
2143
2143
2143
2143
2143
2143
2143
2143
2143
2143
2143
2143
2143
2143
2143
2143
2143
2143
2143
2143
2143
2143
2143
2144
2145
2145
2145
2146
2147
2147
2147
2147
2148
2148
2148
2148
2148
2148
2148
2149
2149
2149
2149
2149
2149
2149
2149
2149
2149
2149
2149
2149
2149
2149
2150
2151
2151
2151
2151
2151
2151
2151
2155
2158
2162
2166
2170
2170
2170
2174
2178
2182
2182
2186
2186
2190
2195
2200
2204
2209
2213
2217
2221
2222
2223
2224
2225
2226
2227
2228
2228
2228
2228
2228
2228
2228
2229
2229
2229
2230
2230
2230
2230
2231
2231
2231
2231
2231
2231
2231
2231
2232
2232
2233
2233
2233
2234
2234
2234
2234
2235
2235
2235
2235
2236
2236
2237
2237
2238
2240
2243
2246
2248
2251
2254
2256
2260
2262
2265
2270
2273
2277
2282
2287
2292
2292
2297
2303
2306
2316
2327
2340
2349
2361
2373
2373
2391
2410
2430
2441
2441
2441
2441
2441
2442
2442
2442
2442
2442
2443
2443
2443
2443
2443
2443
2443
2444
2445
2445
2445
2445
2445
2445
2445
2446
2446
2447
2447
2447
2447
2447
2447
2447
2447
2448
2448
2448
2448
2448
2448
2448
2448
2448
2448
2448
2448
2448
2448
2449
2449
2449
2449
2450
2450
2450
2450
2450
2450
2450
2450
2450
2450
2450
2450
2450
2450
2450
2450
2450
2450
2450
2450
2450
2450
2451
2451
2451
2451
2451
2451
2451
2451
2451
2451
2451
2451
2451
2451
2451
2451
2451
2451
2451
2451
2451
2451
2451
2451
2452
2453
2453
2454
2455
2455
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2465
2465
2465
2466
2466
2466
2466
2467
2467
2467
2468
2468
2468
2468
2468
2468
2468
2468
2468
2468
2469
2469
2469
2469
2470
2471
2472
2472
2473
2473
2473
2474
2475
2476
2477
2478
2479
2480
2480
2480
2480
2480
2480
2480
2480
2481
2481
2482
2482
2482
2483
2483
2484
2485
2486
2487
2488
2489
2490
2491
2491
2491
2492
2492
2492
2492
2492
2493
2493
2493
2493
2493
2493
2493
2493
2493
2493
2493
2493
2493
2493
2493
2494
2494
2494
2495
2495
2495
2495
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2505
2505
2506
2506
2506
2506
2506
2506
2506
2506
2507
2507
2508
2508
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2523
2524
2525
2525
2527
2527
2527
2527
2527
2529
2529
2529
2529
2529
2529
2529
2531
2535
2540
2540
2540
2540
2541
2541
2541
2541
2541
2543
2543
2543
2545
2547
2548
2551
2555
2556
2557
2557
2558
2562
2565
2570
2571
2576
2581
2581
2581
2581
2582
2582
2583
2588
2588
2593
2598
2598
2599
2599
2600
2601
2604
2609
2610
2615
2620
2623
2627
2632
2637
2642
2647
2652
2657
2662
2667
2667
2669
2669
2671
2673
2676
2678
2680
2683
2683
2686
2690
2695
2698
2703
2708
2713
2717
2720
2724
2726
2729
2734
2739
2743
2748
2753
2758
2763
2768
2768
2774
2786
2794
2803
2805
2811
2818
2827
2838
2838
2838
2841
2844
2852
2852
2867
2882
2897
2912
2912
2915
2926
2938
2948
2954
2969
2978
2991
3006
3018
3033
3048
3063
3078
3105
3115
3134
3165
3177
3205
3236
3236
3236
3236
3236
3236
3236
3236
3236
3236
3236
3236
3236
3236
3236
3236
3236
3236
3236
3236
3236
3236
3236
3236
3236
3236
3236
3236
3236
3237
3237
3237
3238
3238
3238
3238
3239
3239
3239
3239
3239
3239
3239
3239
3239
3239
3239
3239
3239
3239
3240
3240
3240
3240
3240
3240
3240
3240
3240
3240
3240
3240
3241
3242
3243
3244
3245
3245
3245
3245
3245
3245
3245
3245
3245
3245
3245
3245
3245
3245
3245
3245
3245
3245
3245
3245
3246
3246
3246
3247
3248
3248
3248
3248
3248
3248
3248
3248
3249
3249
3249
3249
3249
3249
3249
3250
3251
3251
3251
3251
3252
3252
3252
3252
3252
3252
3252
3252
3252
3252
3252
3252
3252
3252
3252
3252
3253
3254
3255
3256
3256
3256
3256
3256
3257
3257
3258
3259
3259
3260
3261
3261
3261
3262
3263
3263
3263
3263
3263
3263
3263
3263
3263
3263
3263
3263
3263
3263
3263
3263
3263
3263
3263
3263
3263
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3272
3272
3272
3273
3273
3273
3274
3274
3275
3276
3277
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3292
3293
3293
3293
3293
3293
3293
3293
3293
3293
3294
3295
3296
3296
3296
3296
3296
3296
3296
3297
3297
3297
3297
3298
3299
3300
3301
3301
3301
3301
3301
3301
3301
3301
3301
3301
3301
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3311
3311
3311
3311
3311
3311
3311
3311
3312
3313
3313
3314
3315
3316
3316
3317
3318
3319
3319
3320
3321
3321
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3333
3333
3333
3333
3333
3334
3335
3335
3336
3337
3338
3338
3339
3340
3341
3342
3343
3344
3345
3346
3346
3347
3348
3349
3350
3350
3350
3350
3350
3350
3350
3351
3351
3352
3353
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3363
3363
3364
3365
3366
3367
3368
3369
3370
3370
3370
3370
3370
3371
3372
3373
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3397
3397
3397
3397
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3408
3408
3409
3410
3411
3412
3412
3412
3413
3414
3415
3416
3416
3416
3420
3420
3420
3420
3420
3420
3422
3424
3424
3424
3425
3428
3433
3433
3435
3438
3443
3448
3453
3455
3457
3461
3461
3461
3461
3465
3470
3475
3477
3482
3486
3491
3495
3500
3500
3502
3504
3507
3509
3509
3509
3509
3509
3509
3509
3513
3518
3523
3528
3532
3536
3540
3544
3549
3554
3558
3561
3566
3571
3576
3581
3586
3591
3596
3596
3596
3596
3596
3597
3602
3607
3612
3617
3617
3617
3617
3617
3622
3624
3628
3632
3635
3640
3645
3650
3655
3660
3665
3665
3665
3665
3665
3665
3665
3670
3675
3675
3675
3680
3685
3685
3685
3688
3693
3693
3693
3693
3696
3696
3696
3696
3701
3712
3725
3740
3754
3769
3784
3795
3807
3818
3830
3842
3857
3869
3883
3898
3913
3928
3943
3958
3958
3958
3958
3958
3958
3958
3958
3958
3958
3958
3958
3958
3958
3958
3958
3958
3958
3958
3958
3959
3960
3960
3960
3960
3960
3960
3960
3960
3960
3961
3962
3963
3963
3963
3964
3965
3965
3965
3965
3965
3965
3965
3966
3967
3968
3968
3968
3968
3968
3968
3968
3968
3968
3968
3969
3970
3970
3971
3972
3973
3973
3973
3973
3973
3973
3974
3975
3976
3976
3976
3977
3978
3978
3978
3979
3980
3980
3980
3980
3981
3981
3982
3982
3983
3983
3983
3983
3983
3983
3983
3983
3983
3983
3983
3984
3985
3985
3985
3985
3986
3987
3987
3987
3987
3987
3987
3987
3988
3989
3990
3990
3991
3992
3993
3993
3993
3993
3994
3994
3994
3994
3995
3995
3995
3996
3997
3997
3997
3997
3997
3997
3997
3997
3997
3997
3998
3999
3999
4000
4001
4002
4002
4003
4003
4003
4004
4004
4008
4011
4015
4019
4023
4023
4023
4027
4032
4036
4036
4041
4041
4046
4051
4056
4061
4066
4071
4076
4081
4082
4083
4084
4085
4086
4087
4088
