1
2
3
5
6
7
8
9
10
11
12
14
16
18
20
21
22
23
25
28
29
30
32
33
34
36
37
39
40
45
46
48
51
53
55
63
64
66
67
69
72
76
77
82
83
86
88
95
96
97
98
103
104
105
106
107
108
109
110
113
116
119
123
124
131
135
137
138
139
140
141
148
153
154
156
157
158
160
163
164
170
171
172
173
174
175
178
179
180
182
183
185
193
195
199
201
205
206
211
212
213
214
216
217
221
225
227
228
231
232
233
236
237
239
240
246
248
249
250
253
254
256
257
259
261
262
263
265
266
267
269
270
271
273
275
276
278
281
283
286
289
290
291
293
294
295
298
301
304
309
311
313
316
317
319
320
322
323
324
325
326
328
329
330
332
333
335
336
338
342
344
345
347
351
355
356
357
362
363
366
368
372
373
374
376
378
379
380
381
382
388
389
390
391
392
394
396
403
407
410
414
415
427
428
431
432
441
442
444
445
446
447
449
450
451
453
456
457
458
459
461
462
464
466
467
469
471
473
474
475
478
479
481
482
484
486
491
493
503
506
507
508
512
513
514
515
517
519
522
523
524
525
534
535
536
537
538
539
540
547
548
549
550
551
554
558
559
560
562
564
565
567
572
575
576
578
579
580
582
587
588
590
591
592
593
596
597
598
599
605
606
607
608
610
616
617
622
624
626
627
628
631
632
634
637
640
641
642
644
646
648
651
654
657
659
660
664
665
666
667
669
670
671
672
676
678
679
680
686
687
688
689
690
691
692
695
699
700
702
705
706
711
713
714
718
719
725
726
729
730
734
737
738
739
741
743
746
749
750
751
752
753
754
759
761
762
763
764
767
768
771
772
774
776
778
785
786
787
789
790
791
792
794
797
800
801
802
803
804
805
806
807
811
813
814
817
818
819
821
823
824
826
829
830
831
833
834
837
838
842
844
847
850
851
854
855
856
857
860
862
863
869
870
875
876
877
878
879
880
881
883
884
886
887
888
894
898
903
904
907
911
912
915
919
920
923
927
929
930
935
936
937
938
940
946
948
949
953
955
956
958
960
964
965
970
974
975
979
980
981
983
984
986
987
988
992
995
996
998
1001
1002
1006
1009
1012
1016
1017
1018
1021
1023
1024
1025
1027
1029
1031
1033
1034
1035
1037
1040
1042
1046
1047
1050
1054
1055
1057
1059
1061
1071
1072
1073
1075
1079
1080
1083
1085
1089
1090
1091
1095
1101
1102
1104
1105
1108
1110
1111
1112
1113
1114
1117
1119
1120
1124
1126
1127
1128
1129
1132
1133
1134
1135
1136
1138
1140
1142
1143
1145
1146
1147
1151
1152
1153
1159
1160
1162
1166
1167
1168
1169
1171
1173
1176
1179
1180
1181
1183
1184
1185
1186
1189
1190
1192
1193
1194
1195
1198
1201
1202
1203
1206
1207
1210
1213
1214
1215
1216
1218
1222
1225
1227
1228
1235
1240
1241
1243
1245
1246
1247
1250
1253
1256
1257
1258
1261
1262
1263
1266
1267
1268
1273
1275
1276
1277
1278
1281
1282
1285
1287
1290
1294
1299
1301
1303
1306
1307
1311
1312
1313
1314
1320
1322
1323
1325
1328
1329
1330
1332
1334
1335
1336
1338
1341
1342
1344
1347
1348
1349
1351
1352
1353
1355
1357
1360
1362
1363
1364
1365
1367
1368
1369
1370
1371
1372
1373
1376
1378
1380
1381
1384
1385
1386
1390
1391
1392
1393
1396
1397
1402
1404
1405
1406
1407
1408
1409
1411
1413
1417
1420
1426
1432
1434
1435
1440
1441
1442
1443
1448
1449
1451
1456
1458
1465
1467
1468
1469
1472
1474
1476
1477
1479
1480
1481
1489
1492
1498
1500
1504
1505
1506
1507
1508
1510
1511
1512
1514
1515
1517
1518
1519
1521
1528
1530
1531
1533
1537
1540
1541
1542
1547
1549
1550
1552
1554
1555
1557
1558
1559
1560
1561
1566
1570
1575
1576
1577
1578
1579
1581
1585
1587
1588
1589
1594
1597
1600
1602
1603
1604
1605
1606
1608
1613
1614
1616
1617
1619
1620
1622
1623
1624
1626
1630
1631
1632
1633
1637
1640
1641
1643
1644
1651
1653
1656
1657
1659
1663
1664
1665
1666
1668
1669
1670
1673
1674
1677
1679
1680
1681
1683
1688
1689
1691
1693
1694
1695
1698
1701
1703
1706
1708
1710
1711
1712
1716
1717
1718
1724
1726
1728
1729
1731
1735
1738
1739
1744
1746
1749
1751
1752
1754
1758
1759
1760
1772
1773
1776
1779
1780
1781
1784
1787
1790
1791
1792
1796
1797
1800
1801
1803
1806
1807
1808
1809
1811
1813
1815
1817
1818
1820
1821
1822
1824
1825
1826
1827
1829
1830
1831
1832
1833
1837
1838
1839
1840
1841
1842
1843
1846
1848
1849
1851
1854
1856
1858
1859
1861
1863
1864
1865
1868
1870
1872
1874
1881
1882
1885
1886
1887
1888
1889
1891
1894
1897
1898
1901
1902
1906
1908
1909
1910
1911
1914
1916
1917
1919
1920
1923
1924
1925
1928
1929
1931
1934
1939
1942
1943
1947
1949
1950
1951
1952
1954
1955
1956
1959
1964
1968
1970
1972
1973
1974
1975
1977
1978
1980
1984
1985
1987
1990
1993
1996
1998
1999
2000
2002
2003
2004
2007
2009
2010
2011
2014
2020
2022
2027
2030
2031
2032
2033
2034
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2047
2048
2049
2051
2053
2054
2055
2056
2057
2059
2062
2063
2065
2069
2074
2077
2086
2087
2092
2096
2097
2100
2103
2109
2112
2113
2115
2116
2117
2120
2122
2126
2127
2131
2137
2138
2139
2146
2147
2150
2151
2152
2153
2155
2156
2158
2160
2161
2163
2164
2166
2168
2171
2172
2174
2177
2181
2182
2183
2186
2187
2193
2194
2195
2199
2202
2204
2206
2209
2210
2211
2213
2215
2216
2220
2221
2222
2224
2225
2226
2227
2229
2230
2234
2236
2237
2238
2241
2242
2243
2244
2246
2247
2250
2251
2255
2256
2257
2258
2261
2264
2269
2270
2275
2277
2278
2279
2280
2283
2284
2286
2289
2290
2295
2297
2299
2300
2301
2302
2303
2304
2305
2307
2308
2309
2313
2314
2315
2318
2320
2321
2323
2325
2330
2332
2333
2334
2336
2339
2344
2345
2350
2353
2355
2359
2362
2364
2365
2366
2369
2371
2375
2376
2377
2378
2384
2388
2389
2390
2391
2394
2395
2396
2399
2400
2401
2405
2406
2407
2408
2410
2412
2413
2415
2416
2418
2419
2424
2427
2429
2430
2431
2434
2436
2437
2438
2439
2442
2450
2452
2453
2458
2463
2464
2465
2466
2467
2469
2470
2473
2474
2476
2477
2478
2479
2481
2483
2484
2485
2488
2489
2491
2494
2495
2497
2499
2500
2501
2505
2506
2509
2511
2514
2516
2517
2522
2523
2531
2538
2544
2551
2552
2554
2562
2564
2568
2570
2571
2572
2576
2577
2579
2580
2581
2584
2585
2587
2592
2593
2595
2597
2599
2600
2601
2602
2603
2606
2610
2612
2613
2616
2622
2624
2627
2628
2629
2632
2633
2635
2636
2638
2642
2644
2646
2647
2648
2650
2651
2652
2654
2655
2657
2658
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2672
2676
2678
2680
2682
2683
2685
2686
2687
2689
2690
2691
2692
2693
2694
2697
2700
2701
2706
2707
2709
2710
2712
2713
2714
2718
2720
2725
2726
2727
2730
2731
2732
2733
2734
2735
2736
2739
2741
2742
2746
2747
2748
2750
2753
2755
2757
2762
2763
2764
2766
2767
2770
2773
2775
2776
2777
2778
2781
2782
2784
2788
2789
2791
2794
2795
2796
2797
2800
2801
2803
2807
2810
2812
2814
2816
2817
2820
2822
2823
2824
2827
2829
2830
2831
2836
2841
2844
2847
2850
2858
2859
2860
2862
2864
2865
2870
2871
2875
2876
2879
2880
2881
2882
2883
2885
2888
2889
2893
2896
2905
2906
2907
2908
2909
2910
2912
2913
2914
2915
2919
2921
2923
2924
2925
2927
2929
2930
2933
2935
2938
2939
2944
2945
2946
2947
2949
2950
2954
2959
2961
2963
2966
2969
2974
2977
2982
2983
2985
2986
2987
2988
2989
2994
2995
2997
2998
2999
3005
3007
3008
3010
3012
3013
3016
3017
3019
3020
3021
3023
3024
3025
3027
3028
3029
3031
3033
3034
3035
3036
3041
3044
3046
3054
3057
3063
3066
3069
3074
3079
3080
3082
3089
3090
3091
3092
3093
3094
3097
3100
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3114
3115
3116
3117
3119
3120
3122
3123
3125
3129
3133
3134
3136
3139
3140
3141
3143
3144
3148
3150
3151
3154
3155
3156
3158
3159
3160
3161
3164
3165
3166
3170
3177
3179
3180
3184
3186
3188
3192
3195
3196
3197
3200
3204
3207
3208
3209
3212
3213
3215
3217
3222
3223
3225
3227
3229
3230
3232
3234
3235
3236
3240
3244
3245
3247
3250
3251
3254
3264
3266
3267
3271
3277
3278
3282
3284
3290
3296
3300
3302
3304
3306
3307
3309
3310
3311
3317
3319
3320
3324
3325
3326
3328
3330
3332
3333
3335
3338
3339
3342
3345
3346
3350
3351
3354
3357
3361
3362
3363
3364
3365
3372
3378
3379
3380
3382
3383
3385
3387
3389
3391
3392
3393
3394
3398
3399
3400
3401
3404
3406
3411
3412
3414
3418
3420
3423
3424
3428
3432
3443
3445
3446
3447
3449
3450
3451
3454
3456
3460
3463
3464
3466
3468
3470
3473
3475
3476
3478
3481
3483
3486
3496
3500
3503
3505
3506
3507
3508
3509
3512
3514
3515
3516
3521
3525
3526
3527
3528
3530
3531
3532
3533
3534
3535
3542
3543
3545
3546
3550
3555
3557
3558
3561
3563
3564
3566
3568
3569
3571
3573
3574
3576
3577
3578
3587
3589
3590
3591
3592
3596
3597
3600
3605
3608
3609
3610
3611
3614
3615
3617
3619
3620
3621
3622
3624
3626
3630
3631
3633
3634
3635
3637
3639
3640
3642
3645
3647
3650
3656
3657
3658
3659
3661
3662
3663
3664
3665
3666
3667
3671
3672
3673
3674
3676
3677
3680
3681
3683
3684
3686
3687
3690
3692
3693
3696
3698
3700
3701
3702
3703
3704
3706
3707
3708
3709
3710
3712
3713
3715
3716
3723
3726
3727
3730
3734
3735
3736
3739
3740
3742
3743
3744
3745
3748
3749
3750
3753
3754
3757
3758
3760
3761
3765
3767
3768
3769
3775
3776
3777
3779
3780
3782
3783
3785
3787
3790
3792
3793
3794
3796
3798
3799
3800
3803
3807
3808
3809
3810
3818
3819
3820
3822
3823
3824
3825
3826
3827
3828
3829
3830
3833
3834
3835
3837
3839
3841
3842
3845
3850
3854
3856
3859
3865
3866
3869
3870
3871
3872
3873
3874
3875
3879
3880
3885
3886
3892
3896
3897
3898
3904
3907
3909
3913
3915
3916
3923
3924
3929
3930
3931
3933
3936
3937
3938
3941
3943
3944
3946
3949
3950
3952
3955
3958
3960
3962
3966
3969
3970
3973
3974
3979
3980
3982
3985
3991
3992
3993
3997
3998
4001
4003
4008
4012
4013
4016
4021
4022
4023
4024
4025
4026
4027
4028
4030
4034
4036
4038
4040
