0
1
2
4
6
7
9
10
13
15
16
18
20
21
24
25
26
30
31
35
39
41
42
43
44
45
46
48
49
50
52
54
55
57
58
59
60
63
65
67
69
71
76
77
80
82
83
89
91
94
97
100
101
102
104
106
119
120
121
122
123
124
126
127
128
129
137
138
139
140
141
142
143
145
151
153
154
155
156
157
158
164
166
167
169
171
174
177
179
180
182
183
184
185
186
190
194
195
196
200
201
203
204
205
207
208
209
211
213
214
216
220
221
223
224
226
227
231
234
236
237
238
241
244
245
249
250
251
256
257
261
263
267
268
269
272
273
274
275
278
280
281
282
283
284
288
293
296
297
298
300
302
303
304
305
306
307
308
309
312
315
316
317
322
326
327
328
329
333
334
336
338
340
342
346
347
348
349
351
353
354
358
362
367
368
369
370
373
379
380
385
388
391
395
398
399
400
405
408
410
411
413
415
417
418
419
420
421
423
425
428
438
439
441
444
445
448
449
452
453
454
455
456
458
460
461
462
466
468
471
473
474
475
477
478
479
482
483
487
492
494
495
497
499
502
505
506
509
512
515
516
517
519
525
526
529
531
532
534
535
536
540
541
542
546
547
549
550
552
553
555
556
558
561
563
564
567
568
574
575
578
579
583
586
591
596
599
601
605
606
609
610
612
613
615
617
620
621
622
623
631
636
638
640
642
644
645
648
649
650
651
652
655
656
657
659
661
665
670
671
675
677
678
679
681
685
686
687
688
691
695
696
698
699
701
705
707
708
709
711
713
715
716
720
721
722
725
730
731
735
736
739
740
744
745
746
749
751
754
755
756
758
760
761
762
763
772
774
775
779
780
786
787
789
790
793
794
796
798
801
802
804
807
808
810
811
812
815
816
819
826
827
832
833
835
836
840
841
842
843
844
845
846
847
850
852
859
860
862
863
866
867
868
869
875
878
883
892
893
894
897
898
899
902
903
904
906
907
908
910
912
913
925
928
930
931
935
937
939
940
942
943
946
948
949
950
951
952
956
957
958
960
962
965
967
968
970
971
972
975
976
977
979
980
981
986
988
992
993
995
996
998
999
1000
1001
1005
1006
1011
1012
1017
1018
1021
1023
1025
1029
1030
1031
1033
1036
1037
1039
1040
1041
1043
1046
1047
1049
1050
1051
1053
1056
1058
1060
1062
1066
1068
1070
1073
1077
1081
1082
1084
1086
1087
1088
1089
1093
1094
1095
1100
1102
1104
1105
1107
1109
1110
1111
1112
1113
1115
1118
1119
1121
1122
1124
1125
1126
1129
1133
1135
1137
1141
1147
1148
1150
1153
1154
1156
1157
1160
1167
1170
1172
1175
1176
1177
1178
1179
1183
1184
1187
1189
1193
1195
1196
1199
1202
1203
1205
1206
1207
1211
1212
1213
1214
1215
1217
1219
1224
1225
1226
1227
1228
1234
1235
1241
1242
1243
1245
1249
1251
1252
1254
1255
1256
1257
1260
1261
1262
1267
1268
1270
1271
1274
1275
1276
1278
1279
1280
1281
1283
1285
1286
1289
1290
1293
1294
1295
1297
1298
1299
1300
1302
1303
1305
1306
1311
1315
1318
1319
1320
1322
1323
1325
1327
1328
1330
1331
1332
1333
1334
1338
1339
1340
1342
1343
1345
1347
1349
1350
1352
1353
1358
1359
1360
1361
1367
1369
1370
1377
1381
1383
1385
1386
1387
1388
1390
1392
1393
1394
1395
1397
1399
1401
1402
1403
1404
1406
1407
1408
1411
1412
1413
1416
1417
1422
1423
1424
1430
1431
1432
1438
1439
1443
1444
1445
1446
1447
1449
1451
1453
1454
1455
1456
1457
1459
1460
1461
1462
1463
1464
1465
1466
1468
1471
1473
1474
1476
1477
1480
1482
1483
1486
1487
1488
1489
1492
1496
1499
1501
1504
1507
1512
1513
1514
1516
1517
1518
1520
1521
1523
1524
1525
1527
1528
1530
1531
1533
1534
1535
1538
1539
1540
1541
1543
1544
1546
1548
1550
1555
1556
1558
1560
1561
1562
1567
1568
1572
1573
1574
1577
1582
1583
1584
1585
1587
1590
1592
1593
1594
1597
1598
1600
1602
1604
1605
1607
1608
1609
1610
1611
1613
1618
1621
1625
1628
1632
1634
1636
1638
1642
1645
1647
1648
1651
1654
1655
1658
1661
1663
1664
1665
1667
1673
1674
1677
1679
1682
1683
1685
1688
1689
1692
1693
1695
1697
1700
1705
1708
1709
1710
1714
1715
1716
1718
1719
1720
1725
1726
1729
1731
1732
1739
1741
1742
1743
1746
1747
1748
1749
1752
1759
1760
1765
1766
1768
1770
1773
1778
1779
1780
1782
1785
1788
1790
1791
1792
1793
1794
1795
1796
1799
1806
1807
1808
1811
1812
1815
1817
1819
1822
1825
1827
1828
1829
1832
1834
1835
1836
1840
1842
1843
1845
1849
1851
1853
1858
1859
1861
1862
1863
1864
1865
1867
1868
1871
1872
1874
1875
1876
1878
1879
1880
1881
1882
1884
1885
1890
1891
1894
1895
1898
1899
1900
1901
1905
1906
1907
1914
1915
1917
1918
1920
1922
1923
1924
1928
1930
1932
1933
1934
1935
1936
1938
1939
1942
1944
1945
1947
1948
1949
1960
1961
1967
1969
1970
1976
1977
1980
1981
1987
1989
1992
1993
1995
1998
1999
2001
2002
2004
2006
2007
2009
2011
2012
2015
2018
2019
2020
2023
2024
2026
2027
2028
2029
2030
2033
2035
2036
2037
2038
2039
2040
2041
2043
2044
2045
2046
2047
2048
2049
2052
2054
2055
2056
2058
2063
2064
2068
2070
2073
2080
2084
2085
2086
2087
2088
2091
2092
2093
2095
2096
2099
2100
2101
2102
2103
2104
2111
2112
2115
2116
2117
2122
2125
2129
2130
2131
2132
2133
2135
2137
2138
2139
2140
2142
2143
2144
2145
2146
2147
2148
2152
2153
2154
2155
2156
2157
2161
2162
2164
2169
2172
2173
2174
2175
2176
2177
2178
2179
2182
2183
2185
2186
2188
2189
2191
2192
2194
2198
2199
2200
2201
2202
2204
2205
2206
2212
2213
2218
2219
2222
2224
2229
2231
2232
2234
2236
2240
2243
2244
2250
2251
2255
2256
2258
2260
2261
2264
2265
2266
2269
2271
2274
2275
2278
2279
2280
2285
2287
2288
2289
2294
2295
2297
2298
2299
2300
2301
2302
2305
2312
2314
2322
2326
2329
2333
2335
2339
2341
2342
2345
2346
2347
2348
2351
2352
2354
2355
2356
2357
2358
2361
2362
2363
2365
2366
2367
2370
2372
2375
2376
2378
2380
2381
2382
2383
2384
2387
2389
2391
2393
2394
2397
2399
2400
2402
2403
2404
2408
2410
2413
2414
2416
2418
2420
2422
2423
2424
2431
2434
2435
2437
2438
2439
2442
2443
2444
2452
2453
2454
2457
2460
2463
2464
2467
2471
2473
2474
2475
2479
2480
2482
2483
2484
2487
2492
2494
2495
2498
2501
2506
2507
2509
2510
2512
2514
2518
2521
2523
2524
2525
2527
2529
2533
2534
2535
2536
2537
2547
2552
2553
2554
2556
2557
2559
2567
2574
2575
2576
2577
2579
2585
2586
2587
2595
2597
2598
2599
2607
2608
2609
2611
2614
2615
2616
2624
2626
2627
2628
2630
2632
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2646
2648
2651
2653
2654
2655
2658
2660
2662
2668
2670
2671
2673
2674
2675
2676
2680
2681
2683
2686
2687
2689
2690
2691
2693
2695
2699
2700
2704
2705
2709
2710
2711
2713
2714
2716
2717
2718
2721
2722
2724
2727
2730
2733
2734
2735
2737
2741
2745
2749
2752
2753
2754
2755
2757
2758
2761
2762
2770
2771
2774
2776
2778
2779
2785
2787
2788
2790
2793
2794
2796
2797
2798
2800
2802
2806
2808
2813
2814
2816
2817
2818
2819
2820
2821
2823
2828
2829
2836
2837
2839
2840
2841
2843
2844
2846
2847
2848
2852
2853
2855
2857
2863
2868
2870
2871
2872
2873
2874
2875
2876
2878
2879
2880
2883
2890
2892
2893
2896
2897
2898
2901
2902
2903
2905
2908
2911
2915
2918
2920
2921
2924
2929
2932
2933
2934
2935
2939
2940
2942
2945
2946
2948
2949
2950
2953
2954
2956
2958
2967
2968
2970
2971
2973
2974
2979
2980
2982
2985
2988
2991
2992
2994
2998
3000
3005
3008
3011
3012
3015
3017
3019
3023
3024
3026
3027
3028
3029
3032
3034
3036
3038
3040
3042
3045
3047
3048
3052
3054
3055
3057
3058
3060
3062
3064
3071
3073
3075
3076
3077
3079
3080
3086
3087
3089
3090
3093
3094
3096
3097
3100
3103
3104
3105
3108
3109
3110
3115
3116
3117
3121
3125
3126
3128
3130
3132
3134
3135
3141
3143
3144
3146
3148
3149
3151
3152
3153
3154
3156
3157
3160
3171
3174
3175
3177
3178
3180
3181
3182
3183
3185
3186
3188
3191
3197
3199
3201
3203
3204
3206
3208
3209
3210
3211
3212
3214
3215
3216
3220
3223
3225
3227
3228
3231
3232
3233
3235
3237
3238
3239
3240
3243
3244
3252
3253
3254
3255
3256
3258
3259
3262
3263
3264
3265
3266
3271
3274
3281
3285
3286
3290
3292
3293
3296
3299
3300
3301
3302
3303
3307
3308
3309
3310
3312
3316
3318
3319
3320
3325
3327
3331
3333
3334
3336
3337
3339
3340
3341
3342
3343
3346
3347
3350
3351
3353
3354
3355
3356
3357
3361
3365
3366
3367
3369
3370
3373
3374
3375
3377
3378
3381
3382
3386
3387
3389
3393
3395
3396
3397
3398
3400
3401
3403
3404
3406
3409
3411
3412
3415
3419
3424
3426
3427
3429
3431
3432
3433
3434
3436
3437
3438
3439
3443
3445
3446
3448
3449
3450
3451
3452
3455
3456
3458
3463
3465
3466
3469
3470
3471
3472
3473
3474
3475
3478
3481
3482
3484
3485
3486
3487
3488
3491
3493
3498
3500
3501
3506
3507
3509
3510
3512
3516
3518
3519
3521
3522
3524
3526
3527
3529
3530
3532
3534
3535
3536
3537
3538
3543
3544
3547
3550
3552
3553
3555
3556
3558
3559
3560
3561
3565
3566
3567
3569
3571
3572
3575
3576
3577
3578
3582
3583
3584
3586
3587
3590
3593
3594
3596
3597
3598
3602
3604
3608
3609
3612
3615
3617
3621
3622
3625
3626
3629
3631
3634
3636
3637
3638
3639
3640
3641
3642
3647
3648
3649
3650
3651
3652
3655
3656
3659
3661
3669
3670
3676
3677
3680
3681
3682
3685
3689
3690
3691
3694
3696
3700
3701
3702
3703
3705
3708
3710
3711
3714
3715
3717
3719
3723
3724
3725
3727
3729
3731
3732
3733
3734
3740
3741
3743
3747
3751
3753
3754
3755
3757
3758
3759
3760
3763
3764
3766
3767
3769
3771
3772
3773
3777
3778
3780
3782
3784
3786
3787
3788
3790
3791
3792
3795
3797
3800
3802
3803
3805
3806
3807
3812
3814
3815
3817
3819
3820
3821
3827
3831
3836
3837
3838
3840
3841
3846
3847
3851
