1
2
4
5
6
7
8
12
17
23
28
30
31
32
36
38
42
43
44
55
57
58
62
63
66
71
74
77
79
86
92
93
97
99
105
106
109
114
115
118
121
124
125
126
127
132
133
134
137
144
159
166
170
176
177
179
180
183
185
186
187
188
189
198
201
205
206
214
220
221
223
226
229
232
235
237
239
242
250
255
261
274
276
279
281
293
294
297
298
299
300
302
305
306
307
310
318
319
325
327
328
329
332
336
340
343
346
354
361
363
364
367
371
376
377
381
383
384
386
389
391
394
395
402
404
410
420
426
430
435
437
438
439
440
442
444
447
448
453
455
464
465
470
471
476
479
481
483
489
490
494
499
500
502
510
515
519
524
527
532
533
534
535
536
540
543
544
545
546
548
555
556
564
568
569
572
573
574
579
581
585
587
588
593
602
604
607
612
616
619
620
623
629
631
639
642
655
659
660
661
662
674
678
688
701
702
716
718
719
722
732
733
741
742
746
747
751
754
763
767
768
772
776
780
784
785
786
788
789
797
802
809
810
821
822
829
830
835
837
840
845
846
851
852
853
855
862
863
867
871
874
878
886
897
899
901
904
908
910
913
915
916
924
928
935
937
939
943
946
954
957
958
960
961
966
970
979
980
981
986
991
996
997
999
1003
1004
1013
1014
1016
1033
1034
1037
1041
1044
1057
1060
1064
1068
1086
1090
1092
1093
1094
1095
1099
1100
1102
1103
1112
1118
1122
1123
1125
1129
1130
1132
1135
1137
1153
1163
1164
1165
1169
1170
1178
1181
1183
1185
1189
1191
1192
1193
1195
1198
1200
1205
1209
1216
1218
1219
1231
1232
1240
1241
1247
1260
1261
1265
1271
1276
1280
1284
1285
1287
1290
1294
1296
1316
1317
1318
1320
1325
1330
1332
1333
1337
1343
1344
1346
1347
1358
1364
1365
1371
1382
1386
1394
1396
1397
1404
1411
1412
1413
1414
1418
1422
1423
1424
1430
1433
1437
1444
1445
1448
1451
1452
1454
1455
1457
1461
1466
1472
1475
1477
1481
1488
1490
1495
1498
1508
1510
1518
1528
1529
1536
1539
1540
1544
1546
1547
1555
1557
1558
1560
1562
1566
1568
1569
1571
1576
1580
1581
1585
1592
1597
1600
1601
1603
1604
1619
1621
1622
1623
1624
1629
1634
1635
1646
1652
1654
1657
1667
1669
1670
1676
1678
1680
1683
1685
1688
1690
1695
1704
1710
1720
1723
1726
1738
1739
1742
1755
1760
1770
1774
1777
1778
1782
1786
1793
1798
1800
1803
1804
1805
1806
1818
1820
1827
1833
1837
1840
1841
1842
1852
1856
1858
1859
1861
1863
1876
1883
1887
1891
1894
1901
1902
1909
1913
1918
1921
1926
1930
1932
1936
1939
1940
1945
1946
1950
1951
1954
1955
1956
1958
1960
1963
1965
1967
1968
1972
1975
1978
1980
1988
1989
1990
1993
1999
2001
2004
2005
2007
2008
2009
2011
2013
2014
2024
2030
2031
2047
2052
2053
2057
2058
2064
2065
2069
2075
2077
2082
2083
2087
2092
2096
2098
2101
2102
2106
2108
2119
2121
2131
2137
2144
2146
2148
2151
2152
2155
2157
2167
2171
2183
2188
2190
2195
2198
2203
2210
2221
2228
2229
2230
2231
2243
2244
2246
2248
2250
2253
2254
2259
2260
2262
2278
2280
2290
2294
2295
2296
2298
2303
2308
2309
2313
2317
2320
2325
2328
2333
2334
2339
2343
2346
2347
2348
2353
2357
2359
2362
2367
2371
2373
2376
2383
2384
2388
2389
2390
2392
2403
2405
2408
2409
2410
2411
2412
2417
2419
2420
2425
2426
2427
2431
2437
2445
2453
2454
2457
2458
2459
2461
2464
2465
2469
2473
2474
2476
2478
2482
2486
2488
2489
2491
2498
2507
2508
2510
2511
2512
2518
2524
2526
2529
2530
2532
2533
2537
2540
2544
2552
2555
2557
2560
2571
2573
2575
2576
2577
2579
2580
2582
2588
2589
2590
2591
2594
2597
2600
2602
2609
2611
2612
2616
2620
2621
2622
2633
2634
2635
2637
2638
2640
2641
2643
2653
2655
2660
2666
2669
2670
2672
2673
2684
2688
2695
2697
2699
2701
2702
2703
2707
2711
2721
2728
2733
2741
2755
2756
2759
2762
2763
2772
2775
2790
2793
2796
2798
2800
2802
2803
2806
2807
2810
2818
2820
2828
2830
2832
2833
2835
2836
2841
2842
2849
2861
2862
2874
2876
2882
2889
2892
2895
2906
2912
2915
2920
2925
2926
2928
2934
2938
2941
2943
2945
2947
2951
2953
2954
2963
2966
2968
2973
2974
2975
2978
2985
2987
2989
2993
3002
3005
3008
3009
3010
3012
3026
3027
3034
3035
3046
3049
3051
3052
3056
3058
3063
3064
3068
3069
3077
3078
3083
3086
3088
3090
3091
3097
3098
3100
3107
3109
3110
3117
3118
3120
3126
3127
3129
3130
3144
3148
3149
3153
3157
3158
3163
3171
3180
3182
3184
3197
3200
3203
3205
3206
3208
3209
3214
3215
3218
3219
3222
3227
3228
3233
3234
3235
3241
3246
3250
3251
3277
3278
3281
3284
3285
3288
3290
3292
3293
3299
3304
3307
3308
3310
3314
3317
3319
3322
3328
3332
3338
3347
3352
3353
3356
3367
3369
3373
3374
3375
3376
3381
3387
3396
3401
3407
3409
3413
3424
3427
3434
3437
3451
3454
3455
3457
3459
3461
3463
3466
3469
3470
3472
3473
3476
3478
3479
3484
3485
3486
3488
3492
3493
3495
3498
3502
3506
3508
3509
3510
3512
3514
3516
3524
3525
3526
3532
3541
3547
3549
3554
3563
3564
3565
3566
3567
3578
3581
3585
3587
3594
3597
3599
3600
3605
3611
3615
3616
3624
3627
3629
3637
3638
3643
3645
3648
3650
3654
3658
3664
3671
3672
3674
3676
3677
3682
3683
3687
3692
3696
3699
3700
3704
3709
3714
3718
3719
3720
3721
3722
3723
3725
3726
3727
3733
3736
3740
3742
3748
3750
3753
3754
3755
3757
3772
3774
3775
3778
3780
3784
3785
3796
3799
3808
3815
3820
3823
3824
3832
3833
3847
3853
3854
3857
3862
3882
3883
3884
3891
3892
3894
3896
3897
3898
3902
3909
3910
3911
3917
3921
3922
3923
3930
3938
3941
3945
3955
3957
3958
3960
3966
3968
3974
3975
3983
3989
3996
4002
4004
4010
4012
4020
4029
4030
4032
4035
4041
4042
4046
4048
4049
4050
4053
4054
4056
4060
4061
4062
4069
4074
4079
4080
4086
4089
4092
4096
4107
4117
4122
4124
4126
4129
4135
4136
4138
4140
4141
4144
4148
4149
4155
4156
4161
4163
4165
4166
4167
4168
4172
4179
4186
4189
4198
4205
4208
4215
4222
4224
4225
4230
4233
4234
4242
4247
4248
4254
4258
4260
4263
4267
4273
4276
4277
4279
4282
4283
4284
4286
4291
4293
4294
4297
4301
4302
4310
4315
4319
4321
4324
4327
4329
4333
4336
4340
4341
4342
4344
4345
4347
4353
4357
4360
4363
4367
4372
4375
4376
4377
4381
4383
4393
4394
4401
4402
4404
4407
4408
4418
4423
4427
4432
4435
4441
4442
4446
4453
4457
4462
4464
4466
4471
4475
4478
4481
4482
4483
4484
4487
4488
4489
4494
4497
4499
4502
4505
4509
4514
4515
4517
4518
4522
4523
4525
4526
4527
4528
4537
4538
4540
4542
4544
4560
4561
4565
4566
4568
4570
4573
4574
4575
4581
4583
4584
4588
4591
4592
4593
4598
4605
4607
4612
4622
4623
4629
4631
4632
4635
4642
4644
4646
4647
4648
4655
4657
4662
4665
4666
4672
4681
4685
4692
4696
4701
4704
4705
4713
4714
4715
4723
4724
4730
4736
4739
4740
4747
4748
4750
4752
4755
4761
4767
4783
4784
4787
4790
4791
4798
4800
4805
4813
4817
4818
4825
4826
4830
4831
4835
4838
4841
4846
4847
4848
4852
4854
4855
4867
4871
4874
4879
4882
4884
4886
4887
4889
4893
4904
4905
4907
4908
4916
4919
4921
4922
4928
4930
4932
4936
4944
4947
4949
4954
4956
4959
4961
4968
4969
4977
4979
4982
4984
4987
4988
4990
4993
4994
4996
5009
5011
5022
5025
5029
5031
5033
5035
5036
5040
5041
5045
5052
5053
5055
5058
5060
5068
5069
5070
5071
5076
5077
5081
5084
5093
5098
5104
5116
5117
5118
5119
5123
5140
5141
5143
5156
5158
5169
5170
5172
5173
5174
5176
5180
5182
5183
5185
5189
5194
5196
5200
5201
5202
5213
5224
5227
5233
5235
5236
5237
5242
5244
5247
5255
5256
5262
5265
5270
5280
5284
5292
5301
5312
5313
5314
5316
5322
5323
5325
5329
5331
5333
5336
5338
5347
5354
5357
5361
5370
5371
5373
5378
5381
5384
5390
5393
5394
5400
5401
5408
5411
5412
5418
5419
5427
5430
5432
5435
5437
5439
5444
5447
5449
5451
5454
5458
5459
5460
5462
5465
5472
5477
5480
5481
5483
5488
5494
5504
5510
5511
5514
5516
5517
5522
5523
5524
5525
5526
5527
5529
5535
5537
5538
5540
5543
5547
5549
5554
5562
5563
5567
5568
5570
5571
5577
5580
5585
5591
5595
5605
5606
5608
5618
5621
5624
5630
5631
5633
5637
5638
5645
5651
5664
5668
5671
5674
5675
5677
5678
5680
5685
5686
5687
5690
5699
5708
5710
5711
5712
5714
5719
5729
5733
5734
5737
5738
5739
5744
5753
5765
5767
5769
5770
5772
5775
5776
5777
5782
5783
5788
5795
5799
5805
5810
5814
5816
5819
5820
5823
5825
5830
5840
5845
5857
5860
5861
5864
5868
5871
5872
5878
5879
5883
5885
5886
5887
5890
5891
5895
5897
5899
5900
5903
5909
5913
5915
5918
5928
5933
5936
5948
5949
5950
5952
5954
5955
5959
5971
5972
5974
5984
5988
5990
5992
5996
6002
6007
6009
6010
6014
6015
6017
6025
6028
6032
6036
6040
6043
6044
6048
6050
6051
6063
6065
6071
6072
6074
6080
6099
6102
6106
6112
6113
6116
6117
6119
6122
6123
6125
6126
6130
6134
6143
6144
6145
6151
6154
6155
6160
6162
6169
6171
6173
6177
6178
6181
6192
6193
6199
6202
6213
6214
6217
6220
6225
6235
6240
6241
6242
6243
6245
6246
6253
6254
6256
6257
6258
6259
6268
6269
6272
6274
6279
6282
6284
6286
6287
6289
6293
6304
6311
6312
6314
6315
6321
6325
6329
6330
6331
6332
6337
6344
6346
6347
6350
6353
6356
6358
6360
6361
6364
6370
6373
6375
6380
6382
6386
6395
6398
6399
6402
6403
6404
6408
6420
6421
6423
6427
6428
6433
6435
6443
6446
6454
6456
6459
6460
6463
6467
6477
6481
6484
6486
6487
6496
6500
6505
6507
6513
6514
6516
6517
6518
6519
6522
6524
6529
6535
6538
6541
6549
6550
6553
6556
6564
6567
6570
6571
6572
6573
6574
6577
6585
6588
6589
6590
6591
6595
6607
6613
6614
6620
6621
6622
6628
6637
6650
6657
6667
6672
6674
6690
6693
6701
6703
6705
6706
6710
6715
6719
6726
6732
6738
6744
6745
6750
6754
6755
6757
6760
6763
6768
6773
6775
6778
6782
6785
6786
6787
6788
6789
6792
6803
6807
6809
6816
6817
6818
6819
6821
6824
6826
6830
6831
6838
6841
6842
6843
6854
6858
6859
6860
6863
6872
6873
6875
6877
6878
6880
6881
6893
6896
6897
6900
6901
6904
6906
6914
6921
6927
6929
6930
6939
