0
2
6
7
10
12
15
16
18
20
21
22
23
25
28
29
31
34
36
38
39
41
42
43
46
52
55
56
57
58
59
60
62
64
65
66
67
73
74
76
77
78
79
80
81
82
83
84
87
89
93
94
95
96
99
100
101
102
106
109
110
111
113
116
117
118
119
120
121
122
126
127
128
129
130
131
132
134
136
138
139
145
146
147
148
150
151
153
155
156
158
161
163
164
167
168
170
172
173
174
175
181
182
183
187
188
189
191
193
195
196
201
202
203
204
205
207
208
211
213
214
216
218
221
222
223
226
229
231
234
235
236
239
242
244
246
248
249
250
251
253
255
257
258
259
260
261
263
266
267
268
269
270
272
274
276
277
278
280
281
282
283
284
286
288
291
292
293
294
295
298
299
304
308
311
312
314
316
317
319
322
323
324
326
327
330
333
336
337
339
340
341
343
345
346
347
349
350
353
356
359
361
362
364
367
370
371
373
375
376
378
379
387
388
389
392
396
397
399
400
402
407
411
413
414
415
416
417
418
419
421
422
426
429
431
432
433
435
436
437
438
441
442
443
444
445
447
449
450
451
453
454
455
456
457
458
462
464
465
469
471
473
475
476
478
479
481
484
486
487
488
489
490
491
492
493
495
498
499
502
503
504
506
507
508
509
511
512
513
518
521
522
527
528
529
530
532
533
535
537
540
543
547
548
549
550
552
553
554
555
556
559
560
561
564
565
566
567
571
572
573
574
576
577
578
579
580
581
583
584
585
587
588
589
590
592
595
597
598
600
601
603
607
608
609
611
614
617
619
620
621
623
625
627
629
630
633
635
637
638
639
643
647
652
654
657
658
662
663
666
667
670
671
673
675
677
678
679
680
684
687
688
689
690
691
692
698
699
700
701
702
705
707
708
710
713
714
717
718
721
722
725
727
729
731
732
734
735
736
737
738
740
741
743
745
746
747
750
751
754
761
762
764
767
768
769
770
771
772
775
776
777
778
780
781
782
784
786
787
789
790
792
793
794
796
799
800
801
802
805
807
808
819
821
822
824
825
826
827
830
831
832
833
835
836
837
838
839
841
847
848
851
853
854
856
857
858
859
860
862
863
864
865
867
868
871
872
873
875
878
879
880
881
882
885
889
891
894
898
901
902
905
907
910
911
914
916
917
919
920
921
928
930
931
932
936
940
941
943
945
947
948
950
951
952
954
957
959
960
961
962
963
966
968
969
970
971
972
973
975
978
982
985
987
988
990
993
995
997
998
1001
1002
1010
1011
1013
1014
1015
1016
1018
1019
1020
1023
1025
1026
1027
1028
1029
1030
1033
1034
1035
1036
1037
1038
1039
1042
1046
1047
1048
1051
1054
1059
1060
1062
1063
1067
1069
1070
1071
1074
1075
1076
1080
1081
1082
1086
1087
1089
1090
1092
1094
1096
1098
1101
1102
1104
1106
1109
1110
1113
1115
1116
1118
1119
1120
1121
1122
1125
1127
1130
1131
1133
1134
1135
1136
1137
1138
1139
1140
1142
1144
1146
1148
1149
1150
1151
1154
1156
1158
1160
1161
1162
1169
1173
1174
1176
1177
1178
1179
1180
1183
1184
1185
1187
1190
1192
1193
1195
1200
1201
1202
1204
1205
1206
1207
1208
1213
1216
1217
1225
1227
1229
1230
1231
1232
1233
1234
1235
1238
1239
1240
1241
1245
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1263
1264
1266
1268
1270
1271
1272
1275
1276
1277
1278
1280
1283
1285
1286
1287
1288
1289
1290
1291
1292
1293
1295
1297
1298
1299
1300
1301
1302
1303
1304
1306
1307
1309
1310
1311
1312
1313
1316
1317
1318
1321
1322
1324
1325
1326
1327
1328
1331
1334
1335
1337
1339
1342
1345
1348
1351
1353
1354
1356
1359
1361
1364
1366
1367
1369
1370
1371
1372
1373
1374
1377
1379
1380
1385
1386
1388
1389
1393
1396
1400
1402
1408
1409
1413
1415
1417
1418
1419
1420
1421
1422
1423
1427
1430
1431
1437
1439
1441
1443
1444
1446
1447
1448
1453
1454
1455
1458
1459
1460
1461
1462
1463
1464
1465
1466
1469
1470
1472
1473
1474
1476
1477
1479
1480
1481
1485
1486
1489
1491
1493
1494
1496
1497
1501
1502
1505
1506
1512
1513
1514
1515
1520
1522
1525
1526
1527
1530
1531
1533
1534
1535
1538
1539
1540
1541
1542
1543
1544
1547
1549
1551
1554
1555
1556
1557
1558
1559
1561
1563
1564
1565
1567
1568
1569
1570
1573
1576
1577
1578
1579
1581
1582
1584
1585
1587
1588
1589
1593
1595
1596
1597
1598
1601
1603
1604
1607
1608
1610
1613
1614
1615
1616
1617
1618
1620
1626
1627
1628
1629
1630
1636
1638
1641
1644
1645
1646
1647
1648
1652
1653
1654
1655
1656
1657
1659
1663
1665
1667
1668
1669
1672
1675
1677
1679
1683
1684
1685
1687
1690
1691
1692
1693
1694
1696
1697
1700
1702
1703
1705
1707
1711
1712
1714
1717
1724
1727
1730
1731
1733
1735
1738
1739
1743
1744
1745
1746
1749
1750
1751
1752
1753
1754
1759
1760
1761
1764
1765
1769
1772
1780
1782
1785
1787
1788
1794
1795
1796
1799
1801
1802
1803
1805
1806
1807
1808
1809
1812
1813
1815
1816
1818
1819
1820
1821
1822
1823
1824
1825
1827
1828
1831
1832
1833
1835
1837
1838
1839
1840
1841
1845
1846
1851
1852
1855
1856
1857
1858
1861
1862
1863
1864
1865
1867
1871
1874
1875
1882
1883
1884
1885
1886
1887
1892
1893
1894
1896
1899
1900
1901
1902
1904
1906
1909
1911
1912
1914
1917
1918
1921
1922
1923
1924
1925
1926
1927
1928
1930
1931
1932
1933
1934
1935
1937
1938
1939
1940
1942
1945
1946
1947
1948
1949
1950
1952
1954
1956
1957
1958
1959
1960
1961
1964
1966
1967
1970
1972
1973
1974
1975
1976
1977
1979
1980
1981
1985
1986
1988
1990
1991
1992
1995
1996
1997
1998
1999
2000
2001
2002
2003
2006
2007
2008
2009
2010
2011
2012
2014
2016
2017
2021
2022
2025
2027
2029
2031
2032
2033
2034
2036
2037
2041
2042
2045
2047
2048
2052
2054
2056
2058
2059
2060
2062
2064
2066
2067
2069
2070
2073
2074
2077
2078
2080
2082
2083
2086
2089
2093
2094
2095
2096
2097
2098
2099
2103
2106
2107
2111
2115
2116
2117
2118
2119
2120
2122
2124
2125
2129
2130
2131
2133
2134
2135
2137
2140
2141
2143
2145
2147
2151
2156
2157
2159
2160
2165
2168
2170
2171
2174
2179
2180
2183
2184
2185
2186
2187
2189
2190
2191
2192
2193
2194
2197
2198
2199
2202
2206
2207
2210
2216
2222
2223
2224
2226
2228
2231
2232
2233
2235
2236
2238
2240
2241
2242
2243
2245
2248
2249
2251
2252
2254
2255
2259
2260
2265
2266
2274
2275
2277
2278
2280
2281
2283
2284
2286
2290
2293
2295
2296
2299
2300
2301
2302
2303
2306
2308
2309
2310
2311
2313
2315
2316
2317
2318
2319
2320
2321
2322
2323
2325
2328
2330
2331
2333
2336
2337
2338
2344
2345
2346
2347
2349
2351
2352
2353
2357
2358
2359
2361
2362
2363
2364
2365
2371
2372
2374
2375
2377
2380
2381
2385
2386
2391
2394
2395
2396
2398
2400
2402
2404
2406
2407
2408
2410
2411
2413
2414
2417
2420
2424
2427
2429
2430
2431
2437
2438
2439
2440
2441
2445
2448
2450
2452
2453
2456
2457
2458
2459
2464
2465
2466
2467
2469
2470
2473
2474
2476
2481
2483
2485
2489
2491
2493
2495
2498
2500
2502
2504
2505
2507
2508
2509
2510
2512
2516
2517
2519
2520
2521
2524
2526
2527
2528
2529
2530
2531
2533
2534
2535
2536
2539
2540
2541
2542
2544
2545
2548
2550
2551
2552
2553
2554
2555
2558
2563
2564
2565
2567
2569
2572
2574
2576
2577
2579
2580
2581
2582
2583
2585
2586
2587
2589
2593
2594
2595
2596
2599
2600
2601
2602
2604
2605
2606
2608
2609
2612
2613
2617
2618
2619
2620
2621
2622
2625
2627
2628
2631
2632
2635
2636
2640
2641
2644
2645
2650
2652
2657
2658
2659
2661
2662
2666
2667
2671
2673
2675
2678
2679
2680
2683
2686
2687
2689
2690
2694
2699
2700
2702
2705
2706
2708
2712
2713
2718
2720
2721
2723
2726
2728
2729
2730
2731
2737
2738
2740
2744
2746
2748
2753
2755
2757
2758
2759
2761
2763
2764
2765
2767
2772
2774
2775
2776
2777
2780
2782
2783
2787
2789
2790
2792
2798
2799
2802
2803
2805
2811
2815
2818
2820
2823
2825
2827
2832
2834
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2850
2854
2856
2859
2860
2861
2862
2863
2864
2865
2866
2868
2871
2874
2883
2884
2889
2890
2891
2894
2897
2900
2901
2902
2903
2906
2910
2912
2913
2914
2917
2921
2922
2925
2927
2928
2931
2933
2934
2942
2946
2947
2948
2949
2950
2952
2953
2954
2956
2959
2960
2962
2963
2964
2965
2969
2970
2973
2976
2977
2978
2979
2981
2985
2990
2993
2994
2995
2997
2998
2999
3001
3002
3004
3005
3006
3008
3009
3011
3012
3013
3016
3019
3023
3024
3025
3026
3028
3033
3034
3038
3040
3041
3043
3046
3047
3049
3050
3051
3052
3053
3055
3056
3057
3059
3060
3063
3064
3065
3068
3069
3071
3073
3074
3076
3077
3078
3079
3081
3084
3085
3086
3087
3088
3089
3090
3095
3098
3101
3105
3107
3109
3110
3114
3116
3117
3118
3120
3122
3123
3124
3125
3126
3127
3129
3131
3132
3134
3136
3137
3138
3140
3141
3143
3145
3147
3148
3150
3151
3153
3154
3155
3156
3160
3162
3164
3167
3169
3170
3171
3172
3174
3176
3177
3180
3181
3186
3187
3192
3194
3195
3196
3197
3199
3202
3206
3207
3209
3211
3213
3216
3217
3219
3220
3222
3227
3231
3232
3235
3236
3238
3239
3240
3241
3242
3243
3244
3246
3249
3251
3254
3255
3257
3259
3261
3263
3264
3265
3267
3268
3271
3272
3274
3275
3278
3279
3280
3282
3286
3288
3291
3293
3294
3295
3296
3299
3303
3304
3305
3306
3308
3309
3310
3311
3315
3316
3317
3319
3322
3323
3324
3326
3328
3329
3330
3331
3335
3336
3337
3339
3344
3345
3347
3348
3349
3350
3351
3355
3356
3357
3358
3361
3363
3366
3368
3371
3373
3374
3377
3385
3387
3390
3392
3393
3394
3395
3398
3400
3403
3404
3406
3407
3408
3410
3414
3415
3416
3417
3419
3420
3421
3422
3423
3425
3426
3427
3429
3434
3435
3441
3442
3443
3444
3445
3446
3447
3449
3451
3452
3456
3464
3465
3467
3468
3469
3471
3473
3475
3477
3478
3479
3480
3481
3482
3485
3486
3487
3489
3490
3494
3495
3497
3500
3503
3508
3509
3510
3514
3515
3516
3517
3518
3519
3520
3521
3523
3525
3528
3529
3530
3533
3534
3536
3540
3541
3544
3545
3549
3550
3552
3556
3557
3560
3561
3562
3567
3572
3573
3574
3575
3578
3579
3580
3581
3582
3584
3586
3588
3589
3591
3592
3596
3597
3598
3599
3601
3602
3604
3606
3608
3609
3610
3612
3614
3616
3617
3619
3620
3621
3622
3626
3627
3628
3630
3631
3633
3635
3636
3637
3638
3639
3642
3645
3648
3649
3650
3652
3655
3656
3657
3661
3664
3668
3669
3670
3671
3672
3673
3674
3678
3679
3681
3683
3684
3687
3688
3691
3693
3694
3697
3698
3701
3702
3706
3708
3715
3719
3720
3721
3722
3724
3725
3726
3727
3729
3730
3732
3735
3736
3737
3739
3741
3743
3745
3746
3748
3750
3752
3753
3754
3756
3757
3759
3760
3763
3765
3766
3768
3769
3771
3773
3774
3775
3776
3777
3778
3781
3788
3792
3793
3795
3797
3798
3799
3800
3802
3803
3805
3807
3809
3811
3812
3814
3815
3817
3818
3819
3820
3821
3823
3824
3825
3826
3827
3828
3830
3832
3833
3834
3835
3837
3839
3846
3847
3848
3849
3853
3855
3856
3857
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3872
3873
3874
3876
3877
3878
3881
3882
3884
3886
3888
3889
3890
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3903
3905
3906
3909
3915
3916
3923
3925
3926
3927
3928
3929
3930
3932
3933
3935
3939
3941
3942
3943
3944
3948
3949
3950
3951
3952
3953
3954
3958
3959
3960
3962
3963
3965
3966
3967
3968
3971
3972
3973
3976
3977
3978
3979
3980
3985
3988
3990
3992
3994
3995
3997
4000
4003
4006
4007
4011
4014
4015
4018
4020
4021
4022
4024
4025
4030
4031
4033
4034
4035
4036
4040
4044
4045
4046
4047
4050
4051
4052
4054
4056
4059
4060
4062
4064
4067
4070
4077
4079
4087
4089
4090
4093
4095
4096
4098
4105
4106
4107
4108
4109
4111
4113
4117
4120
4122
4123
4124
4126
4127
4128
4130
4131
4132
4135
4136
4137
4139
4140
4141
4144
4146
4147
4149
4152
4154
4155
4158
4159
4160
4162
4163
4168
4169
4170
4171
4174
4176
4178
4179
4181
4182
4183
4186
4187
4188
4191
4194
4195
4198
4199
4202
4204
4206
4209
4211
4212
4214
4215
4216
4217
4218
4221
4222
4223
4224
4225
4226
4228
4229
4230
4233
4234
4236
4238
4240
4241
4242
4243
4246
4247
4249
4250
4252
4254
4255
4256
4259
4260
4262
4264
4265
4267
4269
4271
4272
4273
4275
4279
4281
4282
4283
4284
4285
4286
4288
4292
4293
4295
4296
4298
4299
4300
4302
4305
4306
4307
4311
4313
4314
4315
4316
4318
4321
4323
4324
4326
4327
4330
4331
4332
4335
4336
4337
4339
4341
4342
4345
4347
4348
4349
4350
4351
4353
4357
4363
4364
4367
4368
4371
4372
4373
4375
4376
4377
4380
4381
4382
4384
4386
4387
4389
4390
4392
4393
4396
4397
4398
4399
4401
4403
4404
4405
4407
4409
4410
4413
4414
4415
4416
4421
4422
4423
4424
4427
4429
4430
4433
4434
4437
4439
4440
4441
4443
4445
4446
4450
4455
4458
4462
4465
4470
4471
4475
4476
4477
4479
4480
4481
4483
4484
4485
4487
4488
4490
4493
4494
4500
4501
4502
4503
4504
4506
4507
4513
4514
4517
4519
4520
4523
4524
4526
4528
4529
4530
4531
4532
4535
4536
4537
4538
4541
4542
4544
4545
4548
4550
4553
4554
4555
4556
4558
4561
4562
4568
4574
4576
4578
4579
4581
4583
4584
4586
4589
4590
4596
4597
4598
4601
4602
4603
4605
4606
4607
4609
4611
4612
4614
4618
4621
4622
4624
4625
4628
4630
4632
4634
4635
4637
4638
4639
4641
4645
4646
4647
4648
4649
4651
4653
4656
4657
4658
4662
4663
4664
4665
4666
4668
4670
4672
4673
4675
4677
4679
4685
4686
4687
4688
4689
4691
4692
4694
4695
4697
4699
4700
4701
4703
4707
4710
4712
4714
4715
4716
4717
4718
4720
4724
4726
4727
4731
4734
4735
4737
4738
4739
4741
4742
4743
4745
4746
4747
4748
4749
4750
4752
4753
4754
4755
4756
4760
4761
4762
4764
4769
4770
4771
4772
4773
4776
4779
4781
4782
4784
4786
4789
4790
4791
4792
4793
4799
4801
4803
4804
4805
4806
4807
4808
4809
4810
4813
4816
4817
4819
4820
4821
4822
4826
4829
4830
4831
4832
4834
4835
4837
4839
4842
4843
4844
4847
4854
4855
4856
4857
4859
4860
4861
4862
4863
4866
4867
4868
4869
4870
4871
4872
4874
4875
4877
4882
4883
4885
4888
4890
4891
4892
4894
4899
4901
4902
4903
4907
4909
4910
4913
4915
4916
4918
4920
4921
4922
4923
4924
4926
4928
4929
4930
4931
4933
4936
4938
4940
4941
4942
4944
4945
4947
4948
4951
4952
4953
4956
4957
4958
4959
4960
4962
4963
4964
4965
4967
4971
4974
4977
4980
4982
4983
4984
4988
4992
4994
4995
4998
4999
5000
5002
5003
5005
5006
5007
5008
5011
5012
5013
5014
5016
5018
5019
5021
5023
5025
5028
5029
5030
5031
5032
5035
5036
5037
5038
5040
5042
5043
5045
5049
5050
5052
5053
5054
5056
5063
5065
5067
5071
5073
5074
5076
5077
5079
5081
5082
5083
5085
5086
5095
5096
5097
5098
5101
5103
5104
5105
5106
5109
5110
5114
5115
5116
5118
5119
5121
5122
5123
5126
5129
5130
5132
5133
5137
5142
5143
5147
5148
5150
5153
5154
5155
5156
5158
5159
5161
5162
5164
5165
5166
5167
5170
5172
5175
5176
5180
5181
5182
5187
5190
5191
5192
5195
5196
5199
5201
5202
5203
5205
5206
5208
5212
5214
5215
5216
5217
5218
5220
5221
5222
5223
5225
5226
5227
5228
5229
5231
5233
5234
5235
5236
5237
5238
5239
5242
5244
5245
5246
5247
5249
5251
5252
5254
5255
5258
5262
5263
5265
5266
5272
5273
5275
5278
5279
5280
5282
5284
5285
5287
5289
5292
5295
5299
5301
5303
5304
5306
5307
5308
5310
5311
5312
5314
5315
5316
5318
5320
5323
5324
5326
5328
5329
5332
5333
5334
5340
5341
5344
5346
5347
5350
5353
5355
5358
5359
5360
5362
5363
5364
5367
5368
5370
5371
5372
5373
5377
5378
5386
5387
5393
5395
5396
5398
5399
5407
5409
5410
5413
5414
5415
5417
5418
5421
5423
5424
5425
5428
5429
5431
5432
5434
5435
5436
5438
5440
5441
5444
5446
5447
5448
5450
5453
5454
5456
5457
5460
5461
5462
5463
5465
5466
5467
5468
5469
5470
5472
5473
5475
5479
5480
5482
5483
5487
5488
5489
5490
5491
5492
5493
5494
5495
5497
5498
5499
5500
5502
5504
5506
5507
5511
5512
5515
5518
5519
5520
5521
5526
5529
5530
5531
5533
5534
5536
5537
5539
5540
5541
5544
5545
5546
5548
5550
5553
5556
5557
5558
5562
5563
5570
5571
5572
5573
5574
5577
5581
5582
5583
5584
5585
5586
5587
5588
5589
5593
5595
5596
5599
5600
5602
5606
5608
5611
5615
5619
5620
5621
5624
5626
5627
5628
5629
5631
5632
5633
5635
5636
5637
5638
5640
5641
5643
5644
5645
5646
5647
5650
5652
5653
5657
5658
5660
5661
5662
5665
5667
5671
5673
5674
5679
5680
5684
5685
5687
5688
5690
5691
5693
5694
5696
5697
5698
5704
5710
5711
5713
5717
5718
5719
5720
5722
5723
5725
5726
5729
5731
5732
5735
5736
5739
5740
5741
5742
5745
5746
5747
5748
5749
5751
5758
5759
5760
5762
5764
5765
5767
5770
5777
5785
5786
5787
5789
5790
5791
5792
5793
5795
5796
5797
5798
5800
5801
5803
5804
5806
5808
5810
5811
5813
5817
5818
5823
5825
5829
5831
5832
5833
5834
5835
5836
5837
5839
5842
5843
5845
5846
5848
5849
5850
5851
5852
5853
5854
5858
5863
5866
5867
5872
5873
5875
5876
5877
5878
5879
5880
5881
5884
5889
5891
5892
5895
5896
5899
5901
5903
5905
5909
5911
5913
5914
5918
5920
5921
5922
5923
5924
5928
5930
5934
5935
5936
5937
5938
5939
5941
5942
5945
5947
5950
5952
5953
5960
5961
5964
5966
5967
5969
5971
5975
5976
5977
5979
5981
5984
5985
5986
5987
5989
5991
5996
5997
6000
6001
6002
6005
6006
6009
6011
6013
6014
6015
6016
6019
6022
6028
6032
6033
6036
6037
6038
6039
6040
6044
6045
6046
6047
6050
6051
6053
6055
6056
6059
6061
6063
6066
6072
6073
6074
6077
6079
6084
6087
6089
6093
6094
6095
6096
6100
6101
6102
6106
6107
6108
6116
6117
6118
6119
6122
6125
6126
6128
6129
6130
6131
6133
6137
6139
6140
6143
6144
6146
6147
6148
6149
6153
6155
6156
6157
6159
6161
6163
6166
6167
6168
6169
6173
6175
6178
6179
6180
6183
6184
6186
6190
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6208
6209
6210
6211
6213
6214
6215
6217
6219
6220
6221
6222
6223
6224
6227
6230
6233
6234
6239
6240
6241
6242
6243
6244
6246
6248
6251
6252
6254
6258
6259
6261
6263
6265
6266
6267
6269
6272
6275
6276
6279
6283
6286
6288
6290
6294
6295
6297
6298
6305
6306
6307
6308
6310
6312
6313
6314
6317
6319
6321
6323
6324
6325
6329
6334
6335
6337
6338
6340
6344
6346
6348
6353
6357
6359
6363
6366
6367
6368
6371
6375
6376
6377
6379
6380
6381
6388
6389
6393
6394
6397
6400
6401
6403
6405
6407
6408
6409
6410
6412
6415
6416
6419
6421
6423
6424
6425
6426
6428
6429
6431
6432
6435
6436
