1
2
3
4
6
9
10
11
12
13
15
16
18
22
23
27
29
30
31
33
34
40
42
43
44
45
47
48
50
51
52
53
54
55
56
59
60
62
64
65
66
69
70
71
74
76
77
78
80
81
83
85
86
87
88
89
90
97
98
100
102
105
106
107
112
114
115
117
119
121
127
131
133
135
136
137
138
139
141
142
144
145
146
147
149
151
152
154
157
161
165
166
167
174
175
177
179
181
182
184
186
187
189
193
195
197
198
200
201
202
205
206
213
216
217
218
220
221
222
227
229
232
233
235
236
237
238
240
242
243
244
246
250
251
253
259
261
263
269
272
273
275
276
277
278
280
281
282
283
284
286
289
291
293
295
296
297
299
300
302
304
305
306
307
308
309
311
312
313
314
318
320
322
324
325
326
327
332
334
335
336
338
339
340
342
343
344
345
346
349
350
351
352
354
356
358
361
363
365
370
371
372
373
375
376
377
379
380
381
382
383
384
385
386
389
390
391
393
394
396
397
402
403
404
406
407
408
409
410
411
412
415
419
423
424
425
426
427
429
431
432
433
435
436
438
446
450
453
456
459
460
461
462
463
464
466
467
468
469
471
473
476
477
480
481
482
483
484
485
486
488
489
490
491
492
496
499
500
502
503
504
506
507
508
510
511
512
513
514
515
516
521
522
524
527
528
529
530
531
533
537
539
540
541
542
545
546
547
548
549
550
552
553
555
558
561
562
565
566
567
568
569
570
571
575
579
581
582
585
586
587
589
590
595
597
599
600
604
605
607
608
611
612
613
614
615
616
617
619
620
622
623
625
626
627
629
630
633
644
645
647
648
651
652
654
656
657
658
660
662
664
666
667
669
671
672
675
677
680
681
682
683
684
688
690
691
694
695
697
699
701
702
703
705
707
709
711
712
713
716
717
719
721
725
726
729
731
733
734
735
736
737
740
746
749
750
753
755
758
759
760
761
762
764
766
767
769
770
772
773
775
779
781
782
784
785
786
787
788
789
792
793
794
796
797
799
801
802
806
808
809
810
811
814
815
816
819
820
821
823
824
825
826
827
829
833
834
838
839
840
847
848
849
851
852
853
855
856
859
864
865
866
868
872
874
876
877
879
880
881
887
888
890
894
897
899
900
902
907
909
910
912
916
918
919
920
922
923
925
926
928
929
930
932
934
938
942
949
951
954
956
960
963
964
966
971
973
977
978
980
983
984
986
988
989
991
993
994
997
998
999
1003
1014
1015
1017
1018
1020
1021
1023
1026
1028
1029
1032
1033
1035
1037
1038
1040
1041
1042
1046
1051
1055
1059
1060
1067
1068
1069
1071
1073
1080
1083
1084
1087
1088
1091
1093
1095
1096
1097
1099
1100
1101
1103
1104
1106
1107
1108
1109
1114
1115
1117
1121
1122
1123
1127
1128
1132
1138
1146
1149
1154
1156
1157
1158
1159
1160
1162
1164
1165
1166
1167
1169
1172
1173
1174
1175
1177
1179
1183
1186
1188
1189
1190
1191
1195
1196
1198
1199
1200
1201
1202
1203
1205
1206
1210
1211
1214
1215
1216
1217
1218
1219
1220
1221
1225
1229
1230
1231
1235
1236
1239
1243
1244
1246
1247
1248
1250
1252
1253
1255
1256
1257
1259
1261
1263
1264
1267
1268
1271
1273
1274
1275
1278
1280
1286
1288
1289
1290
1291
1296
1300
1301
1303
1304
1305
1306
1307
1309
1310
1311
1313
1316
1318
1319
1320
1321
1322
1323
1325
1329
1330
1333
1334
1337
1339
1341
1344
1345
1346
1350
1351
1353
1355
1356
1358
1359
1362
1363
1364
1368
1369
1370
1372
1374
1375
1376
1377
1378
1379
1380
1381
1384
1385
1386
1387
1391
1393
1394
1397
1398
1399
1400
1404
1406
1408
1413
1414
1416
1421
1423
1425
1427
1430
1432
1434
1435
1438
1443
1446
1448
1450
1452
1453
1454
1458
1459
1461
1462
1463
1464
1468
1469
1470
1471
1474
1475
1477
1478
1480
1481
1482
1483
1484
1485
1490
1491
1493
1495
1496
1498
1501
1502
1503
1505
1506
1507
1512
1516
1517
1518
1519
1520
1522
1523
1527
1530
1531
1532
1533
1534
1535
1537
1538
1539
1540
1542
1543
1544
1547
1548
1550
1551
1552
1553
1554
1555
1556
1558
1559
1560
1562
1563
1564
1565
1567
1568
1579
1581
1582
1583
1584
1585
1587
1588
1589
1590
1591
1592
1596
1597
1600
1602
1603
1604
1605
1606
1608
1610
1612
1613
1615
1616
1618
1621
1622
1623
1627
1628
1630
1631
1633
1634
1636
1637
1641
1642
1643
1644
1647
1649
1650
1651
1655
1656
1657
1658
1660
1661
1662
1663
1664
1666
1669
1670
1679
1684
1685
1688
1690
1693
1697
1698
1699
1701
1702
1704
1705
1707
1708
1712
1713
1715
1718
1719
1721
1723
1724
1725
1726
1736
1737
1738
1739
1740
1741
1742
1743
1745
1746
1753
1754
1755
1758
1762
1763
1765
1767
1769
1771
1772
1777
1779
1780
1784
1785
1786
1789
1790
1793
1795
1797
1799
1800
1804
1805
1806
1807
1810
1812
1813
1814
1815
1816
1817
1818
1819
1820
1822
1823
1829
1830
1831
1833
1835
1840
1843
1844
1845
1847
1849
1851
1852
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1867
1868
1870
1871
1872
1873
1874
1877
1880
1881
1884
1885
1886
1887
1888
1889
1891
1893
1895
1897
1902
1903
1904
1907
1909
1910
1911
1912
1914
1915
1917
1920
1922
1923
1924
1927
1929
1932
1933
1935
1937
1942
1943
1944
1946
1949
1950
1956
1958
1959
1961
1962
1963
1964
1966
1968
1969
1970
1971
1973
1974
1976
1977
1978
1979
1980
1981
1984
1985
1988
1990
1991
1992
1993
1995
1996
1997
1998
1999
2000
2001
2004
2009
2010
2013
2014
2017
2019
2020
2024
2028
2030
2032
2033
2035
2036
2038
2039
2040
2041
2042
2044
2046
2048
2049
2051
2058
2059
2061
2063
2064
2066
2067
2068
2072
2074
2075
2076
2077
2078
2079
2083
2084
2085
2087
2088
2091
2092
2094
2095
2098
2102
2104
2105
2108
2109
2111
2112
2113
2114
2115
2117
2118
2119
2120
2122
2124
2126
2127
2128
2130
2132
2133
2134
2136
2137
2138
2139
2140
2142
2143
2144
2146
2148
2149
2150
2151
2153
2155
2156
2159
2162
2163
2165
2167
2173
2174
2176
2177
2178
2179
2180
2181
2182
2183
2185
2188
2189
2190
2192
2196
2199
2201
2203
2205
2206
2208
2210
2211
2213
2217
2218
2223
2224
2225
2228
2229
2232
2233
2234
2235
2237
2238
2240
2241
2242
2244
2245
2246
2247
2249
2252
2254
2255
2256
2258
2259
2260
2261
2262
2263
2265
2266
2267
2268
2269
2270
2271
2276
2277
2278
2282
2283
2284
2286
2289
2292
2294
2296
2301
2303
2304
2305
2307
2308
2309
2310
2311
2313
2318
2320
2326
2327
2333
2336
2337
2339
2340
2348
2350
2352
2353
2357
2358
2359
2360
2361
2363
2365
2368
2369
2370
2371
2372
2373
2374
2376
2377
2378
2379
2380
2383
2384
2386
2389
2390
2391
2393
2394
2397
2398
2399
2403
2408
2409
2410
2412
2414
2417
2418
2420
2422
2427
2428
2430
2431
2432
2433
2435
2438
2441
2442
2446
2447
2449
2450
2451
2452
2454
2459
2462
2463
2464
2469
2470
2472
2474
2475
2477
2478
2479
2481
2482
2483
2486
2487
2488
2489
2490
2492
2493
2497
2500
2502
2503
2504
2505
2513
2514
2518
2519
2521
2522
2523
2524
2525
2526
2527
2529
2530
2531
2532
2533
2536
2539
2540
2541
2544
2547
2548
2550
2553
2554
2555
2556
2558
2559
2560
2561
2562
2563
2564
2565
2567
2571
2573
2578
2579
2580
2582
2584
2586
2591
2592
2595
2596
2597
2599
2603
2604
2605
2606
2607
2608
2614
2615
2618
2619
2621
2622
2623
2625
2627
2628
2629
2630
2633
2635
2637
2639
2640
2642
2647
2649
2650
2651
2653
2654
2658
2659
2662
2663
2666
2667
2668
2669
2671
2672
2674
2679
2681
2682
2683
2685
2690
2692
2694
2695
2697
2699
2703
2705
2706
2707
2709
2716
2717
2719
2720
2722
2724
2725
2726
2727
2728
2729
2730
2731
2733
2737
2744
2749
2752
2753
2754
2755
2758
2760
2761
2762
2763
2765
2766
2767
2769
2770
2773
2774
2776
2777
2778
2780
2782
2783
2784
2789
2791
2793
2794
2796
2799
2800
2801
2803
2806
2808
2809
2810
2811
2812
2813
2814
2817
2818
2819
2820
2821
2822
2828
2830
2831
2833
2834
2836
2838
2840
2843
2845
2846
2847
2848
2849
2851
2852
2853
2856
2857
2858
2859
2861
2863
2865
2866
2868
2869
2870
2872
2873
2874
2875
2878
2881
2885
2886
2890
2891
2895
2896
2897
2899
2900
2902
2904
2906
2908
2909
2911
2913
2917
2918
2919
2924
2927
2929
2930
2931
2933
2934
2936
2937
2938
2940
2944
2948
2950
2951
2953
2956
2959
2960
2961
2963
2965
2967
2969
2970
2973
2976
2977
2978
2980
2984
2985
2987
2988
2989
2990
2993
2997
2999
3001
3003
3004
3006
3007
3008
3009
3011
3012
3016
3018
3021
3023
3024
3025
3026
3028
3029
3030
3031
3032
3033
3035
3036
3037
3038
3040
3043
3044
3045
3046
3048
3049
3052
3057
3058
3060
3063
3065
3066
3067
3069
3070
3071
3072
3074
3076
3079
3080
3081
3083
3085
3087
3089
3090
3092
3096
3100
3101
3102
3107
3108
3110
3111
3117
3118
3119
3120
3123
3125
3126
3131
3137
3138
3139
3143
3147
3151
3153
3154
3155
3156
3157
3158
3162
3166
3169
3170
3171
3173
3174
3178
3180
3181
3183
3188
3190
3191
3192
3193
3195
3196
3199
3201
3202
3205
3206
3207
3208
3209
3211
3212
3214
3215
3217
3218
3219
3221
3224
3225
3226
3227
3228
3229
3230
3231
3237
3238
3240
3241
3242
3243
3244
3245
3248
3250
3252
3253
3255
3256
3257
3259
3262
3263
3264
3266
3267
3268
3271
3272
3273
3280
3283
3285
3288
3290
3292
3293
3295
3296
3297
3298
3299
3301
3302
3307
3310
3312
3314
3315
3317
3319
3320
3321
3322
3323
3324
3326
3329
3332
3333
3334
3337
3338
3339
3340
3341
3343
3345
3347
3349
3351
3352
3353
3354
3358
3359
3361
3362
3364
3365
3366
3367
3368
3369
3370
3373
3374
3375
3377
3378
3379
3381
3383
3384
3385
3388
3389
3390
3391
3393
3394
3397
3399
3400
3401
3402
3404
3411
3413
3414
3416
3420
3421
3422
3425
3428
3429
3430
3432
3436
3437
3439
3440
3441
3442
3443
3445
3446
3448
3449
3450
3452
3455
3457
3459
3460
3461
3463
3464
3466
3467
3468
3469
3470
3471
3472
3476
3477
3478
3479
3480
3481
3482
3484
3485
3486
3487
3489
3490
3491
3492
3493
3494
3495
3496
3497
3499
3500
3503
3504
3505
3506
3507
3508
3509
3510
3514
3516
3518
3519
3521
3522
3527
3528
3530
3535
3537
3538
3540
3541
3542
3544
3547
3548
3549
3550
3552
3553
3554
3555
3556
3558
3559
3562
3563
3564
3569
3572
3573
3574
3575
3578
3579
3580
3581
3583
3584
3586
3587
3590
3592
3594
3595
3596
3603
3607
3610
3614
3615
3617
3618
3619
3623
3630
3631
3633
3634
3637
3638
3639
3640
3641
3643
3644
3646
3647
3648
3650
3651
3653
3655
3658
3661
3662
3664
3665
3666
3668
3669
3670
3671
3672
3678
3679
3680
3681
3682
3683
3685
3686
3687
3690
3691
3695
3697
3698
3699
3702
3704
3706
3707
3709
3710
3711
3713
3715
3716
3720
3721
3724
3728
3729
3730
3735
3736
3738
3739
3740
3743
3745
3746
3747
3748
3749
3750
3752
3754
3755
3757
3759
3760
3766
3768
3769
3771
3772
3773
3775
3776
3777
3778
3780
3781
3785
3787
3788
3789
3790
3792
3793
3794
3795
3796
3797
3798
3800
3802
3807
3810
3812
3813
3814
3816
3817
3818
3825
3826
3827
3831
3832
3833
3834
3837
3839
3841
3842
3846
3847
3848
3850
3851
3856
3857
3859
3860
3862
3863
3864
3866
3869
3870
3877
3878
3880
3881
3882
3884
3885
3886
3890
3891
3892
3894
3895
3897
3899
3900
3903
3904
3907
3908
3910
3911
3912
3913
3915
3916
3918
3921
3922
3923
3924
3925
3928
3929
3930
3932
3934
3935
3938
3939
3941
3942
3947
3949
3950
3951
3952
3953
3954
3955
3958
3959
3962
3972
3973
3975
3977
3979
3980
3983
3985
3987
3988
3990
3991
3992
3994
3995
3997
3999
4000
4002
4003
4005
4006
4007
4008
4009
4011
4013
4018
4022
4024
4025
4026
4027
4028
4034
4035
4036
4037
4039
4040
4043
4044
4046
4047
4054
4059
4060
4063
4065
4066
4067
4070
4072
4074
4076
4077
4082
4084
4085
4086
4087
4088
4089
4090
4092
4093
4094
4096
4099
4105
4106
4107
4109
4111
4113
4115
4116
4118
4119
4120
4122
4124
4125
4127
4131
4136
4139
4142
4143
4146
4149
4150
4152
4155
4156
4157
4158
4159
4161
4162
4166
4167
4168
4169
4171
4173
4174
4176
4178
4179
4180
4183
4184
4189
4190
4192
4193
4197
4198
4200
4201
4202
4203
4204
4205
4207
4208
4209
4210
4212
4213
4216
4217
4218
4219
4220
4221
4222
4223
4226
4227
4228
4229
4231
4232
4233
4234
4237
4239
4242
4243
4247
4248
4249
4250
4253
4255
4258
4261
4264
4265
4267
4268
4269
4270
4272
4273
4275
4277
4278
4281
4282
4283
4284
4287
4289
4290
4292
4293
4294
4296
4298
4299
4300
4304
4306
4308
4309
4310
4312
4315
4316
4317
4321
4324
4328
4330
4332
4335
4337
4338
4346
4349
4355
4356
4357
4360
4362
4365
4366
4368
4370
4371
4373
4374
4377
4378
4379
4380
4385
4388
4389
4392
4395
4397
4398
4399
4400
4401
4402
4403
4405
4407
4409
4411
4412
4415
4416
4417
4419
4424
4427
4429
4431
4434
4437
4438
4440
4441
4442
4443
4446
4448
4449
4450
4451
4452
4453
4454
4456
4458
4462
4464
4465
4466
4467
4468
4470
4473
4474
4476
4477
4479
4480
4481
4484
4487
4488
4489
4490
4492
4495
4499
4500
4501
4502
4506
4507
4508
4509
4512
4516
4517
4522
4525
4527
4529
4532
4533
4534
4537
4538
4539
4540
4542
4544
4545
4548
4550
4552
4553
4554
4555
4557
4559
4560
4562
4563
4564
4567
4570
4572
4573
4575
4576
4579
4580
4581
4582
4584
4585
4591
4592
4596
4597
4598
4600
4601
4602
4603
4604
4614
4615
4616
4619
4620
4621
4622
4626
4627
4629
4632
4633
4634
4635
4637
4640
4643
4645
4646
4647
4648
4651
4654
4655
4658
4659
4662
4668
4669
4671
4672
4673
4675
4676
4677
4680
4681
4684
4685
4687
4690
4691
4693
4697
4699
4702
4705
4706
4709
4710
4712
4715
4716
4718
4719
4720
4723
4724
4725
4726
4728
4729
4733
4734
4736
4738
4740
4745
4746
4748
4749
4751
4752
4753
4755
4756
4758
4759
4762
4768
4769
4770
4771
4773
4774
4775
4776
4779
4782
4784
4785
4786
4787
4788
4792
4793
4794
4796
4797
4798
4799
4800
4801
4802
4803
4804
4806
4808
4809
4811
4812
4813
4814
4817
4818
4820
4822
4830
4831
4833
4834
4835
4836
4837
4838
4840
4841
4843
4844
4845
4846
4847
4849
4850
4851
4852
4853
4854
4856
4858
4860
4861
4862
4864
4865
4869
4872
4875
4878
4881
4882
4885
4886
4891
4892
4894
4895
4896
4900
4901
4908
4909
4911
4913
4914
4916
4917
4920
4921
4923
4925
4928
4930
4931
4932
4934
4935
4936
4937
4941
4943
4944
4946
4948
4950
4951
4952
4953
4955
4957
4960
4963
4965
4966
4967
4968
4970
4971
4973
4975
4977
4978
4979
4980
4983
4987
4989
4991
4992
4994
4996
4997
4998
4999
5000
5005
5006
5007
5008
5009
5010
5011
5013
5015
5017
5018
5019
5021
5024
5025
5026
5027
5032
5034
5035
5036
5039
5043
5044
5045
5047
5049
5051
5054
5055
5057
5058
5059
5062
5063
5064
5065
5066
5067
5068
5072
5073
5074
5077
5078
5079
5082
5084
5086
5087
5089
5090
5092
5094
5095
5099
5100
5101
5106
5107
5111
5114
5116
5118
5121
5122
5123
5127
5129
5130
5131
5132
5134
5136
5138
5140
5141
5145
5147
5150
5151
5153
5154
5158
5162
5163
5164
5165
5168
5171
5173
5174
5175
5179
5180
5181
5183
5185
5186
5190
5192
5193
5196
5200
5201
5202
5205
5206
5210
