0
1
4
5
6
7
8
9
11
14
16
18
19
20
23
25
26
29
32
36
37
38
40
41
43
44
45
46
47
49
50
54
55
57
61
62
63
64
66
69
71
73
76
77
78
81
84
85
86
88
94
97
100
103
104
105
106
107
108
110
111
112
113
115
116
117
119
125
126
127
128
129
130
134
136
139
140
142
143
144
145
148
150
151
153
155
156
159
161
162
163
165
166
167
168
169
170
172
173
175
176
177
178
180
183
184
186
189
191
192
194
198
200
201
204
206
208
214
215
216
218
219
223
225
227
228
232
233
236
237
239
251
252
258
261
262
267
268
270
272
273
274
275
276
277
278
279
280
281
283
285
286
288
291
298
300
303
306
307
309
311
314
315
316
317
320
323
324
325
327
328
329
331
332
334
336
339
340
346
347
352
353
355
356
357
358
359
360
361
363
364
366
369
371
372
376
377
379
381
382
385
387
388
390
392
393
394
395
398
399
400
402
403
405
406
407
408
410
414
415
418
420
421
422
423
426
427
428
432
433
435
437
439
440
443
444
445
448
449
450
451
456
457
459
463
465
466
469
470
475
478
480
484
485
486
487
488
489
490
495
497
498
501
502
503
505
508
509
513
514
515
520
521
523
525
527
528
532
534
536
537
538
540
543
545
546
548
551
552
553
554
556
557
558
559
560
561
563
568
570
572
575
578
580
582
583
584
585
586
587
588
589
590
593
596
597
600
604
608
609
610
611
612
613
617
620
621
623
625
628
629
630
631
633
634
636
637
640
642
644
645
649
650
653
655
659
660
662
663
665
666
668
669
672
673
675
676
678
679
681
683
687
689
691
696
698
700
701
702
703
705
706
707
708
710
712
714
715
716
718
719
720
721
722
723
725
728
729
732
739
740
741
742
743
745
746
747
748
749
752
753
754
756
758
759
764
765
766
768
770
772
773
776
777
778
780
781
789
790
792
794
795
796
797
798
799
801
802
803
804
807
812
815
816
817
818
821
823
824
825
826
828
830
831
832
835
836
837
840
841
842
843
844
845
848
849
850
853
854
856
858
859
864
866
867
868
869
870
873
875
876
877
880
881
885
886
887
888
889
891
892
894
895
897
898
899
900
903
904
905
906
907
908
910
911
912
913
915
917
918
920
922
923
924
925
926
930
932
933
934
935
939
945
947
948
949
953
955
956
961
962
965
967
968
969
970
974
975
976
977
980
981
984
985
986
988
989
991
993
994
996
998
1000
1001
1010
1013
1014
1017
1019
1021
1023
1024
1027
1028
1030
1031
1033
1035
1036
1038
1039
1041
1042
1044
1046
1048
1051
1052
1053
1054
1055
1057
1059
1061
1062
1063
1065
1066
1067
1069
1070
1072
1073
1075
1076
1079
1081
1085
1086
1087
1088
1089
1090
1092
1093
1095
1098
1100
1101
1102
1103
1105
1106
1107
1114
1115
1117
1118
1119
1122
1124
1125
1127
1128
1129
1130
1132
1133
1134
1136
1137
1138
1139
1141
1144
1151
1152
1154
1155
1157
1159
1160
1161
1162
1163
1165
1167
1168
1169
1174
1177
1178
1182
1185
1186
1187
1189
1195
1196
1200
1201
1202
1203
1206
1207
1208
1210
1211
1212
1213
1215
1217
1218
1219
1224
1226
1227
1228
1229
1231
1234
1235
1236
1237
1239
1240
1241
1242
1247
1251
1258
1259
1261
1262
1263
1264
1265
1266
1268
1269
1270
1274
1275
1276
1277
1278
1281
1282
1283
1284
1286
1288
1289
1290
1292
1296
1297
1298
1299
1300
1301
1303
1305
1307
1308
1309
1310
1311
1312
1313
1314
1315
1317
1318
1319
1320
1321
1324
1325
1327
1328
1330
1331
1332
1333
1334
1335
1336
1340
1341
1343
1344
1346
1347
1350
1354
1355
1357
1358
1359
1362
1363
1364
1367
1369
1370
1371
1373
1374
1375
1376
1378
1380
1381
1382
1383
1384
1386
1387
1388
1392
1394
1396
1397
1400
1402
1403
1405
1406
1407
1408
1411
1412
1414
1417
1421
1423
1426
1427
1428
1429
1430
1434
1435
1437
1439
1440
1442
1445
1447
1449
1450
1451
1452
1455
1456
1457
1459
1461
1463
1464
1466
1467
1471
1472
1474
1476
1477
1478
1479
1481
1482
1486
1491
1492
1495
1496
1499
1500
1502
1504
1505
1506
1507
1508
1509
1511
1512
1513
1515
1520
1521
1522
1523
1524
1525
1526
1527
1529
1530
1531
1532
1533
1534
1537
1538
1540
1542
1544
1545
1548
1549
1550
1551
1552
1553
1554
1557
1558
1559
1560
1561
1563
1567
1568
1569
1570
1572
1573
1574
1576
1578
1581
1582
1585
1586
1587
1588
1590
1591
1592
1594
1595
1597
1598
1599
1603
1607
1611
1613
1616
1619
1620
1621
1622
1623
1625
1626
1627
1629
1630
1631
1632
1634
1636
1638
1639
1640
1641
1642
1645
1646
1649
1650
1652
1654
1656
1658
1659
1661
1663
1665
1666
1667
1668
1670
1671
1674
1677
1678
1681
1683
1684
1685
1686
1687
1690
1693
1694
1696
1697
1698
1699
1701
1703
1706
1707
1708
1711
1715
1716
1719
1721
1722
1723
1724
1726
1728
1729
1732
1733
1736
1737
1739
1741
1742
1743
1745
1746
1747
1748
1750
1752
1755
1758
1760
1761
1762
1764
1769
1771
1773
1781
1785
1787
1790
1791
1793
1795
1797
1798
1800
1801
1805
1806
1808
1810
1812
1813
1815
1816
1818
1819
1821
1822
1824
1825
1827
1828
1829
1830
1834
1836
1837
1839
1840
1841
1843
1844
1845
1846
1847
1848
1850
1851
1854
1855
1856
1858
1863
1866
1873
1876
1878
1879
1880
1882
1883
1884
1890
1892
1893
1896
1898
1899
1902
1905
1906
1907
1913
1915
1916
1920
1921
1924
1931
1932
1933
1934
1935
1939
1940
1941
1944
1945
1947
1948
1950
1952
1956
1958
1959
1960
1962
1963
1966
1967
1970
1972
1974
1978
1979
1982
1983
1985
1987
1988
1989
1990
1992
1997
1999
2003
2004
2005
2007
2008
2009
2011
2012
2014
2015
2017
2019
2020
2022
2023
2024
2026
2027
2029
2030
2031
2034
2036
2037
2039
2041
2042
2044
2047
2048
2049
2050
2052
2053
2056
2057
2059
2061
2062
2063
2064
2065
2067
2068
2070
2073
2074
2076
2078
2079
2081
2085
2086
2088
2089
2090
2092
2094
2095
2097
2098
2100
2103
2106
2116
2117
2119
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2136
2141
2144
2145
2146
2149
2151
2152
2154
2155
2157
2160
2161
2162
2165
2167
2168
2169
2170
2171
2173
2174
2176
2177
2183
2184
2186
2187
2188
2190
2191
2193
2196
2199
2200
2201
2202
2204
2205
2208
2216
2220
2221
2222
2223
2225
2227
2230
2233
2235
2237
2238
2240
2241
2244
2247
2248
2252
2254
2255
2259
2261
2263
2266
2269
2270
2271
2272
2273
2274
2277
2280
2281
2282
2285
2288
2290
2291
2294
2295
2296
2301
2302
2304
2305
2308
2309
2310
2312
2314
2316
2318
2319
2324
2332
2333
2334
2338
2339
2340
2342
2344
2345
2346
2347
2348
2350
2352
2353
2355
2357
2358
2359
2360
2361
2363
2364
2365
2366
2367
2368
2371
2372
2373
2374
2375
2376
2377
2378
2380
2381
2382
2387
2388
2394
2395
2396
2398
2401
2402
2403
2406
2408
2409
2411
2412
2413
2415
2416
2418
2421
2422
2423
2426
2429
2430
2432
2433
2434
2438
2442
2443
2444
2445
2449
2450
2452
2455
2456
2458
2459
2462
2463
2464
2466
2467
2470
2471
2472
2473
2476
2482
2484
2485
2486
2488
2489
2493
2494
2497
2500
2501
2502
2503
2506
2507
2509
2510
2512
2513
2516
2517
2522
2523
2526
2529
2535
2536
2537
2539
2540
2542
2543
2545
2547
2548
2549
2550
2552
2558
2561
2562
2563
2565
2566
2567
2568
2569
2571
2572
2574
2577
2579
2580
2581
2583
2588
2589
2592
2593
2597
2598
2600
2601
2606
2607
2608
2612
2614
2615
2617
2619
2622
2623
2624
2628
2632
2633
2637
2639
2641
2644
2645
2646
2647
2648
2652
2653
2654
2655
2656
2657
2659
2660
2661
2662
2664
2665
2666
2667
2668
2670
2672
2674
2676
2677
2678
2681
2682
2683
2684
2686
2688
2689
2691
2694
2696
2697
2702
2704
2705
2706
2707
2710
2712
2715
2718
2721
2722
2724
2725
2728
2730
2731
2732
2733
2734
2737
2738
2739
2740
2742
2743
2748
2749
2750
2751
2752
2753
2754
2755
2756
2758
2759
2762
2763
2765
2766
2767
2768
2773
2774
2775
2776
2777
2780
2783
2784
2785
2789
2791
2797
2799
2800
2801
2802
2803
2807
2809
2811
2812
2813
2816
2817
2819
2820
2821
2823
2824
2825
2828
2830
2831
2833
2834
2836
2840
2844
2845
2846
2848
2849
2852
2857
2858
2860
2862
2863
2864
2866
2867
2869
2871
2872
2873
2874
2875
2876
2877
2878
2879
2882
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2898
2900
2901
2902
2903
2906
2908
2911
2912
2915
2920
2921
2922
2923
2926
2931
2932
2934
2935
2940
2942
2943
2944
2947
2948
2951
2952
2956
2961
2962
2967
2968
2969
2970
2979
2981
2984
2985
2987
2989
2990
2991
2994
2995
2996
3000
3001
3003
3004
3005
3008
3011
3014
3015
3017
3020
3022
3023
3027
3029
3039
3041
3044
3045
3046
3047
3050
3051
3054
3057
3058
3061
3062
3064
3065
3066
3073
3074
3076
3077
3078
3080
3082
3086
3087
3088
3089
3093
3095
3096
3100
3102
3103
3107
3108
3110
3111
3113
3116
3117
3118
3119
3120
3121
3122
3124
3125
3128
3130
3131
3133
3135
3138
3139
3140
3142
3143
3146
3147
3150
3151
3153
3156
3158
3160
3161
3164
3165
3167
3168
3169
3170
3171
3172
3173
3174
3176
3180
3181
3182
3186
3187
3190
3192
3194
3195
3197
3198
3201
3202
3203
3204
3206
3207
3208
3214
3217
3218
3219
3220
3223
3228
3230
3232
3233
3234
3236
3238
3242
3244
3247
3250
3251
3254
3255
3257
3260
3262
3263
3264
3265
3266
3267
3270
3273
3274
3275
3280
3281
3283
3284
3288
3291
3294
3295
3296
3298
3299
3303
3304
3311
3312
3317
3320
3323
3327
3329
3330
3332
3333
3334
3335
3336
3337
3339
3340
3342
3343
3344
3346
3347
3348
3349
3351
3352
3353
3354
3355
3356
3357
3358
3359
3361
3364
3365
3367
3370
3371
3372
3373
3374
3376
3378
3381
3383
3385
3386
3388
3389
3391
3392
3393
3394
3396
3404
3406
3409
3410
3411
3412
3413
3415
3416
3417
3418
3419
3420
3422
3423
3424
3426
3427
3428
3429
3432
3433
3434
3435
3436
3439
3440
3444
3445
3446
3449
3451
3452
3454
3455
3457
3463
3466
3467
3468
3469
3470
3471
3473
3474
3476
3477
3479
3480
3482
3484
3485
3488
3489
3490
3491
3497
3499
3500
3502
3505
3507
3509
3511
3513
3514
3515
3516
3517
3519
3521
3523
3524
3528
3530
3532
3535
3536
3538
3539
3541
3542
3544
3545
3546
3548
3550
3552
3553
3554
3556
3557
3558
3561
3562
3565
3566
3568
3569
3571
3572
3573
3574
3575
3576
