0
1
3
6
7
8
9
10
13
14
19
20
21
23
25
27
28
31
32
35
38
39
40
42
44
45
47
48
49
52
56
57
60
61
62
68
69
73
74
75
76
78
80
81
82
83
84
85
86
87
89
91
93
95
96
98
99
100
102
103
106
107
111
113
117
120
121
122
123
124
126
127
132
133
136
138
140
142
144
145
146
147
149
150
152
153
154
157
158
159
161
162
165
166
168
169
170
173
174
176
177
180
181
183
184
185
190
191
193
194
195
196
200
203
205
207
209
210
211
214
217
219
221
222
223
224
229
231
234
235
236
238
241
243
244
245
252
253
254
255
258
259
263
265
267
271
273
277
279
281
282
283
285
287
289
290
291
292
293
294
302
303
304
307
309
310
311
313
316
319
321
323
328
329
330
331
332
333
334
335
336
341
342
343
344
346
348
349
354
355
358
359
360
361
362
365
368
369
372
374
375
376
377
380
382
385
386
388
389
391
393
395
396
397
399
400
401
404
407
408
409
411
412
414
417
418
420
424
426
427
428
429
431
433
434
436
440
441
443
446
449
450
451
452
456
458
460
461
465
467
468
471
473
474
475
476
479
480
481
483
486
487
488
489
497
498
504
507
508
509
512
513
514
516
521
523
524
525
527
528
529
530
532
533
535
537
540
542
544
545
548
553
554
555
557
558
559
561
562
565
570
571
574
575
576
577
578
579
580
581
582
583
584
586
587
590
591
592
593
594
596
597
599
601
604
607
608
610
611
614
616
620
622
623
626
628
629
631
634
639
641
642
643
645
646
647
648
649
651
653
659
662
666
668
669
670
671
677
681
683
684
691
694
696
697
699
700
702
705
706
711
712
713
714
715
716
717
720
725
727
729
730
731
734
737
738
740
741
742
744
746
748
755
757
759
761
763
764
765
766
767
768
770
774
775
776
777
779
780
783
784
786
787
788
789
790
792
793
794
795
796
799
803
804
805
806
807
809
810
814
821
822
824
829
831
832
833
836
837
839
841
842
843
844
846
850
852
853
854
855
857
859
861
862
863
867
870
871
873
874
876
879
881
883
885
886
890
893
899
905
907
910
914
916
917
919
920
923
924
930
931
934
935
937
938
939
940
941
944
947
948
951
953
955
959
960
961
965
967
968
970
972
973
974
979
980
981
982
983
984
986
987
988
989
993
994
995
996
999
1001
1004
1008
1010
1011
1013
1015
1021
1024
1025
1026
1028
1030
1036
1042
1043
1045
1046
1050
1055
1056
1058
1059
1060
1064
1065
1067
1071
1072
1076
1077
1078
1080
1082
1084
1085
1086
1087
1088
1089
1090
1091
1093
1094
1097
1098
1104
1106
1113
1116
1117
1118
1119
1120
1121
1123
1124
1125
1126
1127
1131
1133
1134
1135
1137
1138
1143
1144
1145
1146
1148
1149
1151
1152
1154
1156
1157
1158
1160
1163
1164
1165
1166
1169
1170
1172
1173
1175
1177
1179
1181
1182
1185
1186
1187
1192
1197
1203
1204
1206
1208
1209
1210
1211
1212
1213
1215
1217
1219
1220
1221
1225
1229
1231
1233
1234
1237
1238
1239
1240
1245
1246
1249
1250
1251
1253
1254
1255
1258
1259
1260
1262
1264
1265
1267
1269
1273
1280
1284
1286
1287
1288
1291
1294
1297
1299
1300
1301
1310
1312
1313
1314
1317
1320
1322
1325
1329
1331
1332
1335
1336
1337
1338
1343
1345
1346
1348
1349
1353
1354
1356
1357
1360
1361
1362
1363
1365
1366
1367
1368
1369
1372
1373
1375
1377
1381
1382
1384
1387
1389
1390
1393
1395
1396
1398
1399
1400
1401
1406
1407
1412
1415
1416
1417
1422
1423
1426
1429
1433
1434
1437
1439
1440
1445
1447
1448
1449
1450
1453
1455
1456
1459
1461
1462
1463
1465
1466
1469
1470
1476
1477
1479
1481
1482
1483
1484
1490
1492
1493
1494
1497
1500
1503
1504
1506
1512
1513
1514
1516
1517
1522
1523
1529
1530
1532
1536
1537
1538
1539
1541
1545
1546
1550
1552
1554
1556
1558
1562
1566
1568
1573
1574
1578
1579
1580
1582
1586
1587
1588
1591
1592
1595
1597
1599
1601
1605
1606
1607
1613
1615
1616
1622
1627
1628
1629
1631
1633
1634
1636
1642
1645
1649
1650
1651
1654
1655
1656
1657
1658
1659
1663
1664
1665
1668
1669
1672
1673
1674
1675
1677
1682
1689
1691
1692
1694
1695
1700
1704
1705
1706
1707
1712
1722
1726
1727
1728
1730
1734
1735
1737
1738
1744
1747
1749
1754
1755
1757
1759
1760
1761
1763
1764
1767
1768
1769
1770
1772
1774
1775
1783
1787
1788
1791
1792
1793
1795
1802
1804
1805
1807
1809
1810
1812
1813
1815
1816
1819
1827
1830
1831
1832
1833
1834
1837
1841
1842
1843
1845
1847
1851
1852
1854
1856
1857
1858
1859
1860
1863
1865
1866
1867
1868
1869
1870
1874
1876
1879
1882
1883
1884
1886
1889
1890
1891
1894
1896
1899
1900
1901
1902
1903
1904
1905
1907
1909
1910
1913
1914
1915
1916
1918
1919
1920
1921
1923
1925
1926
1927
1928
1930
1931
1932
1933
1936
1940
1941
1945
1950
1951
1952
1960
1961
1962
1969
1970
1973
1975
1980
1981
1986
1988
1989
1991
1996
1997
1999
2000
2001
2004
2005
2012
2014
2019
2021
2024
2029
2030
2031
2033
2037
2038
2039
2040
2041
2043
2044
2046
2049
2050
2051
2053
2054
2056
2057
2058
2059
2061
2063
2067
2069
2071
2076
2078
2079
2082
2084
2085
2086
2090
2092
2094
2095
2096
2099
2100
2101
2102
2103
2104
2106
2108
2111
2113
2114
2115
2116
2117
2118
2119
2121
2122
2123
2124
2127
2129
2130
2132
2133
2136
2140
2142
2143
2146
2148
2149
2150
2153
2156
2157
2158
2160
2161
2165
2170
2172
2173
2174
2178
2181
2183
2187
2190
2194
2197
2198
2200
2204
2205
2206
2207
2208
2210
2211
2212
2217
2218
2221
2227
2229
2230
2231
2232
2233
2234
2235
2239
2240
2242
2246
2250
2252
2255
2256
2258
2259
2262
2263
2264
2267
2268
2269
2270
2271
2275
2276
2277
2278
2282
2283
2284
2286
2289
2290
2291
2293
2298
2299
2301
2302
2303
2306
2307
2308
2312
2314
2315
2316
2319
2320
2322
2325
2326
2327
2328
2333
2336
2338
2340
2341
2344
2347
2350
2352
2355
2359
2361
2364
2365
2369
2370
2372
2374
2378
2381
2383
2387
2391
2392
2393
2394
2397
2398
2400
2402
2404
2405
2407
2409
2411
2412
2416
2418
2421
2422
2424
2426
2429
2433
2436
2438
2440
2443
2447
2452
2456
2461
2464
2465
2466
2467
2468
2472
2473
2474
2475
2476
2477
2479
2480
2482
2483
2484
2486
2488
2489
2490
2491
2492
2495
2499
2500
2501
2503
2507
2511
2515
2516
2517
2521
2524
2525
2529
2533
2537
2538
2546
2548
2549
2551
2552
2555
2556
2559
2560
2561
2562
2565
2567
2568
2569
2570
2571
2573
2574
2576
2579
2580
2582
2583
2585
2586
2588
2589
2590
2591
2594
2595
2597
2598
2599
2600
2602
2605
2606
2607
2608
2610
2611
2612
2613
2615
2617
2618
2622
2623
2626
2628
2630
2632
2633
2634
2635
2637
2639
2640
2641
2642
2643
2647
2649
2650
2651
2652
2655
2656
2657
2658
2659
2661
2662
2666
2668
2669
2670
2671
2672
2673
2676
2677
2680
2683
2685
2686
2688
2691
2694
2695
2697
2705
2706
2709
2710
2711
2713
2716
2717
2719
2720
2728
2730
2732
2733
2736
2737
2738
2739
2740
2742
2744
2748
2750
2753
2754
2758
2760
2761
2763
2764
2766
2773
2774
2775
2777
2778
2779
2783
2784
2786
2787
2788
2790
2791
2792
2795
2797
2799
2801
2802
2807
2808
2810
2812
2815
2816
2819
2821
2822
2824
2828
2829
2830
2832
2833
2839
2840
2842
2844
2849
2850
2852
2853
2856
2861
2863
2866
2867
2869
2875
2876
2877
2880
2882
2884
2892
2893
2896
2897
2898
2901
2904
2905
2909
2912
2913
2914
2919
2923
2924
2925
2926
2928
2929
2930
2936
2937
2938
2943
2947
2948
2949
2950
2951
2952
2953
2955
2959
2964
2965
2969
2970
2972
2973
2974
2975
2977
2978
2979
2981
2982
2985
2987
2988
2989
2990
2994
2995
2996
2998
3000
3001
3002
3004
3006
3007
3011
3013
3015
3017
3019
3024
3026
3031
3032
3035
3037
3039
3040
3042
3043
3048
3049
3050
3052
3053
3054
3055
3056
3057
3059
3060
3064
3067
3070
3073
3078
3079
3081
3084
3086
3088
3093
3095
3096
3100
3103
3107
3111
3112
3115
3117
3119
3123
3126
3130
3132
3133
3134
3138
3140
3142
3145
3146
3148
3150
3151
3153
3157
3158
3159
3160
3162
3164
3170
3171
3172
3174
3175
3176
3177
3178
3181
3183
3186
3187
3192
3194
3195
3196
3197
3200
3203
3205
3206
3207
3209
3212
3220
3222
3225
3226
3228
3229
3230
3231
3232
3233
3235
3237
3238
3239
3242
3245
3249
3251
3252
3253
3254
3256
3257
3265
3266
3268
3270
3271
3272
3273
3274
3275
3276
3282
3284
3285
3286
3287
3289
3290
3296
3297
3298
3300
3303
3305
3306
3308
3311
3314
3315
3317
3323
3324
3327
3328
3330
3337
3338
3340
3341
3342
3343
3344
3345
3348
3349
3350
3351
3355
3359
3365
3369
3373
3374
3377
3381
3386
3388
3392
3393
3395
3397
3398
3399
3400
3401
3403
3405
3407
3408
3410
3411
3412
3415
3418
3421
3424
3426
3427
3431
3432
3433
3437
3444
3447
3448
3449
3450
3453
3457
3460
3462
3463
3465
3467
3472
3475
3476
3477
3479
3481
3482
3486
3487
3491
3493
3497
3500
3501
3503
3504
3505
3511
3512
3514
3517
3520
3522
3524
3526
3527
3532
3535
3537
3538
3542
3543
3545
3546
3548
3551
3554
3555
3556
3557
3558
3559
3561
3562
3563
3564
3565
3566
3567
3568
3570
3573
3574
3576
3578
3579
3580
3581
3582
3584
3585
3586
3587
3588
3589
3592
3597
3600
3604
3605
3606
3607
3609
3613
3620
3621
3622
3624
3625
3626
3627
3629
3630
3631
3633
3634
3637
3643
3644
3645
3649
3650
3651
3654
3656
3658
3661
3662
3665
3666
3669
3672
3674
3675
3676
3681
3682
3685
3686
3688
3689
3690
3692
3695
3696
3697
3699
3700
3705
3706
3711
3714
3715
3721
3725
3727
3728
3729
3731
3732
3733
3734
3735
3737
3738
3741
3742
3744
3746
3750
3751
3752
3753
3756
3757
3758
3760
3762
3765
3770
3771
3773
3777
3778
3781
3784
3786
3787
3793
3795
3796
3797
3799
3800
3802
3803
3804
3805
3806
3807
3808
3811
3812
3814
3816
3817
3820
3823
3827
3831
3837
3839
3841
3844
3846
3849
3854
3855
3858
3860
3863
3864
3867
3868
3869
3870
3878
3881
3882
3883
3884
3886
3887
3889
3892
3893
3894
3899
3901
3904
3905
3906
3907
3910
3912
3913
3918
3924
3926
3928
3929
3932
3934
3937
3939
3941
3944
3945
3948
3949
3950
3951
3952
3955
3957
3959
3960
3961
3963
3965
3966
3967
3969
3971
3972
3977
3979
3981
3983
3984
3987
3989
3991
3992
3994
3997
3999
4000
4003
4004
4011
4012
4013
4014
4016
4017
4019
4020
4021
4024
4025
4026
4029
4030
4031
4033
4034
4035
4036
4037
4038
4039
4041
4046
4049
4050
4053
4054
4056
4058
4059
4064
4066
4068
4069
4071
4072
4073
4076
4078
4081
4084
4086
4087
4088
4089
4091
4096
4100
4101
4102
4103
4105
4106
4110
4118
4121
4126
4127
4130
4133
4135
4137
4141
4142
4143
4146
4152
4154
4159
4161
4162
4164
4165
4166
4168
4169
4170
4172
4176
4177
4178
4182
4183
4184
4190
4191
4194
4195
4196
