0
2
3
5
6
7
12
16
17
18
19
20
22
24
26
27
28
32
33
34
36
38
39
43
44
47
48
49
52
53
55
56
57
59
61
66
69
70
72
73
74
75
77
80
81
82
83
84
90
91
94
95
96
98
99
102
103
104
105
110
111
112
113
115
117
119
123
124
126
127
130
133
135
138
141
142
143
146
147
149
150
151
153
155
156
157
158
159
162
166
168
170
171
174
177
179
181
187
190
192
193
198
203
204
205
206
207
209
210
216
217
219
222
228
229
230
231
234
236
237
238
239
241
242
244
245
248
249
250
251
252
253
254
257
259
260
261
265
267
268
269
270
271
273
280
284
286
287
288
291
292
294
295
297
299
300
303
307
311
313
314
316
318
319
321
326
327
328
332
333
334
335
336
337
340
341
342
343
344
345
346
348
349
351
352
356
357
358
359
361
365
366
367
372
376
378
379
381
382
386
389
390
391
394
395
396
398
399
400
401
405
406
408
410
412
413
414
416
417
419
423
424
425
427
429
430
431
432
433
438
439
441
442
443
444
447
449
450
451
452
453
456
457
458
460
462
464
466
468
470
472
473
474
477
478
479
484
485
487
494
495
497
498
500
502
506
508
509
513
514
516
519
520
522
523
525
526
527
529
531
533
534
536
537
541
542
543
546
547
551
552
555
557
559
560
561
562
563
564
565
568
572
575
576
577
578
579
580
583
588
589
590
591
592
595
596
598
599
602
603
604
606
607
608
609
610
611
614
615
616
619
620
621
622
623
625
627
636
638
640
641
642
644
648
651
652
653
655
660
662
664
665
669
670
672
676
679
680
681
684
685
688
690
691
693
694
695
700
702
704
706
707
708
712
714
715
717
720
721
722
724
725
728
730
731
732
735
740
742
743
745
747
748
749
752
754
758
759
760
763
764
769
772
774
775
777
778
779
783
784
785
786
787
789
792
796
797
800
802
804
806
809
811
815
816
817
819
820
821
827
828
829
830
832
833
836
841
842
843
845
847
848
849
851
854
856
857
859
861
863
864
865
872
873
874
876
878
879
880
881
883
885
888
891
892
893
895
897
898
900
901
904
906
907
910
912
913
914
915
920
922
924
925
930
932
933
934
935
936
937
940
943
946
948
949
950
951
954
955
957
958
959
962
964
970
973
982
983
986
988
989
992
995
996
997
998
999
1000
1004
1005
1006
1011
1015
1019
1020
1023
1026
1027
1032
1034
1035
1039
1040
1041
1042
1046
1047
1049
1052
1053
1054
1055
1056
1058
1066
1067
1068
1069
1070
1071
1072
1075
1076
1077
1080
1081
1082
1083
1084
1087
1090
1091
1092
1094
1096
1101
1102
1103
1104
1105
1106
1108
1109
1111
1112
1114
1115
1117
1118
1120
1123
1124
1125
1126
1129
1130
1131
1132
1133
1136
1138
1139
1142
1143
1144
1145
1146
1148
1149
1151
1152
1154
1155
1156
1159
1160
1162
1163
1165
1168
1171
1173
1174
1175
1178
1179
1181
1184
1188
1191
1193
1194
1195
1196
1197
1198
1201
1202
1204
1207
1208
1209
1214
1218
1219
1220
1221
1223
1225
1226
1227
1229
1230
1231
1232
1234
1235
1237
1240
1241
1245
1247
1248
1249
1250
1251
1252
1253
1255
1257
1259
1260
1261
1262
1264
1265
1266
1270
1271
1272
1274
1280
1282
1283
1284
1285
1288
1290
1294
1296
1299
1302
1304
1308
1310
1312
1315
1318
1319
1322
1324
1326
1333
1337
1338
1340
1341
1343
1344
1345
1346
1348
1353
1356
1359
1362
1366
1368
1370
1372
1373
1375
1379
1382
1385
1386
1387
1388
1390
1391
1395
1396
1406
1407
1408
1410
1412
1413
1414
1415
1416
1417
1418
1420
1421
1425
1426
1428
1429
1430
1431
1434
1436
1437
1438
1439
1441
1443
1444
1445
1446
1449
1454
1459
1463
1464
1465
1467
1470
1471
1472
1475
1476
1477
1479
1481
1483
1484
1485
1486
1487
1491
1492
1495
1496
1499
1500
1502
1506
1508
1509
1510
1511
1512
1517
1518
1519
1525
1526
1527
1530
1531
1538
1539
1540
1542
1543
1544
1547
1552
1555
1556
1560
1561
1562
1563
1568
1573
1577
1578
1579
1580
1585
1589
1591
1592
1595
1596
1599
1603
1606
1609
1611
1613
1614
1617
1619
1621
1624
1625
1626
1630
1634
1640
1642
1643
1644
1645
1646
1647
1648
1649
1651
1652
1653
1654
1655
1656
1657
1658
1659
1662
1663
1665
1668
1669
1671
1674
1675
1678
1679
1687
1688
1690
1691
1692
1693
1694
1696
1697
1698
1699
1700
1701
1703
1705
1707
1709
1711
1712
1713
1720
1721
1722
1730
1732
1733
1734
1735
1736
1739
1740
1744
1746
1747
1748
1749
1750
1753
1757
1758
1761
1762
1763
1765
1767
1768
1770
1772
1773
1775
1776
1777
1778
1779
1782
1784
1785
1789
1793
1799
1801
1802
1805
1807
1809
1810
1811
1812
1813
1814
1815
1819
1820
1823
1824
1825
1830
1831
1838
1841
1846
1847
1850
1851
1853
1860
1861
1863
1864
1866
1867
1868
1869
1873
1874
1881
1884
1887
1890
1892
1893
1894
1898
1900
1901
1902
1903
1905
1909
1911
1912
1913
1914
1918
1919
1920
1921
1923
1925
1930
1932
1935
1936
1938
1939
1940
1942
1943
1945
1947
1949
1952
1954
1955
1959
1960
1961
1962
1963
1964
1970
1974
1975
1977
1979
1985
1986
1987
1990
1992
1994
1996
2000
2001
2002
2003
2004
2005
2006
2011
2012
2015
2018
2019
2020
2022
2024
2025
2027
2028
2029
2030
2034
2035
2037
2039
2042
2044
2046
2047
2048
2049
2052
2053
2054
2055
2056
2059
2060
2062
2063
2067
2068
2071
2073
2074
2076
2080
2083
2085
2088
2091
2092
2094
2095
2097
2100
2101
2104
2108
2109
2110
2112
2113
2114
2115
2119
2122
2123
2124
2126
2129
2130
2131
2133
2134
2139
2142
2143
2144
2145
2146
2147
2149
2150
2152
2154
2157
2159
2163
2165
2166
2167
2172
2174
2176
2177
2178
2180
2181
2185
2186
2189
2190
2194
2195
2196
2197
2199
2200
2201
2202
2204
2205
2208
2210
2212
2214
2218
2219
2223
2224
2225
2226
2232
2233
2235
2237
2238
2239
2240
2241
2243
2247
2248
2249
2251
2252
2253
2257
2259
2261
2264
2266
2267
2268
2270
2271
2273
2274
2275
2278
2282
2283
2286
2287
2288
2289
2291
2293
2295
2297
2298
2299
2300
2303
2305
2306
2307
2308
2309
2310
2311
2312
2313
2318
2322
2324
2327
2328
2329
2330
2331
2332
2337
2339
2342
2343
2345
2346
2348
2350
2353
2354
2355
2356
2361
2363
2367
2370
2371
2374
2377
2378
2381
2383
2384
2385
2388
2389
2391
2392
2396
2399
2400
2403
2404
2406
2409
2410
2411
2412
2413
2414
2418
2421
2422
2423
2424
2425
2426
2428
2430
2431
2432
2434
2436
2438
2439
2440
2441
2442
2444
2446
2447
2448
2449
2450
2454
2459
2464
2468
2469
2473
2474
2478
2479
2480
2482
2485
2487
2488
2489
2490
2493
2496
2497
2499
2500
2501
2503
2504
2507
2508
2511
2512
2517
2520
2521
2523
2527
2529
2530
2533
2534
2535
2540
2542
2544
2545
2546
2548
2550
2553
2554
2555
2558
2560
2562
2564
2565
2566
2567
2568
2569
2572
2575
2577
2578
2581
2582
2585
2586
2590
2592
2594
2596
2598
2599
2602
2604
2605
2606
2607
2609
2610
2617
2618
2619
2620
2622
2625
2626
2627
2629
2630
2632
2633
2635
2636
2638
2641
2645
2648
2652
2654
2656
2658
2663
2669
2670
2672
2674
2675
2676
2680
2681
2687
2688
2689
2692
2693
2695
2696
2697
2698
2701
2703
2705
2710
2711
2717
2718
2726
2728
2730
2733
2735
2736
2737
2739
2742
2743
2744
2745
2746
2747
2748
2754
2755
2758
2759
2760
2761
2762
2764
2765
2766
2767
2768
2770
2771
2774
2777
2779
2786
2787
2788
2790
2792
2793
2795
2801
2804
2805
2807
2808
2812
2813
2814
2815
2818
2821
2823
2824
2825
2829
2832
2834
2835
2836
2838
2839
2840
2841
2842
2846
2848
2850
2852
2853
2854
2855
2856
2857
2858
2860
2863
2868
2869
2870
2872
2873
2878
2880
2881
2883
2884
2888
2889
2891
2896
2902
2903
2904
2905
2910
2911
2915
2917
2918
2920
2923
2924
2925
2927
2928
2930
2935
2936
2937
2938
2939
2942
2944
2946
2948
2949
2951
2952
2955
2959
2961
2963
2964
2965
2967
2970
2971
2972
2974
2975
2979
2981
2986
2987
2991
2993
2996
2997
3000
3003
