1
3
4
5
7
8
12
15
16
17
22
27
29
30
36
38
39
42
45
46
63
69
70
75
76
80
86
90
91
92
95
113
114
120
122
124
130
140
143
151
153
157
159
162
165
173
174
178
187
188
190
195
197
201
205
218
219
220
221
230
233
234
236
242
243
245
246
248
254
262
263
265
266
267
270
274
276
278
281
288
290
306
309
310
315
316
318
320
322
324
330
334
336
340
342
343
348
352
355
356
360
362
363
368
377
379
380
381
391
394
400
401
404
405
408
410
411
412
413
416
419
423
425
427
429
434
443
448
458
459
465
485
489
493
499
501
508
512
515
517
521
522
523
528
529
530
534
535
537
538
540
549
552
558
560
567
569
577
583
584
588
591
592
593
599
601
605
607
613
623
626
631
639
642
646
651
653
655
664
669
675
678
688
704
706
709
710
713
714
716
722
727
730
732
742
746
754
756
761
762
769
771
772
773
775
777
778
779
781
783
784
790
791
795
799
803
805
814
816
818
828
832
838
840
844
846
847
848
849
851
857
860
861
866
871
883
888
893
897
899
918
921
922
935
938
939
940
943
945
946
949
950
951
953
954
957
961
964
968
972
977
978
984
985
987
989
990
996
999
1007
1010
1012
1016
1019
1021
1029
1030
1032
1034
1036
1042
1044
1049
1054
1057
1061
1062
1063
1068
1069
1072
1078
1084
1086
1106
1109
1118
1119
1122
1128
1134
1137
1139
1147
1151
1157
1159
1161
1162
1164
1168
1170
1171
1173
1181
1182
1187
1196
1198
1199
1205
1206
1209
1211
1219
1225
1227
1228
1232
1234
1236
1240
1242
1244
1250
1251
1252
1255
1266
1271
1275
1278
1281
1283
1287
1295
1299
1303
1305
1309
1311
1314
1324
1329
1330
1334
1337
1338
1339
1343
1344
1345
1346
1353
1361
1362
1363
1369
1380
1382
1384
1388
1396
1398
1400
1401
1403
1405
1409
1413
1421
1425
1428
1429
1433
1437
1438
1440
1443
1445
1451
1453
1454
1455
1457
1469
1470
1471
1474
1479
1483
1484
1485
1492
1495
1497
1498
1499
1500
1501
1502
1512
1524
1527
1534
1539
1542
1545
1547
1554
1555
1558
1559
1563
1564
1567
1575
1579
1580
1582
1586
1591
1592
1595
1597
1598
1600
1602
1609
1613
1614
1626
1628
1634
1639
1640
1652
1654
1655
1656
1666
1667
1674
1677
1679
1681
1685
1690
1691
1695
1696
1697
1698
1699
1701
1709
1714
1719
1726
1728
1730
1737
1739
1740
1741
1742
1745
1748
1752
1753
1758
1765
1770
1772
1773
1774
1781
1786
1790
1793
1795
1796
1798
1807
1808
1809
1811
1816
1819
1833
1840
1841
1842
1843
1852
1853
1858
1861
1866
1868
1875
1879
1886
1887
1890
1892
1896
1900
1903
1908
1913
1916
1917
1918
1919
1921
1925
1930
1931
1938
1939
1943
1944
1949
1950
1951
1955
1956
1957
1959
1963
1974
1977
1980
1984
1987
1988
1992
1995
1996
2006
2007
2009
2013
2020
2021
2022
2032
2040
2041
2042
2050
2053
2055
2056
2063
2073
2076
2079
2083
2084
2090
2092
2097
2106
2110
2115
2116
2126
2129
2132
2138
2143
2146
2149
2154
2156
2170
2178
2181
2184
2188
2191
2192
2193
2198
2205
2216
2221
2225
2226
2229
2234
2235
2240
2241
2246
2247
2254
2260
2261
2265
2272
2278
2279
2280
2281
2283
2285
2290
2292
2293
2294
2306
2317
2320
2327
2337
2338
2341
2349
2350
2351
2354
2357
2359
2360
2362
2366
2377
2379
2385
2386
2391
2392
2393
2395
2401
2409
2410
2414
2420
2422
2427
2431
2433
2440
2442
2445
2447
2456
2463
2471
2472
2474
2475
2476
2478
2479
2482
2486
2489
2490
2491
2497
2499
2502
2503
2504
2506
2509
2513
2516
2520
2525
2533
2534
2545
2551
2552
2555
2558
2564
2570
2571
2572
2573
2574
2576
2578
2588
2590
2591
2599
2610
2614
2615
2625
2627
2629
2631
2633
2640
2649
2653
2655
2658
2660
2668
2674
2677
2678
2697
2699
2705
2707
2708
2709
2710
2713
2716
2722
2723
2730
2734
2738
2743
2744
2746
2751
2763
2766
2768
2779
2787
2791
2792
2794
2797
2801
2808
2810
2815
2822
2828
2831
2833
2839
2841
2842
2843
2846
2848
2853
2854
2858
2859
2860
2864
2865
2869
2886
2889
2895
2897
2901
2908
2915
2923
2926
2927
2930
2933
2937
2940
2949
2950
2953
2962
2963
2965
2968
2969
2970
2974
2978
2980
2982
2984
2991
2993
2994
2995
3003
3019
3024
3027
3034
3037
3038
3039
3040
3041
3045
3054
3055
3057
3059
3061
3062
3064
3065
3066
3068
3069
3071
3075
3079
3081
3083
3084
3086
3092
3095
3096
3103
3106
3108
3109
3110
3119
3120
3130
3131
3133
3139
3147
3152
3154
3155
3158
3163
3170
3171
3182
3183
3193
3195
3203
3204
3217
3218
3220
3228
3229
3234
3237
3247
3260
3263
3268
3273
3277
3281
3286
3293
3297
3302
3307
3313
3314
3316
3317
3324
3328
3334
3339
3344
3347
3348
3349
3350
3351
3360
3362
3364
3369
3381
3384
3391
3393
3396
3401
3411
3413
3417
3420
3423
3426
3427
3428
3439
3441
3442
3443
3445
3450
3451
3455
3470
3472
3474
3478
3479
3491
3494
3498
3499
3500
3504
3508
3514
3518
3524
3527
3528
3534
3538
3544
3550
3556
3560
3564
3567
3570
3571
3574
3575
3579
3586
3587
3591
3595
3599
3623
3625
3626
3637
3639
3644
3646
3658
3661
3666
3668
3671
3673
3675
3681
3693
3694
3697
3700
3701
3703
3706
3710
3711
3712
3720
3724
3725
3734
3735
3736
3738
3741
3743
3747
3750
3753
3755
3760
3773
3776
3779
3797
3800
3805
3810
3812
3814
3815
3822
3826
3831
3835
3836
3850
3853
3855
3856
3858
3860
3865
3867
3869
3876
3880
3881
3883
3885
3887
3888
3894
3897
3902
3903
3908
3910
3916
3924
3936
3938
3939
3948
3950
3951
3955
3962
3969
3973
3979
3984
3986
3987
3991
3998
4000
4001
4004
4005
4006
4007
4009
4011
4014
4019
4027
4030
4033
4034
4046
4048
4060
4069
4076
4077
4080
4086
4096
4097
4100
4104
4111
4112
4116
4118
4128
4133
4138
4149
4154
4156
4160
4175
4186
4192
4197
4199
4201
4203
4207
4218
4219
4222
4227
4231
4236
4237
4246
4251
4252
4256
4261
4263
4265
4269
4271
4273
4277
4279
4282
4283
4292
4300
4306
4307
4311
4320
4322
4327
4335
4337
4339
4340
4341
4342
4343
4347
4348
4352
4358
4360
4361
4362
4365
4375
4376
4377
4379
4380
4385
4393
4399
4400
4402
4416
4418
4419
4423
4427
4429
4433
4435
4439
4447
4448
4456
4460
4463
4468
4472
4474
4476
4486
4494
4496
4501
4503
4506
4514
4516
4517
4519
4521
4529
4530
4531
4533
4538
4541
4542
4551
4554
4555
4560
4562
4565
4566
4568
4572
4573
4575
4577
4579
4580
4581
4583
4589
4596
4598
4600
4602
4603
4604
4616
4618
4619
4621
4623
4628
4631
4636
4640
4642
4643
4644
4645
4654
4657
4659
4660
4665
4666
4668
4669
4670
4672
4673
4675
4687
4689
4698
4700
4706
4715
4720
4724
4726
4728
4729
4731
4732
4733
4734
4739
4748
4755
4757
4761
4766
4767
4782
4787
4788
4791
4794
4795
4800
4802
4806
4807
4811
4813
4814
4820
4834
4841
4842
4845
4847
4853
4855
4857
4858
4860
4864
4872
4875
4876
4880
4885
4888
4891
4892
4895
4896
4899
4900
4903
4904
4911
4917
4924
4925
4927
4934
4936
4937
4939
4941
4943
4946
4947
4951
4954
4956
4961
4962
4963
4965
4975
4976
4977
4980
4981
4985
4986
4987
4989
4990
4991
4994
4995
5004
5006
5007
5018
5020
5024
5029
5030
5042
5053
5057
5058
5059
5063
5064
5067
5072
5076
5081
5085
5089
5090
5091
5093
5094
5097
5101
5102
5105
5107
5111
5112
5115
5116
5124
5129
5135
5137
5138
5139
5141
5144
5145
5146
5150
5152
5156
5158
5159
5166
5167
5172
5173
5179
5181
5185
5191
5197
5199
5201
5208
5219
5222
5223
5224
5225
5229
5232
5238
5240
5243
5245
5246
5248
5256
5263
5275
5281
5287
5297
5302
5304
5305
5313
5315
5316
5317
5323
5328
5337
5339
5341
5343
5346
5347
5351
5352
5353
5358
5360
5362
5366
5375
5382
5384
5386
5387
5416
5417
5418
5420
5423
5424
5429
5430
5438
5448
5452
5453
5454
5461
5462
5466
5467
5469
5470
5474
5484
5486
5489
5494
5507
5514
5519
5523
5524
5525
5529
5531
5537
5538
5540
5541
5542
5543
5550
5555
5563
5567
5570
5571
5575
5579
5584
5585
5595
5601
5603
5607
5609
5616
5621
5624
5628
5633
5637
5638
5639
5642
5646
5659
5660
5662
5663
5666
5669
5673
5675
5676
5677
5679
5681
5690
5692
5694
5697
5699
5703
5707
5713
5715
5718
5722
5728
5731
5733
5735
5738
5746
5748
5751
5764
5765
5769
5774
5776
5779
5781
5782
5784
5786
5787
5794
5798
5799
5803
5813
5815
5829
5838
5840
5843
5846
5848
5857
5860
5863
5867
5872
5874
5876
5879
5884
5887
5893
5894
5899
5903
5905
5910
5911
5913
5922
5928
5931
5940
5952
5958
5959
5963
5965
5970
5975
5978
5983
5985
5986
5991
5993
5997
6002
6005
6006
6010
6015
6018
6021
6026
6033
6037
6040
6041
6045
6052
6064
6065
6071
6072
6073
6078
6079
6083
6091
6092
6093
6102
6111
6112
6114
6115
6118
6119
6120
6125
6127
6129
6133
6135
6137
6143
6146
6149
6155
6156
6160
6169
6174
6176
6181
6182
6183
6185
6189
6190
6200
6204
6209
6213
6223
6225
6230
6235
6240
6241
6243
6246
6249
6250
6257
6258
6267
6270
6271
6272
6274
6276
6278
6279
6284
6286
6288
6289
6291
6294
6295
6296
6297
6308
6314
6318
6319
6321
6322
6327
6328
6330
6331
6332
6337
6338
6343
6344
6351
6363
6364
6368
6376
6377
6387
6389
6392
6400
6401
6406
6410
6416
6429
6437
6438
6439
6440
6442
6444
6448
6449
6452
6455
6456
6464
6466
6469
6476
6480
6481
6483
6484
6488
6494
6508
6509
6510
6513
6522
6523
6526
6529
6533
6539
6543
6550
6556
6557
6561
6565
6570
6576
6577
6579
6580
6581
6584
6593
6600
6601
6609
6614
6615
6618
6625
6628
6639
6641
6642
6644
6647
6655
6658
6667
6668
6670
6673
6675
6679
6684
6695
6698
6709
6713
6719
6731
6735
6739
6743
6744
6745
6756
6757
6762
6763
6765
6768
6769
6770
6778
6779
6784
6796
6806
6808
6811
6815
6816
6818
6825
6838
6842
6860
6862
6863
6864
6871
6873
6874
6876
6878
6881
6884
6889
6890
6891
6894
6903
6904
6907
6908
6909
6910
6913
6919
6920
6922
6923
6924
6928
6930
6934
6935
6942
6954
6956
6959
6964
6970
6975
6981
6989
6992
6995
6997
6998
7004
7008
7009
7010
7011
7014
7019
7024
7026
7028
7034
7042
7051
7053
7060
7061
7064
7065
7067
7069
7071
7073
7081
7087
7094
7098
7099
7101
7106
7107
7114
7115
7121
7122
7124
7126
7134
7138
7140
7141
7144
7146
7149
7161
7166
7168
7176
7185
7193
7195
7196
7205
7210
7219
7220
7226
7229
7231
7232
7233
7234
7240
7241
7252
7253
7254
7255
7256
7257
7259
7260
7262
7266
7267
7271
7273
7274
7275
7277
7280
7282
7287
7288
7295
7296
7299
7300
7308
7311
7317
7320
7324
7336
7338
7339
7342
7346
7348
7352
7355
7357
7359
7367
7374
7378
7382
7383
7385
7392
7397
7407
7408
7410
7414
7424
7435
7437
7438
7458
7460
7463
7466
7474
7476
7479
7484
7486
7497
7501
7508
7509
7510
7516
7525
7526
7527
7532
7534
7535
7537
7542
7546
7547
7551
7554
7555
7558
7562
7563
7566
7571
7573
7577
7579
7583
7584
7589
7595
7596
7597
7601
7609
7616
7617
7624
7631
7637
7639
7641
7647
7648
7649
7655
7659
7670
7671
7673
7679
7683
7685
7686
7687
7690
7694
7697
7699
7701
7704
7707
7711
7712
7714
7715
7725
7729
7732
7734
7736
7740
7744
7749
7752
7755
7768
7770
7771
7774
7781
7786
7789
7793
7794
7797
7798
7814
7818
7823
7824
7825
7829
7834
7835
7837
7840
7844
7847
7850
7857
7867
7877
7881
7884
7885
7887
7888
7894
7898
7902
7903
7906
7907
7908
7913
7918
7922
7925
7926
7927
7930
7939
7947
7956
7957
7965
7969
7971
7973
7976
7978
7984
7985
7990
7997
8004
8011
8014
8017
8021
8022
8026
8027
8036
8037
8044
8046
8048
8050
8057
8065
8071
8074
8084
8085
8087
8098
8099
8100
8104
8108
8111
8114
8118
8120
8127
8128
8129
8131
8132
8135
8137
8140
8146
8147
8148
8149
8151
8153
8155
8160
8162
8166
8167
8168
8170
8172
8176
8180
8181
8189
8192
8194
8200
8205
8210
8211
8218
8219
8221
8227
8228
8230
8243
8251
8263
8264
8266
8270
8273
8275
8276
8283
8284
8294
8295
8298
8302
8304
8307
8310
8314
8315
8319
8320
8321
8323
8324
8329
8332
8337
8338
8352
8356
8361
8364
8366
8375
8382
8386
8391
8394
8400
8402
8404
8408
8411
8414
8415
8417
8418
8422
8426
8429
8430
8431
8436
8439
8444
8445
8448
8453
8459
8460
8467
8468
8470
8475
8479
8483
8499
8501
8504
8506
8508
8514
8515
8519
8527
8528
8534
8539
8548
8552
8553
8558
8562
8570
8576
8580
8583
8587
8595
8598
8601
8608
8611
8617
8630
8636
8645
8646
8647
8651
8659
8660
8661
8664
8668
8669
8672
8678
8682
8684
8686
8689
8690
8698
8704
8706
8717
8723
8733
8742
8743
8744
8750
8752
8756
8757
8762
8766
8769
8770
8773
8781
8788
8793
8796
8797
8811
8812
8814
8818
8821
8822
8827
8831
8833
8838
8843
8848
8854
8867
8870
8874
8875
8876
8877
8882
8888
8891
8892
8898
8899
8902
8904
8905
8908
8910
8923
8927
8928
8930
8951
8952
8953
8954
8958
8962
8963
8964
8966
8971
8972
8978
8981
8984
8987
8990
8992
8998
9005
9006
9007
9010
9012
9013
9017
9024
9029
9033
9045
9047
9049
9052
9057
9060
9061
9068
9069
9072
9078
9086
9088
9089
9096
9107
9108
9110
9113
9118
9120
9122
9131
9139
9142
9143
9151
9153
9154
9156
9157
9159
9160
9161
9165
9168
9172
9173
9174
9180
9183
9188
9189
9194
9195
9198
9201
9204
9207
9208
9210
9211
9212
9220
9222
9226
9228
9229
9230
9233
9237
9240
9245
9250
9255
9266
9268
9276
9280
9282
9284
9286
9288
9294
9295
9297
9306
9309
9316
9319
9322
9323
9324
9340
9344
9351
9360
9363
9366
9368
9369
9379
9380
9385
9398
9402
9405
9412
9414
9422
9427
9429
9431
9435
9437
9453
9454
9459
9461
9463
9466
9468
9475
9476
9480
9489
9491
9492
9493
9494
9495
9496
9505
9506
9508
9510
9512
9522
9523
9528
9538
9540
9544
9545
9550
9553
9554
9555
9557
9563
9568
9574
9580
9586
9592
9596
9597
9598
9603
9604
9607
9609
9619
9626
9628
9630
9643
9644
9653
9654
9658
9659
9674
9681
9684
9687
9693
9694
9695
9713
9721
9722
9727
9728
9729
9732
9738
9741
9748
9752
9753
9762
9769
9770
9776
9778
9779
9784
9788
9790
9791
9802
9804
9806
9807
9808
9813
9815
9822
9824
9827
9828
9829
9830
9834
9835
9837
9838
9842
9843
9846
9848
9856
9857
9858
9860
9864
9868
9870
9875
9876
9878
9889
9893
9912
9914
9918
9922
9928
9936
9938
9946
9948
9952
9957
9961
9963
9967
9969
9972
9977
9981
9986
9992
9993
9996
10003
10007
10008
10009
10018
10021
10023
10024
10027
10032
10044
10055
10064
10067
10071
10079
10081
10082
10090
10091
10094
10098
10102
10106
10113
10118
10120
10123
10126
10127
10137
10139
10140
10141
10144
10153
10165
10166
10168
10173
10174
10177
10180
10181
10183
10184
10190
10196
10198
10199
10202
10203
10208
10213
10217
10221
10223
