0
3
4
5
6
7
10
12
19
20
21
23
24
30
33
36
37
40
41
44
48
49
51
52
58
63
64
65
67
71
73
74
76
78
82
88
96
97
98
99
101
104
107
112
117
120
122
128
132
133
135
136
140
141
142
144
145
146
148
149
153
154
155
157
159
162
163
165
168
169
170
171
173
179
180
187
190
191
192
194
196
198
204
209
214
217
222
223
224
225
226
227
242
248
253
254
255
256
259
261
262
265
267
269
271
273
274
275
278
280
281
282
283
284
286
287
288
290
292
293
295
297
300
301
308
309
310
312
314
319
321
323
325
328
334
335
336
337
339
340
347
351
352
353
354
361
365
367
368
370
371
373
377
380
381
382
386
387
388
391
394
398
402
403
408
419
420
421
423
432
433
435
436
439
442
445
446
453
457
458
465
466
467
468
469
470
473
474
475
476
477
479
480
481
487
490
493
495
496
499
500
501
503
507
508
514
516
519
520
522
524
525
526
527
529
530
532
533
536
539
540
541
548
552
557
560
563
564
566
567
568
569
571
572
574
577
579
581
583
586
594
596
599
603
605
606
608
615
617
621
624
626
627
628
629
630
631
636
640
642
643
646
647
652
653
658
659
660
662
664
666
668
670
675
677
683
686
688
692
700
702
705
713
714
716
723
727
730
731
733
735
739
744
746
750
751
756
758
759
760
761
762
763
764
767
768
770
773
784
790
791
792
793
794
796
800
805
806
807
810
812
813
815
824
827
828
829
830
833
835
836
837
839
842
844
847
853
854
856
857
858
860
862
865
866
867
872
873
880
883
884
887
891
892
893
895
898
901
903
904
905
907
908
913
914
919
923
930
938
939
941
947
949
957
959
961
962
967
968
969
971
973
974
977
980
982
986
988
993
995
996
997
1000
1001
1002
1003
1007
1009
1017
1018
1019
1020
1025
1026
1028
1029
1033
1035
1036
1037
1042
1044
1050
1051
1052
1053
1057
1061
1064
1066
1067
1068
1069
1072
1075
1076
1084
1085
1087
1088
1089
1090
1101
1102
1107
1110
1111
1112
1117
1121
1123
1124
1125
1128
1129
1131
1134
1138
1139
1143
1144
1148
1149
1150
1151
1154
1157
1160
1162
1166
1170
1173
1177
1180
1181
1187
1190
1191
1195
1198
1201
1205
1211
1217
1218
1220
1225
1226
1229
1230
1231
1232
1235
1236
1237
1245
1246
1250
1251
1255
1257
1259
1261
1263
1267
1268
1272
1273
1275
1276
1280
1281
1282
1285
1286
1288
1289
1292
1294
1296
1297
1300
1303
1304
1305
1307
1308
1309
1311
1312
1313
1315
1317
1318
1319
1325
1327
1328
1329
1332
1337
1338
1344
1346
1347
1348
1351
1358
1359
1364
1365
1367
1369
1371
1373
1376
1378
1380
1381
1382
1386
1387
1390
1400
1401
1402
1403
1412
1415
1416
1417
1418
1419
1420
1422
1424
1425
1430
1431
1432
1433
1435
1438
1441
1444
1445
1450
1452
1455
1466
1467
1468
1469
1471
1477
1478
1480
1484
1490
1492
1493
1494
1495
1496
1497
1500
1505
1506
1508
1509
1510
1511
1514
1518
1519
1520
1524
1527
1536
1541
1545
1546
1547
1551
1553
1554
1556
1559
1561
1563
1564
1566
1569
1579
1582
1586
1588
1589
1590
1592
1593
1594
1596
1597
1599
1607
1608
1613
1614
1619
1624
1625
1626
1627
1633
1636
1638
1639
1640
1642
1644
1646
1647
1654
1659
1661
1662
1664
1665
1668
1669
1670
1677
1678
1679
1684
1685
1691
1696
1700
1703
1704
1706
1708
1709
1712
1713
1715
1718
1719
1720
1723
1730
1734
1737
1739
1742
1743
1744
1746
1748
1749
1751
1752
1757
1762
1765
1767
1769
1772
1774
1775
1776
1777
1778
1781
1784
1785
1786
1789
1790
1792
1793
1797
1799
1800
1801
1805
1807
1809
1813
1818
1819
1823
1825
1826
1831
1834
1837
1840
1841
1845
1849
1851
1858
1859
1862
1865
1869
1870
1871
1873
1882
1884
1890
1892
1894
1895
1897
1898
1901
1906
1909
1911
1913
1914
1917
1919
1921
1922
1924
1931
1934
1938
1939
1945
1950
1954
1959
1960
1963
1964
1968
1972
1984
1986
1989
1991
1992
1997
2002
2005
2006
2008
2010
2011
2012
2014
2015
2018
2020
2023
2025
2028
2031
2032
2033
2034
2036
2038
2043
2044
2045
2046
2047
2053
2054
2056
2060
2063
2065
2066
2067
2069
2070
2073
2074
2076
2079
2084
2088
2090
2091
2092
2093
2095
2096
2102
2105
2111
2113
2115
2116
2119
2122
2125
2127
2128
2129
2132
2135
2137
2142
2143
2144
2145
2146
2147
2149
2157
2158
2160
2163
2165
2168
2170
2175
2176
2180
2183
2193
2195
2197
2198
2199
2200
2202
2213
2216
2217
2219
2222
2224
2225
2231
2232
2233
2234
2236
2237
2238
2242
2247
2248
2250
2251
2253
2255
2257
2260
2262
2270
2271
2273
2274
2275
2277
2278
2279
2280
2281
2282
2285
2286
2289
2295
2296
2298
2300
2301
2302
2303
2304
2306
2307
2308
2311
2315
2316
2317
2318
2319
2323
2324
2325
2327
2335
2336
2338
2341
2342
2343
2345
2346
2349
2350
2352
2354
2357
2358
2360
2365
2366
2369
2370
2372
2375
2378
2379
2380
2382
2386
2387
2389
2392
2394
2396
2398
2399
2400
2401
2403
2407
2409
2413
2414
2415
2421
2423
2426
2427
2431
2437
2445
2446
2450
2451
2452
2459
2462
2463
2464
2465
2467
2471
2473
2474
2475
2477
2478
2479
2485
2489
2490
2493
2494
2497
2498
2502
2506
2510
2511
2515
2522
2523
2526
2527
2530
2534
2535
2536
2537
2538
2539
2541
2542
2544
2547
2548
2549
2555
2558
2560
2561
2563
2565
2567
2568
2570
2572
2576
2580
2581
2582
2584
2585
2587
2591
2592
2594
2596
2598
2600
2601
2602
2604
2606
2609
2611
2614
2616
2617
2621
2623
2625
2628
2629
2630
2634
2636
2639
2642
2644
2647
2648
2652
2653
2655
2656
2660
2661
2663
2665
2666
2670
2673
2675
2676
2678
2680
2681
2687
2690
2691
2696
2698
2701
2702
2704
2706
2708
2713
2719
2720
2725
2726
2732
2734
2735
2739
2741
2746
2747
2748
2749
2750
2757
2758
2761
2763
2764
2767
2768
2769
2772
2774
2775
2778
2779
2782
2783
2784
2785
2787
2790
2795
2798
2801
2802
2807
2808
2809
2810
2811
2819
2822
2823
2824
2825
2827
2828
2832
2833
2834
2836
2839
2840
2849
2853
2857
2862
2863
2867
2868
2869
2870
2871
2873
2874
2877
2879
2880
2881
2882
2889
2891
2894
2897
2898
2900
2906
2909
2910
2911
2913
2922
2924
2925
2937
2939
2942
2944
2946
2948
2949
2951
2952
2953
2956
2962
2964
2966
2969
2971
2972
2974
2975
2976
2978
2981
2982
2985
2986
2993
2995
2996
2998
3002
3003
3007
3008
3010
3012
3013
3015
3019
3023
3025
3026
3027
3028
3032
3034
3035
3036
3037
3038
3040
3042
3043
3048
3050
3051
3055
3056
3057
3059
3063
3064
3065
3066
3067
3072
3075
3083
3084
3088
3090
3091
3093
3095
3098
3099
3100
3103
3105
3108
3110
3115
3122
3125
3127
3128
3131
3132
3137
3139
3140
3141
3144
3145
3146
3147
3151
3154
3155
3157
3158
3160
3161
3163
3167
3171
3172
3173
3174
3178
3180
3185
3187
3188
3190
3194
3198
3201
3203
3207
3209
3210
3211
3212
3215
3216
3220
3228
3232
3238
3240
3242
3247
3253
3254
3255
3257
3260
3261
3263
3264
3268
3271
3277
3279
3286
3287
3291
3293
3295
3296
3305
3306
3307
3308
3309
3313
3315
3317
3319
3320
3321
3322
3324
3329
3332
3338
3349
3357
3358
3359
3361
3368
3370
3372
3375
3377
3378
3380
3382
3385
3387
3389
3393
3395
3396
3397
3398
3402
3404
3405
