0
2
3
4
6
13
16
17
19
20
24
25
26
28
29
35
36
37
43
44
45
46
49
51
55
57
63
65
68
69
73
75
76
78
80
81
82
90
91
94
96
97
100
101
102
105
107
109
110
111
112
113
114
115
117
121
125
126
128
129
132
133
136
140
141
143
144
146
149
150
151
153
155
156
157
161
163
169
170
172
174
175
177
178
179
181
184
188
190
191
192
195
197
198
199
202
205
209
210
211
212
213
215
218
219
220
221
222
223
224
225
229
233
234
235
239
240
243
245
248
250
251
253
255
257
261
262
264
266
270
273
276
277
279
281
282
283
284
285
287
289
292
293
294
295
301
303
306
308
309
315
316
317
319
320
321
327
328
331
332
334
335
336
341
343
346
348
349
350
352
355
358
360
366
367
370
371
373
376
377
378
381
389
390
391
394
395
397
398
399
400
401
403
404
408
409
416
417
419
425
428
432
434
437
438
439
443
445
448
449
450
452
454
458
460
462
463
465
466
468
473
474
475
477
478
479
480
481
482
484
486
488
491
494
495
498
499
500
501
502
506
508
510
511
513
514
515
517
519
520
521
525
529
530
531
532
536
537
538
542
545
550
552
553
556
559
563
566
568
569
570
573
577
578
579
580
581
583
584
585
587
588
589
591
592
593
596
597
599
600
601
603
604
606
607
609
610
615
617
618
620
622
624
625
626
630
632
633
634
635
636
638
640
641
642
647
650
651
658
659
661
662
663
664
665
668
672
674
675
676
677
678
679
682
685
686
689
691
695
698
699
700
702
709
711
715
716
724
732
733
735
736
740
741
742
744
749
755
758
759
762
764
767
768
770
771
772
773
776
778
781
784
785
788
790
793
796
797
800
808
809
811
814
815
816
824
825
829
831
833
835
837
839
840
841
842
850
852
853
854
860
865
866
871
873
874
875
877
878
882
885
886
887
888
892
893
895
896
898
900
901
904
906
907
911
912
913
915
917
918
919
923
924
925
927
929
931
932
935
936
941
942
947
948
950
952
955
958
961
962
966
968
970
971
972
973
975
978
980
981
982
984
986
987
988
989
990
992
994
995
999
1002
1003
1004
1007
1010
1011
1013
1014
1019
1022
1024
1025
1026
1030
1031
1034
1036
1038
1039
1043
1044
1046
1053
1056
1057
1058
1059
1060
1061
1063
1064
1065
1067
1070
1074
1077
1082
1083
1084
1085
1086
1088
1090
1094
1095
1096
1097
1098
1103
1104
1105
1109
1111
1114
1115
1117
1118
1119
1120
1130
1131
1134
1135
1137
1138
1141
1142
1143
1146
1147
1148
1149
1150
1151
1154
1155
1158
1162
1165
1166
1169
1171
1172
1173
1174
1175
1177
1186
1187
1188
1189
1192
1193
1195
1196
1198
1200
1201
1202
1203
1205
1207
1208
1209
1211
1212
1213
1214
1216
1218
1219
1223
1229
1234
1238
1242
1243
1245
1248
1249
1253
1254
1256
1257
1260
1261
1263
1264
1266
1268
1270
1272
1273
1279
1280
1281
1282
1284
1285
1286
1288
1293
1297
1300
1301
1302
1304
1307
1309
1310
1312
1314
1317
1319
1320
1325
1326
1327
1328
1329
1330
1332
1333
1335
1336
1337
1338
1339
1340
1346
1347
1348
1349
1350
1353
1355
1356
1357
1360
1361
1362
1365
1366
1370
1373
1375
1376
1377
1378
1379
1380
1381
1384
1385
1386
1388
1391
1393
1395
1397
1400
1401
1408
1412
1413
1414
1416
1420
1422
1424
1427
1429
1435
1438
1441
1443
1444
1449
1455
1456
1458
1459
1461
1462
1467
1469
1470
1471
1472
1474
1476
1479
1482
1486
1487
1488
1494
1496
1497
1498
1499
1501
1503
1504
1505
1507
1508
1509
1510
1512
1517
1518
1519
1520
1522
1526
1530
1532
1533
1534
1539
1540
1541
1543
1544
1547
1550
1552
1557
1560
1561
1562
1563
1564
1566
1568
1570
1571
1572
1573
1574
1577
1578
1579
1582
1583
1584
1585
1586
1587
1588
1592
1594
1595
1600
1603
1606
1608
1610
1611
1613
1615
1616
1619
1620
1621
1624
1630
1631
1633
1635
1637
1638
1639
1645
1646
1648
1650
1651
1652
1653
1655
1657
1658
1659
1662
1666
1667
1668
1669
1671
1673
1679
1682
1684
1685
1686
1687
1689
1690
1691
1692
1696
1701
1702
1706
1720
1725
1727
1730
1731
1732
1734
1737
1738
1741
1743
1744
1749
1751
1754
1755
1756
1757
1758
1760
1761
1763
1765
1766
1768
1770
1771
1774
1775
1777
1778
1779
1781
1782
1783
1784
1786
1790
1791
1793
1795
1796
1797
1798
1799
1800
1803
1804
1805
1812
1816
1820
1821
1823
1827
1831
1832
1836
1838
1839
1843
1845
1850
1853
1854
1856
1857
1862
1868
1871
1872
1873
1874
1876
1877
1881
1882
1883
1885
1886
1887
1890
1892
1899
1900
1903
1904
1905
1906
1909
1915
1916
1917
1922
1925
1928
1930
1931
1933
1934
1938
1941
1945
1948
1949
1950
1952
1953
1956
1958
1959
1960
1966
1969
1970
1972
1975
1979
1980
1981
1982
1983
1985
1986
1987
1988
1989
1992
1993
1994
1996
2005
2010
2014
2015
2016
2018
2021
2022
2028
2030
2031
2033
2034
2036
2037
2038
2039
2044
2048
2049
2056
2058
2061
2062
2063
2064
2066
2067
2068
2070
2071
2073
2074
2075
2077
2078
2079
2082
2083
2084
2085
2090
2091
2092
2095
2098
2100
2103
2104
2105
2106
2107
2108
2111
2112
2113
2114
2116
2118
2121
2124
2127
2128
2129
2130
2131
2133
2135
2137
2139
2141
2143
2144
2145
2146
2148
2150
2152
2153
2154
2158
2159
2160
2164
2167
2168
2174
2177
2178
2181
2184
2187
2188
2189
2191
2192
2194
2195
2197
2199
2201
2202
2204
2205
2206
2208
2210
2211
2213
2215
2217
2218
2225
2227
2229
2231
2234
2235
2239
2240
2245
2249
2253
2255
2256
2258
2260
2263
2264
2267
2268
2269
2270
2271
2272
2274
2277
2278
2279
2280
2281
2283
2284
2285
2288
2291
2292
2293
2295
2296
2300
2302
2305
2306
2307
2309
2310
2316
2317
2318
2320
2321
2322
2325
2326
2328
2330
2331
2333
2334
2335
2336
2337
2340
2341
2343
2346
2348
2351
2355
2358
2359
2360
2362
2364
2365
2367
2369
2371
2372
2373
2374
2375
2376
2377
2379
2381
2382
2385
2386
2391
2392
2394
2396
2398
2399
2400
2402
2404
2405
2407
2410
2412
2413
2415
2416
2420
2422
2424
2430
2434
2435
2437
2439
2440
2442
2444
2445
2446
2449
2450
2452
2455
2461
2462
2465
2470
2476
2481
2484
2485
2486
2488
2490
2491
2495
2496
2497
2499
2500
2503
2507
2508
2509
2512
2514
2515
2516
2517
2519
2521
2523
2524
2526
2527
2529
2530
2532
2533
2534
2540
2541
2542
2544
2553
2554
2555
2557
2558
2560
2567
2569
2571
2575
2576
2577
2578
2579
2580
2583
2586
2587
2588
2589
2590
2593
2594
2595
2597
2599
2603
2608
2609
2614
2616
2617
2618
2621
2622
2625
2628
2630
2631
2632
2633
2638
2639
2640
2641
2642
2643
2644
2645
2646
2648
2650
2653
2658
2661
2665
2666
2667
2669
2673
2674
2675
2679
2680
2681
2682
2687
2689
2690
2691
2692
2694
2697
2698
2700
2701
2702
2704
2707
2709
2711
2713
2715
2721
2722
2723
2724
2726
2728
2729
2730
2731
2732
2736
2737
2738
2742
2743
2745
2746
2749
2754
2755
2756
2757
2759
2760
2763
2764
2766
2769
2770
2771
2772
2778
2780
2783
2786
2789
2790
2795
2796
2798
2799
2800
2803
2805
2806
2807
2813
2815
2816
2818
2819
2820
2822
2824
2825
2826
2829
2832
2833
2838
2839
2841
2846
2848
2849
2852
2853
2855
2856
2858
2859
2864
2865
2867
2868
2869
2875
2882
2883
2884
2885
2886
2888
2891
2893
2894
2896
2898
2904
2905
2907
2909
2910
2917
2922
2931
2933
2934
2937
2939
2941
2942
2946
2949
2951
2952
2953
2954
2955
2958
2959
2960
2962
2964
2966
2967
2968
2971
2979
2985
2987
2988
2989
2995
2996
2997
2998
3000
3002
3004
3006
3009
3011
3019
3025
3028
3029
3031
3032
3035
3036
3037
3039
3041
3044
3045
3046
3053
3054
3056
3057
3058
3060
3062
3063
3064
3069
3071
3073
3074
3076
3077
3078
3079
3081
3082
3084
3087
3089
3093
3094
3097
3101
3103
3104
3105
3108
3111
3114
3123
3127
3128
3129
3130
3131
3132
3134
3136
3137
3141
3144
3146
3148
3149
3153
3161
3162
3163
3164
3165
3166
3167
3172
3174
3175
3179
3187
3190
3191
3192
3193
3194
3195
3196
3200
3201
3202
3207
3208
3210
3211
3213
3215
3216
3218
3221
3223
3227
3235
3239
3240
3242
3246
3247
3249
3251
3256
3258
3260
3261
3264
3267
3269
3270
3271
3273
3274
3276
3286
3287
3289
3290
3291
3292
3293
3294
3297
3298
3303
3304
3305
3308
3311
3312
3314
3315
3316
3318
3319
3321
3323
3324
3325
3326
3328
3331
3332
3333
3339
3343
3344
3347
3349
3350
3353
3354
3355
3357
3360
3364
3365
3366
3371
3373
3375
3377
3378
3380
3384
3386
3388
3391
3392
3396
3397
3398
3399
3400
3402
3405
3409
3411
3412
3413
3414
3416
3417
3418
3419
3421
3423
3424
3428
3431
3435
3436
3441
3445
3446
3447
3449
3450
3451
3452
3453
3456
3459
3460
3461
3466
3467
3468
3470
3472
3476
3478
3479
3484
3487
3488
3489
3493
3495
3499
3500
3502
3507
3511
3514
3515
3516
3518
3519
3520
3522
3525
3526
3527
3528
3529
3531
3532
3536
3540
3544
3545
3547
3548
3550
3551
3555
3557
3559
3561
3563
3567
3568
3569
3570
3574
3575
3578
3580
3582
3585
3586
3588
3589
3591
3596
3600
3602
3604
3607
3608
3610
3611
3612
3613
3615
3617
3618
3619
3621
3622
3623
3628
3630
3636
3637
3649
3650
3653
3654
3656
3657
3658
3662
3663
3664
3665
3666
3667
3668
3669
3670
3672
3673
3674
3676
3678
3680
3681
3688
3690
3691
3697
3703
3706
3707
3708
3710
3712
3715
3718
3720
3721
3726
3732
3734
3737
3740
3744
3746
3747
3749
3752
3753
3754
3755
3757
3760
3763
3764
3766
3771
3773
3776
3777
3779
3780
3781
3782
3787
3791
3792
3798
3801
3807
3808
3809
3810
3811
3812
3813
3815
3816
3817
3820
3821
3822
3823
3827
3836
3839
3840
3842
3845
3846
3850
3852
3855
3856
3858
3859
3860
3861
3863
3864
3867
3868
3870
3871
3872
3877
3878
3879
3882
3884
3891
3896
3897
3898
3899
3904
3909
3914
3918
3919
3924
3925
3927
3929
3930
3931
3932
3933
3934
3936
3937
3939
3940
3943
3944
3945
3947
3950
3952
3953
3954
3957
3958
3962
3963
3964
3966
3968
3969
3970
3972
3973
3974
3977
3980
3982
3984
3988
3989
3990
3991
3994
3996
3998
4000
4001
4003
4008
4009
4010
4012
4016
4017
4019
4021
4024
4031
4032
4033
4035
4036
4038
4039
4040
4044
4049
4054
4055
4057
4060
4062
4066
4067
4069
4070
4072
4075
4077
4080
4081
4082
4084
4088
4093
4095
4097
4099
4107
4108
4110
4111
4114
4117
4122
4123
4124
4126
4128
4131
4135
4139
4143
4144
4145
4149
4158
4159
4161
4163
4164
4165
4166
4167
4168
4169
4170
4171
4173
4175
4176
4177
4178
4179
4183
4186
4187
4189
4194
4198
4199
4200
4201
4204
4206
4207
4208
4210
4211
4212
4213
4214
4218
4220
4227
4229
4231
4234
4235
4236
4237
4238
4240
4241
4245
4248
4251
4252
4253
4255
4256
4265
4266
4268
4269
4270
4271
4278
4281
4283
4286
4292
4294
4297
4298
4303
4304
4306
4309
4310
4314
4316
4320
4323
4324
4326
4327
4329
4335
4336
4339
4340
4341
4344
4345
4350
4355
4356
4358
4359
4360
4361
4366
4367
4368
4370
4371
4376
4377
4378
4379
4380
4381
4383
4386
4388
4392
4393
4396
4401
4402
4403
4406
4409
4410
4413
4416
4417
4420
4423
4424
4425
4426
4428
4431
4435
4436
4438
4439
4447
4448
4450
4451
4457
4458
4465
4467
4468
4473
4474
4476
4477
4478
4481
4486
4487
4492
4493
4496
4498
4499
4502
4503
4506
4507
4509
4512
4513
4520
4521
4522
4523
4526
4527
4533
4534
4535
4538
4539
4540
4541
4543
4545
4547
4551
4554
4555
4556
4565
4568
4569
4570
4575
4577
4582
4587
4589
4590
4591
4594
4598
4602
4603
4604
4607
4608
4611
4613
4614
4617
4619
4623
4626
4627
4630
4632
4636
4638
4639
4641
4646
4657
4658
4659
4660
4662
4664
4666
4669
4672
4673
4674
4676
4678
4679
4683
4685
4686
4687
4689
4693
4695
4696
4698
4699
4700
4705
4706
4708
4710
4713
4720
4721
4722
4723
4724
4726
4729
4731
4736
4739
4742
4743
4745
4748
4749
4751
4755
4757
4758
4763
4769
4770
4771
4772
4773
4777
4781
4783
4784
4788
4789
4792
4793
4794
4799
4801
4803
4808
4809
4811
4813
4815
4819
4820
4821
4823
4830
4831
4832
4833
4838
4840
4841
4842
4845
4847
4848
4852
4853
4854
4855
4856
4857
4862
4864
4866
4868
4869
4870
4872
4875
4877
4878
4879
4880
4881
4883
4890
4892
4893
4896
4898
4900
4903
4904
4906
4907
4908
4909
4913
4914
4920
4924
4925
4926
4927
4932
4933
4935
4938
4942
4943
4948
4949
4954
4955
4957
4958
4965
4966
4968
4971
4977
4981
4987
4994
4997
5004
5005
5006
5007
5008
5010
5013
5016
5018
5020
5022
5023
5024
5027
5029
5033
5034
5039
5041
5042
5043
5044
5045
5047
5052
5053
5055
5061
5065
5066
5068
5073
5076
5080
5081
5082
5083
5085
5087
5089
5091
5093
5094
5095
5098
5099
5102
5103
5104
5107
5108
5110
5111
5112
5113
5116
5119
5120
5122
5123
5124
5126
5128
5130
5132
5136
5138
5140
5141
5142
5144
5145
5146
5148
5149
5151
5152
5154
5157
5159
5160
5163
5164
5165
5181
5182
5183
5184
5185
5186
5188
5191
5192
5198
5199
5202
5203
5205
5208
5209
5211
5218
5223
5224
5225
5226
5227
5229
5231
5237
5238
5239
5241
5242
5244
5245
5247
5250
5255
5259
5263
5267
5268
5269
5270
5271
5272
5274
5277
5278
5281
5283
5284
5290
5291
5294
5295
5297
5298
5302
5303
5309
5316
5318
5319
5321
5324
5326
5328
5331
5333
5335
5336
5338
5339
5342
5344
5348
5349
5352
5353
5354
5355
5360
5366
5368
5370
5371
5375
5377
5378
5379
5381
5382
5383
5386
5389
5395
5396
5399
5400
5401
5402
5405
5408
5410
5413
5414
5415
5428
5429
5431
5432
5436
5438
5439
5445
5451
5460
5462
5464
5465
5469
5473
5475
5476
5477
5478
5480
5481
5484
5485
5487
5490
5495
5496
5498
5500
5501
5502
5503
5506
5508
5509
5510
5511
5512
5513
5514
5515
5519
5520
5521
5524
5527
5528
5530
5532
5533
5534
5535
5541
5543
5544
5546
5552
5553
5556
5561
5562
5564
5569
5573
5575
5577
5581
5587
5592
5594
5595
5597
5598
5599
5600
5601
5602
5603
5605
5607
5609
5611
5612
5613
5616
5625
5630
5632
5634
5636
5638
5639
5643
5644
5647
5649
5651
5652
5653
5654
5656
5657
5660
5664
5665
5667
5672
5674
5676
5681
5683
5684
5686
5687
5690
5693
5695
5699
5704
5706
5707
5710
5712
5713
5717
5718
5721
5722
5724
5725
5726
5727
5728
5731
5732
5733
5734
5735
5736
5738
5739
5740
5741
5742
5743
5745
5746
5748
5753
5755
5756
5758
5761
5767
5768
5769
5773
5776
5779
5781
5783
5786
5787
5788
5791
5792
5793
5797
5798
5800
5801
5803
5805
5806
5809
5810
5811
5812
5816
5817
5818
5819
5820
5821
5823
5827
5828
5829
5831
5832
5833
5835
5836
5837
5845
5852
5853
5857
5859
5860
5861
5862
5867
5868
5870
5871
5873
5876
5877
5879
5881
5882
5883
5886
5887
5888
5891
