0
2
3
4
5
8
13
15
18
20
21
25
28
29
30
34
36
37
38
40
42
43
44
46
47
48
49
50
52
54
57
58
59
60
62
64
65
69
70
73
75
76
77
79
86
90
93
94
95
98
100
101
102
103
106
107
110
111
115
116
117
121
124
125
128
129
130
131
132
134
135
137
139
140
141
145
146
147
148
149
150
151
152
155
156
157
158
159
165
166
167
169
171
173
174
175
178
180
181
183
187
188
191
194
195
197
198
199
200
201
202
203
205
206
208
209
211
213
214
215
217
218
219
221
223
226
228
230
234
236
238
240
242
243
244
245
248
249
252
253
256
257
258
259
262
263
266
267
270
272
273
275
276
277
279
281
282
283
284
285
287
288
290
292
293
296
297
300
302
305
306
307
308
310
313
315
316
318
321
323
326
328
329
330
331
332
333
334
335
337
339
342
343
344
345
346
349
350
351
352
357
358
359
360
361
362
363
371
372
373
374
375
376
379
380
383
384
385
386
387
388
391
393
394
395
396
397
400
402
404
405
408
409
411
412
413
416
417
418
420
421
423
424
426
428
429
432
433
434
440
441
442
443
445
447
450
451
452
454
455
456
457
459
460
461
462
463
465
466
468
469
472
473
475
476
477
478
479
480
484
487
488
489
490
492
493
499
500
502
503
504
505
506
507
508
509
511
515
517
518
519
521
522
524
526
529
530
534
536
537
541
542
543
546
547
548
549
550
551
553
558
562
564
565
568
569
570
571
572
576
578
579
580
581
582
585
587
588
591
593
594
595
598
600
601
602
603
604
605
606
607
609
610
611
615
617
619
620
621
622
623
624
625
627
628
629
630
635
636
640
641
646
647
648
650
651
652
653
654
655
658
659
663
664
667
669
670
673
676
677
682
685
686
689
691
692
694
695
698
699
700
701
703
707
708
710
715
716
717
718
719
720
722
725
728
729
732
733
734
735
737
738
740
741
742
744
746
747
750
751
753
754
755
758
760
761
764
767
768
770
773
776
777
778
780
781
787
788
790
791
793
794
795
796
800
802
804
806
808
809
810
811
812
813
814
815
817
818
819
821
822
823
825
828
829
830
834
836
842
843
844
845
847
848
851
858
859
861
863
864
865
866
868
870
872
873
874
876
877
878
880
883
884
887
889
890
891
892
894
895
899
901
903
904
905
907
908
910
913
914
915
916
918
919
920
921
922
924
926
927
928
933
935
936
937
938
939
941
945
946
948
949
951
954
956
958
960
961
963
971
972
973
974
975
976
977
978
979
980
981
986
987
989
991
993
997
999
1002
1003
1005
1010
1011
1012
1013
1017
1018
1019
1020
1022
1023
1024
1025
1026
1028
1029
1030
1031
1035
1036
1039
1043
1044
1047
1050
1053
1055
1056
1057
1062
1064
1068
1069
1071
1073
1074
1075
1077
1078
1079
1082
1086
1089
1091
1092
1093
1094
1095
1096
1099
1103
1104
1105
1106
1108
1110
1112
1113
1114
1115
1118
1122
1124
1125
1126
1127
1130
1131
1132
1137
1139
1140
1141
1143
1144
1147
1148
1149
1150
1153
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1166
1167
1169
1170
1171
1174
1177
1181
1183
1184
1185
1187
1190
1192
1193
1194
1195
1196
1199
1201
1203
1208
1209
1212
1216
1217
1218
1220
1222
1224
1227
1228
1230
1232
1235
1236
1238
1239
1240
1244
1247
1250
1252
1253
1254
1255
1256
1259
1260
1265
1266
1267
1268
1270
1271
1272
1274
1275
1277
1279
1280
1281
1283
1284
1285
1286
1287
1288
1289
1291
1292
1293
1294
1297
1298
1299
1300
1302
1305
1306
1307
1308
1310
1311
1312
1313
1314
1316
1317
1320
1322
1323
1325
1326
1328
1330
1331
1333
1336
1337
1338
1340
1341
1343
1346
1347
1348
1349
1351
1352
1354
1356
1357
1358
1362
1363
1366
1367
1368
1369
1370
1371
1372
1373
1375
1376
1377
1385
1386
1387
1389
1391
1392
1394
1395
1396
1399
1400
1401
1402
1405
1406
1407
1409
1410
1412
1416
1417
1420
1421
1422
1424
1425
1426
1427
1428
1431
1436
1437
1439
1440
1441
1442
1444
1445
1446
1449
1450
1452
1453
1455
1457
1458
1460
1462
1463
1466
1467
1468
1470
1471
1473
1479
1483
1486
1487
1488
1489
1490
1491
1492
1495
1496
1499
1501
1502
1503
1504
1506
1513
1514
1515
1516
1521
1522
1524
1526
1527
1528
1531
1536
1537
1538
1540
1542
1543
1544
1545
1547
1548
1549
1551
1553
1556
1557
1559
1560
1562
1563
1566
1568
1569
1571
1573
1575
1577
1578
1580
1584
1585
1586
1587
1588
1593
1596
1597
1600
1603
1605
1606
1608
1610
1613
1614
1616
1617
1618
1620
1622
1623
1629
1630
1631
1633
1634
1637
1639
1641
1642
1644
1645
1646
1647
1651
1653
1654
1658
1659
1660
1661
1663
1664
1666
1668
1669
1671
1674
1675
1678
1679
1680
1682
1683
1684
1686
1687
1688
1689
1691
1692
1699
1700
1701
1702
1703
1707
1711
1713
1716
1718
1720
1722
1723
1724
1726
1727
1728
1729
1730
1732
1733
1734
1735
1736
1737
1738
1739
1740
1742
1743
1744
1746
1748
1751
1753
1756
1758
1761
1764
1766
1769
1771
1773
1774
1777
1779
1781
1782
1783
1784
1786
1789
1790
1791
1792
1793
1794
1795
1796
1800
1801
1804
1805
1807
1808
1809
1812
1814
1815
1816
1820
1822
1824
1825
1826
1827
1828
1829
1830
1831
1832
1834
1835
1836
1837
1838
1846
1856
1857
1860
1862
1864
1865
1866
1867
1869
1871
1872
1873
1874
1875
1876
1877
1879
1880
1881
1886
1888
1889
1895
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1909
1910
1911
1913
1915
1920
1921
1922
1924
1926
1927
1929
1930
1931
1932
1933
1934
1937
1938
1940
1942
1943
1944
1948
1951
1955
1957
1965
1967
1969
1971
1972
1973
1974
1975
1976
1977
1978
1983
1984
1985
1986
1987
1989
1995
1998
1999
2000
2001
2004
2005
2006
2007
2009
2011
2013
2015
2016
2017
2020
2024
2028
2030
2031
2032
2035
2037
2038
2039
2041
2043
2044
2049
2051
2054
2056
2057
2059
2060
2061
2063
2064
2065
2068
2069
2071
2072
2073
2074
2078
2079
2080
2081
2082
2085
2088
2090
2091
2092
2093
2096
2097
2099
2100
2103
2104
2105
2108
2109
2113
2116
2117
2119
2120
2121
2124
2126
2127
2129
2132
2133
2135
2140
2142
2144
2148
2149
2151
2152
2153
2156
2157
2160
2161
2162
2167
2168
2170
2172
2173
2175
2177
2179
2182
2183
2185
2188
2190
2191
2193
2195
2197
2199
2200
2202
2203
2204
2205
2207
2208
2210
2214
2217
2218
2220
2222
2224
2225
2227
2229
2230
2231
2232
2233
2234
2237
2238
2239
2240
2241
2245
2246
2247
2248
2249
2250
2252
2254
2255
2262
2264
2266
2267
2268
2269
2271
2279
2280
2281
2282
2285
2286
2290
2291
2293
2295
2296
2299
2300
2302
2303
2305
2311
2316
2317
2318
2319
2320
2322
2324
2326
2329
2330
2332
2334
2335
2337
2340
2342
2343
2344
2347
2348
2351
2355
2356
2357
2358
2359
2360
2361
2363
2365
2370
2373
2375
2377
2378
2379
2382
2383
2385
2386
2388
2392
2393
2394
2398
2399
2401
2402
2404
2405
2406
2407
2408
2412
2413
2415
2416
2418
2420
2421
2422
2424
2425
2426
2432
2433
2435
2439
2440
2442
2444
2445
2446
2447
2448
2452
2455
2456
2457
2459
2461
2462
2467
2472
2474
2475
2479
2481
2482
2483
2485
2488
2490
2494
2498
2499
2501
2503
2504
2505
2507
2511
2513
2517
2518
2519
2521
2522
2523
2524
2527
2529
2530
2531
2532
2538
2539
2540
2542
2544
2545
2546
2547
2549
2552
2553
2554
2559
2561
2562
2563
2564
2567
2569
2570
2571
2573
2576
2578
2580
2581
2583
2584
2587
2590
2593
2594
2595
2596
2597
2599
2603
2606
2608
2609
2610
2611
2612
2614
2616
2619
2620
2621
2626
2627
2628
2629
2630
2631
2632
2636
2637
2639
2640
2641
2642
2644
2645
2648
2651
2653
2655
2656
2657
2659
2660
2665
2667
2668
2670
2671
2672
2676
2677
2682
2684
2685
2686
2687
2688
2689
2691
2693
2696
2698
2699
2700
2701
2702
2704
2706
2708
2710
2711
2712
2713
2716
2717
2723
2724
2725
2730
2732
2733
2734
2735
2737
2738
2739
2741
2743
2744
2745
2746
2747
2750
2753
2754
2755
2756
2759
2760
2761
2763
2764
2765
2766
2768
2769
2770
2771
2773
2774
2778
2779
2781
2785
2786
2788
2789
2790
2791
2792
2793
2797
2799
2800
2801
2804
2805
2808
2809
2810
2812
2814
2815
2816
2818
2820
2821
2823
2825
2828
2832
2835
2840
2842
2843
2847
2848
2849
2851
2855
2858
2860
2861
2863
2864
2866
2867
2868
2870
2871
2874
2875
2876
2877
2880
2884
2885
2887
2889
2890
2891
2892
2893
2897
2899
2900
2902
2905
2906
2907
2910
2913
2914
2916
2917
2921
2922
2924
2926
2927
2932
2933
2935
2938
2939
2940
2944
2946
2950
2951
2958
2959
2962
2963
2964
2965
2967
2968
2969
2970
2972
2973
2976
2977
2978
2982
2985
2988
2991
2992
2993
2995
2996
2997
2998
3001
3002
3003
3004
3006
3007
3010
3011
3013
3016
3017
3020
3021
3025
3026
3027
3028
3029
3031
3033
3034
3035
3036
3037
3038
3039
3040
3041
3044
3046
3047
3050
3051
3062
3063
3064
3065
3066
3067
3069
3071
3073
3075
3079
3080
3081
3082
3084
3086
3087
3091
3093
3095
3096
3097
3098
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3117
3119
3120
3122
3124
3126
3127
3128
3129
3130
3131
3132
3135
3136
3141
3145
3148
3150
3152
3154
3156
3157
3159
3160
3164
3166
3167
3169
3170
3171
3173
3174
3176
3178
3181
3185
3186
3187
3188
3193
3194
3195
3197
3198
3200
3202
3204
3205
3207
3208
3209
3210
3213
3216
3218
3220
3222
3224
3225
3226
3227
3228
3230
3232
3233
3234
3237
3242
3245
3247
3249
3251
3252
3253
3254
3255
3256
3260
3261
3262
3263
3264
3268
3269
3270
3271
3278
3280
3281
3282
3285
3291
3294
3300
3301
3302
3303
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3317
3320
3321
3323
3325
3326
3328
3329
3331
3332
3333
3334
3335
3337
3339
3340
3344
3345
3346
3348
3349
3350
3351
3354
3355
3356
3358
3359
3360
3362
3364
3365
3366
3367
3368
3371
3372
3374
3376
3381
3382
3384
3385
3387
3388
3389
3390
3392
3396
3398
3399
3401
3404
3406
3407
3408
3411
3412
3413
3414
3415
3416
3417
3420
3421
3422
3425
3426
3427
3428
3430
3432
3433
3434
3437
3438
3439
3443
3445
3448
3451
3452
3453
3455
3457
3459
3462
3463
3464
3465
3466
3467
3469
3471
3472
3474
3475
3477
3478
3479
3480
3481
3483
3484
3485
3487
3489
