2
3
5
12
23
25
29
31
33
35
44
48
49
51
54
56
58
60
62
69
74
75
81
82
83
89
91
92
93
103
106
107
109
112
114
116
121
123
124
127
134
135
137
142
146
149
150
155
161
162
164
165
173
177
179
185
189
191
193
196
197
203
204
207
210
211
215
227
230
233
234
240
245
249
250
254
261
263
268
270
271
277
278
280
281
283
287
289
298
301
309
310
322
324
327
331
332
336
337
338
341
343
346
349
352
356
363
367
370
373
374
379
383
385
388
393
396
398
400
402
404
414
415
419
420
424
426
427
428
432
433
435
442
445
453
456
457
458
459
461
469
470
479
481
486
487
496
499
501
505
506
507
511
515
518
519
520
522
523
524
527
531
532
536
539
550
551
553
554
555
559
560
561
562
574
578
581
588
594
598
600
603
605
606
607
611
612
613
615
618
620
622
625
627
635
637
643
644
650
653
661
662
663
669
671
676
677
684
685
689
696
697
698
699
703
709
712
715
721
722
723
727
730
731
738
746
756
757
760
765
770
771
775
778
779
780
783
785
788
795
799
802
803
805
811
816
819
821
822
825
827
831
832
836
839
842
843
845
852
854
857
858
861
863
864
869
872
873
881
883
884
885
888
894
895
911
913
917
920
929
932
933
956
957
959
968
969
972
974
975
979
988
989
993
994
995
996
997
1002
1006
1010
1014
1015
1020
1021
1023
1024
1027
1029
1035
1036
1039
1040
1050
1051
1052
1054
1058
1059
1060
1061
1063
1064
1066
1068
1072
1078
1079
1084
1086
1087
1088
1089
1091
1103
1105
1106
1109
1110
1111
1117
1119
1121
1127
1128
1129
1130
1131
1135
1137
1141
1144
1146
1150
1154
1155
1158
1167
1171
1175
1182
1184
1186
1194
1198
1200
1201
1206
1207
1208
1217
1223
1225
1226
1228
1230
1235
1241
1246
1250
1252
1258
1263
1268
1270
1271
1276
1277
1286
1293
1294
1299
1301
1304
1308
1310
1313
1319
1320
1321
1322
1326
1327
1331
1333
1335
1337
1338
1339
1340
1341
1342
1343
1352
1355
1362
1368
1369
1373
1374
1375
1377
1380
1384
1387
1388
1389
1391
1394
1399
1400
1402
1405
1406
1430
1433
1434
1438
1441
1442
1448
1449
1453
1459
1468
1477
1480
1481
1483
1491
1492
1504
1505
1506
1507
1514
1522
1523
1524
1528
1529
1531
1534
1536
1537
1542
1543
1544
1549
1551
1552
1556
1558
1559
1569
1570
1574
1576
1587
1590
1592
1595
1601
1603
1606
1610
1611
1619
1620
1621
1626
1627
1640
1642
1643
1644
1645
1647
1649
1650
1662
1667
1672
1673
1674
1677
1680
1683
1686
1687
1688
1690
1693
1696
1697
1698
1702
1710
1712
1714
1715
1716
1720
1721
1722
1726
1727
1731
1749
1751
1754
1765
1768
1774
1776
1777
1778
1785
1787
1788
1789
1790
1792
1795
1799
1800
1802
1803
1806
1807
1811
1815
1816
1819
1826
1827
1831
1833
1834
1838
1839
1841
1842
1844
1845
1846
1847
1848
1852
1858
1865
1866
1869
1870
1874
1875
1876
1879
1880
1881
1882
1893
1895
1902
1905
1909
1914
1919
1922
1924
1928
1945
1946
1948
1949
1951
1952
1954
1956
1958
1960
1964
1965
1969
1970
1971
1972
1974
1975
1976
1979
1988
1989
1990
1994
1995
1996
1998
2003
2008
2012
2014
2015
2017
2019
2022
2023
2025
2027
2034
2038
2039
2044
2046
2051
2056
2058
2060
2061
2068
2069
2070
2076
2077
2079
2080
2087
2088
2092
2103
2110
2112
2115
2116
2118
2124
2131
2134
2141
2142
2143
2144
2146
2148
2149
2151
2153
2156
2158
2166
2167
2169
2174
2176
2177
2181
2183
2185
2186
2187
2189
2190
2191
2204
2210
2211
2212
2215
2219
2225
2229
2230
2233
2238
2244
2245
2250
2256
2258
2263
2264
2271
2277
2278
2281
2283
2285
2289
2293
2296
2299
2308
2309
2311
2312
2315
2318
2320
2323
2329
2333
2337
2341
2342
2347
2349
2351
2352
2356
2358
2360
2364
2367
2378
2380
2382
2395
2396
2399
2401
2402
2403
2406
2411
2412
2414
2417
2419
2424
2427
2431
2432
2434
2435
2441
2452
2455
2457
2462
2464
2465
2467
2470
2473
2475
2478
2479
2484
2492
2495
2497
2499
2500
2506
2510
2511
2512
2515
2517
2522
2527
2528
2534
2539
2542
2545
2546
2550
2551
2556
2558
2560
2567
2572
2574
2575
2576
2581
2584
2588
2592
2594
2599
2606
2609
2612
2615
2618
2622
2624
2625
2626
2627
2628
2632
2634
2637
2640
2641
2644
2647
2649
2650
2657
2659
2660
2662
2665
2666
2667
2668
2671
2674
2676
2677
2679
2680
2681
2682
2684
2685
2687
2693
2694
2696
2699
2700
2705
2714
2717
2718
2726
2727
2729
2731
2735
2737
2742
2745
2748
2750
2752
2754
2757
2759
2760
2761
2762
2766
2769
2770
2771
2772
2774
2777
2778
2787
2793
2794
2797
2799
2803
2804
2806
2812
2815
2821
2824
2825
2827
2832
2835
2836
2838
2852
2853
2857
2858
2864
2870
2871
2882
2884
2889
2892
2893
2894
2897
2898
2899
2900
2902
2903
2906
2907
2908
2909
2913
2914
2915
2918
2919
2922
2923
2927
2928
2930
2932
2933
2935
2936
2937
2944
2950
2951
2955
2956
2957
2959
2966
2972
2974
2977
2980
2982
2985
2986
2987
2991
2993
2994
3006
3009
3011
3014
3016
3019
3021
3022
3024
3027
3030
3031
3035
3036
3039
3043
3044
3047
3050
3054
3056
3064
3067
3071
3073
3083
3084
3091
3092
3097
3098
3101
3102
3106
3108
3109
3116
3118
3122
3123
3129
3132
3133
3134
3135
3136
3140
3143
3145
3147
3148
3160
3164
3165
3169
3170
3173
3180
3184
3196
3199
3200
3201
3208
3216
3217
3220
3221
3229
3230
3236
3243
3244
3246
3247
3248
3249
3253
3256
3259
3262
3263
3264
3272
3276
3278
3282
3287
3288
3290
3293
3294
3296
3300
3301
3303
3304
3306
3307
3308
3312
3318
3319
3320
3322
3323
3328
3334
3335
3339
3340
3341
3342
3344
3347
3352
3355
3356
3357
3359
3365
3366
3369
3371
3375
3377
3378
3379
3380
3383
3385
3387
3388
3391
3399
3402
3405
3406
3409
3413
3421
3427
3429
3432
3434
3436
3442
3443
3448
3452
3453
3454
3456
3457
3458
3460
3462
3463
3467
3468
3471
3474
3476
3478
3483
3487
3489
3490
3493
3494
3496
3499
3500
3502
3503
3506
3509
3511
3512
3515
3516
3519
3520
3521
3522
3523
3526
3527
3528
3533
3537
3538
3548
3553
3557
3558
3563
3568
3571
3576
3577
3581
3583
3586
3588
3592
3596
3602
3603
3605
3607
3610
3617
3618
3619
3621
3622
3624
3630
3631
3632
3634
3635
3642
3645
3647
3650
3653
3654
3658
3660
3663
3664
3665
3667
3674
3675
3676
3678
3685
3688
3689
3694
3697
3704
3705
3710
3712
3713
3715
3718
3723
3725
3727
3730
3731
3733
3734
3737
3739
3743
3745
3749
3751
3753
3755
3757
3762
3767
3769
3776
3786
3787
3796
3797
3798
3799
3801
3806
3808
3814
3815
3816
3820
3824
3827
3830
3831
3832
3833
3837
3844
3846
3847
3848
3853
3854
3856
3857
3859
3862
3874
3877
3884
3889
3895
3896
3899
3900
3902
3904
3916
3929
3930
3931
3934
3936
3939
3940
3941
3942
3945
3946
3947
3950
3951
3959
3960
3963
3966
3972
3973
3975
3977
3981
3983
3989
3990
3992
3995
3998
4003
4013
4019
4023
4025
4032
4034
4035
4038
4041
4046
4049
4050
4051
4052
4053
4058
4065
4070
4072
4073
4075
4076
4084
4086
4087
4091
4092
4093
4094
4096
4099
4100
4107
4112
4113
4114
4115
4116
4118
4121
4122
4126
4127
4128
4129
4135
4137
4145
4150
4156
4157
4158
4161
4162
4163
4166
4168
4169
4170
4173
4175
4179
4181
4184
4189
4191
4192
4193
4194
4195
4199
4211
4214
4215
4216
4218
4219
4229
4231
4235
4240
4244
4246
4247
4250
4253
4258
4261
4262
4269
4271
4273
4277
4278
4279
4280
4281
4283
4285
4289
4291
4292
4304
4306
4308
4310
4321
4324
4330
4336
4338
4339
4350
4353
4354
4361
4362
4364
4370
4371
4373
4375
4378
4381
4384
4386
4387
4388
4390
4394
4397
4398
4401
4406
4407
4412
4419
4420
4421
4422
4432
4438
4440
4443
4446
4451
4453
4454
4457
4461
4463
4468
4471
4472
4473
4474
4477
4484
4488
4489
4490
4497
4499
4501
4502
4504
4506
4507
4511
4516
4518
4522
4525
4541
4545
4548
4549
4551
4559
4560
4564
4566
4568
4569
4571
4573
4576
4581
4582
4584
4597
4598
4601
4604
4605
4609
4610
4612
4617
4618
4619
4622
4623
4624
4626
4628
4629
4634
4636
4638
4641
4643
4644
4646
4657
4659
4662
4663
4666
4668
4676
4679
4681
4683
4685
4686
4687
4688
4689
4690
4691
4693
4694
4697
4700
4701
4702
4706
4717
4718
4726
4727
4734
4736
4737
4738
4739
4741
4743
4745
4746
4748
4753
4757
4758
4760
4764
4767
4770
4771
4775
4777
4778
4790
4791
4792
4796
4798
4799
4801
4810
4821
4822
4823
4826
4829
4831
4832
4833
4840
4842
4846
4848
4849
4853
4858
4863
4864
4867
4869
4872
4874
4875
4880
4884
4886
4888
4891
4892
4895
4897
4898
4900
4905
4910
4911
4919
4925
4930
4935
4937
4943
4946
4951
4952
4953
4957
4958
4961
4963
4969
4971
4976
4978
4984
4989
4990
4991
4994
4995
5007
5012
5013
5021
5022
5029
5030
5031
5040
5041
5043
5047
5053
5056
5057
5060
5061
5066
5069
5082
5084
5085
5086
5088
5090
5092
5096
5098
5099
5101
5104
5108
5110
5111
5119
5120
5122
5125
5127
5129
5133
5134
5137
5141
5147
5150
5152
5153
5156
5163
5165
5170
5173
5175
5178
5179
5180
5181
5182
5185
5186
5188
5193
5198
5201
5210
5212
5214
5218
5219
5222
5227
5231
5232
5241
5244
5246
5254
5256
5259
5263
5270
5274
5275
5278
5279
5283
5296
5302
5307
5308
5309
5312
5317
5318
5319
5320
5326
5330
5334
5335
5336
5337
5341
5343
5345
5347
5348
5352
5358
5365
5368
5371
5372
5376
5377
5378
5380
5381
5382
5383
5385
5390
5393
5394
5398
5399
5400
5403
5404
5408
5410
5420
5421
5422
5426
5427
5428
5429
5434
5440
5441
5442
5444
5445
5446
5447
5449
5463
5466
5467
5472
5477
5479
5482
5484
5485
5488
5498
5500
5506
5507
5508
5512
5513
5514
5520
5522
5524
5530
5532
5534
5535
5536
5537
5540
5541
5544
5545
5546
5548
5550
5551
5553
5554
5557
5560
5562
5563
5568
5572
5575
5576
5579
5583
5587
5591
5594
5604
5607
