0
2
4
5
14
16
18
20
22
25
26
30
31
33
34
37
38
41
42
44
45
49
54
55
56
58
63
66
70
74
76
79
81
86
88
89
95
96
97
105
110
113
116
117
122
128
130
132
135
136
137
140
142
144
145
148
149
151
152
155
156
157
162
163
164
165
166
168
169
172
179
180
184
185
186
188
189
192
199
200
201
202
204
205
206
207
210
215
217
221
225
226
231
232
235
237
239
242
244
245
248
254
255
257
259
260
261
262
265
270
275
276
277
278
282
284
285
287
290
291
293
295
299
300
301
302
306
308
311
312
313
314
315
320
325
329
330
331
332
333
334
336
337
340
341
344
345
346
347
348
349
350
359
363
366
367
371
372
381
383
384
385
386
389
392
395
396
398
401
402
404
405
416
417
418
420
422
425
426
430
432
434
436
440
441
442
443
446
448
449
453
455
456
459
460
471
476
477
478
479
484
485
486
488
489
490
491
492
494
495
498
499
503
505
506
509
513
514
517
525
526
528
530
532
538
539
540
542
545
546
549
550
551
552
553
562
563
565
566
572
580
582
584
585
586
587
589
591
592
594
598
609
612
613
616
617
619
620
622
623
627
628
632
634
635
637
640
641
642
646
647
648
649
650
652
653
654
660
661
663
665
668
676
679
680
684
685
686
689
693
696
697
698
705
706
707
708
709
710
711
714
715
716
718
720
721
724
725
726
729
730
733
735
736
741
744
749
752
755
757
759
760
761
767
768
772
775
776
778
782
786
788
790
793
794
797
800
801
804
812
813
815
816
817
821
823
824
826
827
828
829
832
833
834
836
838
840
843
844
846
848
849
850
851
853
855
859
860
861
863
864
866
868
874
876
877
878
881
883
884
887
892
895
902
903
904
905
907
909
910
911
914
915
916
917
922
925
926
929
932
933
936
939
940
945
948
951
961
964
966
967
969
971
973
974
977
980
982
986
989
991
993
994
995
996
997
998
1001
1002
1008
1010
1012
1015
1016
1020
1024
1025
1027
1029
1034
1040
1041
1043
1044
1045
1048
1049
1050
1054
1056
1058
1059
1062
1063
1064
1065
1066
1075
1077
1080
1085
1087
1089
1090
1094
1097
1102
1103
1104
1105
1108
1110
1111
1112
1113
1116
1120
1121
1125
1126
1129
1133
1139
1142
1143
1145
1148
1151
1152
1153
1155
1156
1158
1166
1167
1170
1171
1173
1175
1176
1178
1180
1182
1187
1188
1191
1193
1195
1197
1199
1200
1201
1208
1216
1221
1223
1224
1225
1228
1229
1230
1231
1235
1236
1237
1238
1241
1243
1244
1247
1251
1252
1253
1255
1257
1262
1263
1266
1269
1270
1271
1274
1276
1280
1282
1283
1284
1286
1287
1288
1289
1290
1292
1295
1296
1298
1300
1301
1304
1306
1307
1309
1311
1313
1318
1320
1321
1323
1325
1326
1329
1330
1331
1332
1337
1338
1341
1343
1345
1350
1351
1352
1353
1358
1363
1365
1366
1368
1370
1371
1372
1373
1377
1378
1382
1384
1388
1389
1392
1396
1398
1402
1404
1408
1409
1414
1416
1417
1418
1420
1424
1425
1431
1433
1436
1440
1443
1444
1445
1446
1449
1451
1461
1463
1464
1466
1468
1470
1472
1477
1482
1484
1490
1493
1497
1498
1500
1502
1503
1504
1508
1509
1510
1515
1517
1518
1519
1520
1521
1522
1525
1526
1532
1535
1536
1537
1541
1542
1544
1550
1552
1554
1557
1559
1561
1562
1563
1566
1567
1573
1575
1576
1579
1581
1582
1584
1585
1586
1590
1594
1597
1598
1599
1601
1607
1612
1613
1614
1615
1616
1617
1620
1621
1623
1624
1625
1628
1630
1631
1637
1641
1644
1645
1646
1647
1649
1651
1652
1653
1656
1658
1659
1660
1661
1663
1664
1665
1666
1668
1669
1670
1673
1675
1676
1678
1682
1685
1686
1687
1688
1689
1695
1703
1705
1706
1707
1709
1710
1713
1715
1717
1719
1722
1726
1727
1729
1730
1732
1735
1736
1738
1741
1743
1745
1749
1750
1752
1753
1754
1755
1757
1758
1761
1762
1763
1767
1772
1773
1774
1775
1776
1783
1784
1789
1791
1795
1796
1797
1798
1799
1801
1803
1804
1805
1806
1810
1814
1815
1816
1819
1820
1824
1826
1827
1830
1831
1832
1833
1835
1840
1841
1844
1847
1848
1850
1851
1852
1857
1860
1861
1866
1868
1870
1872
1875
1876
1877
1879
1880
1884
1886
1888
1890
1894
1897
1898
1899
1900
1901
1903
1911
1912
1914
1917
1921
1923
1926
1929
1931
1936
1937
1941
1944
1948
1956
1957
1959
1962
1967
1968
1969
1974
1977
1979
1980
1981
1984
1986
1992
1994
1995
1998
1999
2000
2001
2008
2009
2012
2018
2021
2023
2024
2025
2031
2032
2035
2036
2039
2041
2048
2049
2052
2054
2057
2059
2060
2066
2067
2071
2072
2073
2074
2076
2077
2079
2080
2084
2091
2092
2094
2097
2098
2100
2103
2108
2109
2112
2115
2116
2117
2119
2120
2121
2123
2125
2127
2128
2133
2134
2135
2136
2142
2144
2145
2148
2150
2156
2159
2162
2165
2166
2167
2168
2169
2173
2178
2180
2189
2191
2193
2194
2195
2197
2203
2205
2206
2209
2210
2212
2213
2215
2217
2219
2226
2227
2230
2233
2234
2237
2240
2242
2244
2247
2248
2251
2252
2254
2256
2258
2260
2269
2271
2277
2278
2281
2289
2290
2292
2293
2301
2303
2308
2309
2310
2311
2312
2321
2322
2323
2325
2327
2328
2330
2332
2338
2341
2343
2345
2347
2350
2352
2353
2354
2355
2357
2358
2359
2360
2361
2364
2365
2371
2372
2375
2385
2386
2387
2388
2389
2391
2395
2396
2398
2405
2409
2410
2413
2414
2415
2421
2422
2424
2425
2426
2427
2428
2429
2432
2433
2434
2437
2440
2442
2443
2446
2451
2455
2457
2458
2459
2462
2463
2465
2466
2467
2468
2471
2472
2481
2482
2483
2484
2487
2490
2492
2494
2495
2496
2497
2498
2499
2500
2502
2504
2505
2507
2509
2512
2514
2518
2519
2521
2522
2525
2526
2527
2528
2529
2531
2532
2533
2534
2540
2541
2543
2544
2546
2549
2553
2557
2559
2561
2562
2564
2566
2571
2574
2577
2583
2590
2595
2597
2600
2602
2603
2604
2606
2607
2611
2616
2618
2619
2622
2625
2626
2629
2631
2632
2633
2634
2636
2637
2645
2652
2653
2654
2655
2656
2658
2662
2663
2667
2669
2670
2672
2676
2677
2679
2680
2681
2682
2687
2689
2695
2696
2697
2700
2701
2705
2706
2711
2716
2720
2721
2722
2723
2726
2730
2735
2736
2737
2739
2740
2742
2747
2750
2752
2753
2754
2757
2759
2763
2768
2770
2771
2772
2774
2775
2778
2782
2784
2786
2788
2790
2794
2796
2797
2798
2800
2802
2803
2804
2809
2813
2816
2818
2823
2824
2826
2827
2828
2829
2830
2832
2833
2834
2840
2841
2842
2843
2844
2847
2849
2851
2852
2854
2855
2861
2863
2864
2869
2872
2873
2874
2875
2878
2880
2881
2883
2886
2888
2891
2895
2896
2898
2899
2900
2902
2903
2904
2914
2915
2916
2917
2918
2919
2921
2923
2925
2927
2928
2931
2934
2936
2939
2941
2945
2947
2949
2950
2953
2955
2956
2958
2959
2960
2961
2962
2969
2971
2976
2986
2989
2991
2993
2995
2996
3000
3001
3002
3005
3008
3010
3014
3016
3018
3019
3021
3022
3023
3025
3027
3028
3029
3030
3036
3039
3040
3041
3042
3043
3047
3048
3056
3060
3066
3070
3073
3074
3080
3081
3089
3096
3097
3098
3103
3104
3105
3106
3109
3114
3120
3121
3123
3125
3131
3138
3139
3140
3142
3143
3145
3147
3152
3154
3159
3160
3163
3165
3168
3169
3173
3174
3176
3177
3178
3179
3181
3185
3186
3188
3189
3191
3192
3194
3195
3198
3205
3207
3208
3209
3211
3218
3219
3221
3222
3223
3224
3226
3227
3230
3231
3235
3241
3246
3247
3250
3251
3252
3253
3254
3256
3257
3258
3261
3262
3265
3272
3274
3276
3278
3279
3280
3282
3283
3285
3290
3294
3297
3303
3304
3311
3312
3316
3318
3320
3323
3324
3328
3330
3331
3332
3335
3338
3340
3342
3343
3346
3347
3348
3349
3355
3357
3358
3359
3360
3361
3366
3368
3369
3372
3374
3376
3377
3378
3380
3382
3384
3387
3389
3394
3395
3397
3400
3401
3402
3404
3405
3407
3408
3410
3412
3414
3415
3416
3417
3420
3421
3422
3423
3425
3430
3431
3433
3435
3436
3437
3441
3445
3448
3452
3454
3459
3460
3465
3470
3472
3474
3475
3476
3479
3480
3481
3483
3484
3485
3488
3489
3490
3491
3494
3495
3496
3502
3505
3507
3513
3514
3515
3516
3518
3520
3521
3522
3524
3525
3526
3530
3533
3536
3538
3539
3544
3545
3546
3547
3548
3549
3550
3555
3556
3557
3559
3561
3566
3571
3576
3581
3582
3583
3585
3586
3587
3590
3592
3596
3601
3602
3604
3605
3606
3607
3608
3611
3614
3616
3618
3619
3620
3621
3625
3627
3628
3635
3637
3638
3640
3641
3642
3643
3646
3648
3649
3650
3652
3653
3656
3657
3660
3663
3664
3665
3666
3668
3669
3671
3675
3678
3679
3680
3682
3684
3687
3688
3696
3697
3698
3701
3706
3707
3708
3710
3711
3714
3717
3724
3730
3732
3733
3734
3735
3736
3737
3742
3743
3746
3747
3749
3751
3752
3754
3755
3759
3761
3762
3763
3764
3765
3766
3768
3770
3772
3775
3782
3784
3788
3790
3797
3799
3801
3803
3806
3810
3811
3816
3818
3819
3826
3828
3829
3833
3835
3837
3838
3840
3843
3844
3847
3848
3850
3851
3855
3857
3861
3866
3869
3871
3873
3877
3880
3881
3882
3883
3886
3894
3895
3898
3899
3901
3904
3905
3907
3912
3915
3916
3918
3922
3930
3931
3934
3935
3940
3942
3943
3944
3945
3951
3953
3954
3957
3958
3959
3960
3961
3962
3963
3965
3966
3969
3970
3972
3975
3976
3978
3980
3983
3984
3985
3992
3994
3997
3999
4001
4004
4005
4006
4011
4014
4017
4027
4028
4030
4031
4032
4033
4034
4035
4037
4038
4040
4041
4049
4052
4056
4057
4060
4063
4064
4065
4073
4075
4080
4084
4085
4086
4088
4090
4097
4099
4100
4103
4104
4107
4108
4112
4115
4116
4118
4119
4123
4126
4128
4129
4130
4133
4135
4136
4138
4139
4140
4145
4146
4148
4151
4154
4155
4156
4157
4161
4162
4163
4169
4172
4173
4176
4178
4181
4184
4185
4188
4189
4190
4192
4193
4194
4195
4198
4200
4201
4202
4205
4209
4213
4215
4217
4218
4223
4226
4227
4228
4229
4233
4235
4236
4239
4243
4245
4246
4250
4251
4252
4254
4256
4258
4259
4260
4261
4262
4265
4268
4270
4271
4272
4274
4275
4278
4282
4283
4286
4287
4290
4293
4294
4295
4299
4301
4303
4305
4310
4311
4312
4314
4316
4319
4321
4322
4324
4325
4332
4337
4338
4339
4342
4344
4346
4348
4352
4355
4356
4358
4359
4360
4362
4363
4365
4368
4369
4371
4379
4382
4383
4387
4388
4389
4392
4394
4396
4399
4400
4405
4406
4411
4412
4415
4417
4420
4426
4428
4429
4437
4441
4442
4443
4444
4445
4446
4448
4450
4457
4460
4465
4469
4471
4473
4476
4483
4485
4486
4489
4491
4492
4495
4496
4497
4500
4509
4510
4516
4517
4522
4523
4526
4527
4528
4534
4535
4537
4540
4543
4553
4554
4555
4558
4559
4561
4562
4566
4571
4573
4575
4580
4584
4585
4586
4589
4596
4597
4600
4602
4603
4606
4610
4613
4614
4615
4621
4623
4625
4626
4628
4630
4631
4632
4633
4635
4636
4637
4639
4640
4641
4642
4644
4645
4647
4648
4649
4650
4653
4654
4656
4657
4659
4663
4665
4670
4671
4673
4676
4683
4686
4687
4688
4689
4691
4694
4697
4700
4701
4702
4705
4706
4708
4717
4723
4725
4727
4728
4729
4734
4735
4736
4737
4745
4746
4747
4749
4751
4752
4757
4759
4760
4763
4764
4765
4766
4769
4771
4773
4774
4782
4788
4794
4796
4798
4807
4812
4813
4814
4815
4816
4821
4826
4828
4829
4831
4832
4833
4835
4839
4841
4842
4843
4846
4848
4850
4854
4856
4862
4864
4865
4869
4870
4876
4879
4885
4886
4890
4891
4893
4894
4900
4903
4905
4906
4909
4910
4915
4918
4919
4925
4926
4927
4929
4933
4934
4935
4936
4940
4941
4944
4946
4947
4949
4952
4960
4961
4967
4969
4975
4978
4979
4980
4982
4984
4985
4986
4987
4988
4996
5001
5002
5003
5005
5007
5010
5011
5017
5018
5019
5028
5030
5032
5034
5042
5045
5046
5049
5051
5053
5055
5057
5058
5059
5060
5061
5062
5066
5067
5069
5070
5073
5076
5077
5078
5079
5081
5083
5084
5085
5086
5087
5089
5090
5094
5096
5097
5099
5100
5103
5104
5105
5108
5110
5113
5115
5117
5118
5121
5122
5124
5125
5126
5128
5129
5132
5134
5139
5141
5142
5144
5146
5147
5155
5159
5160
5165
5168
5175
5179
5180
5181
5190
5198
5200
5201
5203
5204
5205
5208
5210
5212
5218
5220
5225
5228
5230
5231
5235
5239
5240
5241
5242
5244
5245
5248
5250
5251
5252
5255
5256
5257
5258
5260
5261
5267
5268
5277
5279
5280
5281
5282
5284
5289
5295
5296
5297
5298
5301
5302
5304
5305
5307
5309
5310
5311
5313
5314
5316
5320
5321
5322
5324
5326
5330
5331
5334
5335
5337
5344
5352
5353
5354
5360
5362
5364
5370
5371
5374
5375
5376
5377
5378
5379
5383
5385
5386
5388
5390
5394
5399
5400
5403
5404
5406
5408
5410
5415
5416
5418
5419
5422
5423
5425
5426
5428
5429
5435
5436
5437
5438
5442
5444
5448
5451
5458
5460
5467
5472
5473
5475
5476
5479
5480
5481
5482
5483
5485
5487
5491
5494
5495
5499
5503
5505
5506
5508
5510
5512
5518
5521
5523
5525
5526
5529
5530
5533
5534
5535
5537
5538
5540
5542
5544
5547
5550
5554
5560
5562
5563
5566
5568
5572
5574
5577
5582
5583
5587
5589
5594
5595
5602
5608
5610
5612
5615
5616
5622
5624
5625
5627
5628
5635
5640
5641
5647
5650
5658
5660
5661
5662
5665
5673
5676
5683
5685
5686
5687
5688
5689
5694
5696
5697
5698
5700
5703
5705
5707
5708
5709
5717
5718
5719
5720
5723
5724
5727
5728
5730
5733
5734
5735
5736
5739
5741
5749
5751
5752
5753
5756
5763
5764
5766
5768
5772
5779
5780
5781
5791
5792
5796
5803
5806
5807
5809
5812
5813
5816
5817
5822
5824
5829
5835
5837
5839
5844
5847
5850
5851
5852
5853
5855
5856
5857
5860
5861
5862
5865
5867
5868
5870
5871
5874
5875
5877
5878
5880
5881
5885
5887
5889
5890
5893
5903
5905
5911
5913
5914
5915
5916
5918
5922
5927
5930
5931
5932
5933
5934
5935
5936
5937
5938
5940
5941
5942
5943
5944
5947
5951
5952
5956
5959
5964
5965
5968
5970
5973
5975
5976
5978
5979
5980
5982
5985
5988
5995
5998
6005
6006
6007
6009
6010
6011
6012
6013
6015
6016
6017
6022
6024
6027
6029
6030
6032
6034
6036
6039
6040
6043
6044
6046
