1
2
3
4
5
12
13
15
19
20
22
31
36
42
44
45
46
63
64
65
67
69
70
72
73
82
84
88
89
91
92
98
99
103
106
111
114
116
123
127
131
133
134
141
146
153
156
158
162
165
173
190
195
206
207
210
211
212
213
217
221
222
224
225
229
233
239
243
245
247
249
261
263
264
265
268
275
276
278
280
284
289
291
292
293
298
302
303
306
308
312
316
318
320
325
326
337
338
339
349
352
354
355
356
360
364
372
374
379
380
381
389
390
394
396
407
409
414
420
423
425
426
433
436
439
445
446
448
453
458
459
460
462
467
472
479
481
485
486
493
494
497
498
499
500
502
503
507
508
515
519
523
525
536
537
540
542
544
545
546
548
550
554
558
559
565
569
575
585
590
592
597
607
609
617
619
620
622
625
627
643
650
651
654
663
665
669
672
687
690
696
697
701
706
713
714
730
738
744
754
755
756
759
762
765
768
772
773
780
781
790
798
800
801
813
824
826
834
841
842
843
845
848
850
865
866
875
883
887
897
898
900
902
904
924
930
935
937
938
940
942
943
952
953
956
957
959
961
962
963
972
980
982
994
998
1002
1008
1009
1012
1015
1019
1020
1021
1022
1026
1030
1037
1041
1043
1044
1046
1050
1053
1056
1058
1064
1068
1073
1074
1080
1081
1110
1114
1116
1117
1118
1120
1121
1124
1126
1129
1135
1137
1141
1142
1144
1145
1146
1149
1152
1158
1163
1168
1169
1178
1180
1181
1190
1193
1194
1198
1199
1200
1203
1210
1212
1213
1215
1219
1221
1222
1224
1227
1231
1232
1237
1242
1243
1245
1247
1257
1261
1265
1266
1270
1271
1279
1283
1285
1287
1289
1290
1291
1292
1293
1295
1299
1300
1301
1303
1305
1312
1314
1316
1318
1319
1321
1328
1333
1334
1342
1347
1349
1350
1353
1363
1366
1367
1368
1370
1373
1375
1379
1385
1387
1388
1397
1400
1401
1405
1412
1413
1416
1419
1422
1427
1433
1435
1436
1442
1445
1449
1456
1463
1466
1468
1473
1474
1479
1487
1489
1490
1491
1492
1494
1502
1503
1506
1507
1509
1511
1514
1518
1526
1527
1534
1535
1538
1541
1546
1547
1551
1557
1561
1570
1576
1577
1578
1580
1582
1588
1598
1599
1607
1608
1609
1616
1617
1621
1624
1628
1643
1655
1657
1661
1666
1667
1674
1679
1680
1681
1682
1685
1687
1690
1693
1694
1695
1697
1700
1701
1703
1705
1709
1711
1712
1717
1731
1732
1733
1734
1736
1737
1739
1754
1756
1757
1758
1761
1762
1766
1768
1777
1778
1781
1787
1794
1801
1806
1808
1811
1818
1825
1826
1830
1835
1836
1841
1842
1850
1853
1854
1859
1860
1861
1863
1865
1868
1869
1870
1876
1882
1883
1887
1894
1895
1896
1900
1901
1902
1903
1908
1912
1920
1925
1927
1929
1930
1931
1938
1939
1941
1942
1954
1961
1962
1963
1965
1969
1972
1983
1984
1994
2000
2003
2004
2005
2007
2012
2017
2022
2024
2026
2030
2031
2034
2036
2042
2049
2053
2055
2061
2068
2082
2084
2086
2089
2092
2093
2095
2099
2109
2112
2115
2124
2125
2129
2131
2136
2144
2154
2157
2161
2162
2169
2171
2175
2176
2179
2181
2182
2189
2190
2191
2194
2196
2199
2201
2208
2222
2228
2232
2239
2253
2255
2259
2270
2271
2273
2274
2275
2278
2280
2287
2289
2290
2293
2294
2300
2302
2307
2308
2309
2311
2313
2314
2316
2318
2319
2322
2327
2337
2339
2344
2348
2350
2352
2354
2357
2360
2362
2369
2383
2389
2393
2397
2400
2401
2406
2409
2410
2411
2413
2418
2421
2422
2433
2436
2438
2440
2442
2447
2449
2453
2458
2459
2460
2471
2475
2479
2481
2484
2486
2488
2489
2491
2492
2496
2501
2507
2512
2520
2521
2534
2538
2541
2542
2543
2544
2547
2549
2553
2558
2562
2570
2577
2584
2586
2588
2589
2590
2591
2592
2596
2599
2604
2608
2614
2615
2616
2625
2633
2634
2639
2642
2645
2648
2649
2652
2662
2668
2671
2679
2685
2692
2695
2698
2700
2708
2710
2712
2715
2721
2724
2730
2736
2737
2747
2748
2750
2754
2756
2758
2760
2768
2770
2772
2786
2787
2790
2792
2795
2798
2800
2803
2804
2807
2808
2809
2811
2812
2813
2816
2825
2826
2827
2836
2837
2841
2844
2847
2850
2859
2860
2861
2862
2869
2870
2871
2874
2876
2877
2884
2896
2897
2899
2905
2908
2910
2911
2914
2915
2919
2924
2926
2940
2941
2944
2946
2959
2967
2978
2981
2990
2992
3000
3002
3004
3005
3006
3010
3016
3017
3018
3019
3022
3030
3031
3033
3036
3039
3050
3066
3071
3073
3077
3079
3080
3081
3083
3084
3086
3095
3101
3105
3110
3115
3117
3118
3119
3123
3128
3129
3133
3144
3152
3168
3171
3177
3182
3194
3197
3198
3199
3204
3208
3213
3220
3231
3251
3254
3257
3261
3265
3274
3277
3279
3281
3285
3287
3290
3296
3297
3299
3301
3302
3303
3305
3306
3307
3308
3311
3316
3318
3321
3327
3328
3336
3337
3343
3348
3350
3351
3352
3353
3355
3360
3361
3362
3363
3368
3371
3375
3381
3382
3383
3384
3386
3387
3390
3392
3393
3399
3403
3404
3414
3418
3419
3423
3426
3427
3442
3443
3446
3456
3460
3461
3462
3470
3471
3476
3478
3480
3482
3483
3486
3489
3493
3498
3502
3507
3515
3516
3519
3523
3530
3531
3538
3544
3545
3546
3554
3555
3559
3560
3562
3567
3568
3573
3580
3581
3583
3591
3593
3606
3608
3613
3614
3616
3620
3623
3627
3631
3632
3636
3637
3639
3640
3648
3652
3656
3660
3661
3662
3666
3668
3673
3676
3681
3683
3685
3689
3693
3694
3705
3706
3710
3713
3715
3724
3726
3730
3731
3734
3736
3744
3748
3750
3751
3755
3759
3762
3777
3796
3800
3802
3806
3808
3810
3813
3814
3820
3821
3822
3827
3830
3835
3839
3842
3851
3852
3857
3858
3860
3865
3867
3872
3874
3876
3879
3885
3890
3892
3894
3907
3922
3924
3926
3928
3931
3933
3935
3936
3940
3942
3945
3946
3948
3949
3957
3958
3968
3972
3974
3976
3978
3981
3987
3994
4000
4007
4008
4014
4023
4026
4035
4036
4042
4043
4049
4053
4062
4068
4070
4074
4075
4077
4079
4087
4088
4094
4097
4099
4103
4104
4105
4108
4110
4118
4120
4122
4127
4133
4143
4145
4147
4148
4150
4159
4165
4166
4168
4177
4178
4180
4189
4196
4204
4206
4207
4210
4220
4222
4228
4229
4230
4233
4238
4247
4252
4253
4259
4271
4273
4281
4283
4289
4303
4305
4307
4309
4311
4314
4317
4319
4322
4325
4327
4330
4331
4334
4336
4337
4338
4340
4343
4350
4355
4364
4368
4370
4372
4375
4389
4393
4394
4397
4399
4404
4407
4412
4415
4418
4421
4423
4424
4425
4429
4430
4431
4432
4433
4434
4436
4437
4438
4443
4453
4455
4459
4461
4472
4480
4483
4484
4486
4488
4495
4497
4508
4509
4510
4513
4518
4521
4524
4529
4535
4538
4539
4544
4545
4552
4553
4556
4565
4570
4577
4579
4583
4584
4588
4589
4591
4599
4604
4615
4620
4629
4634
4635
4636
4637
4646
4650
4651
4654
4655
4665
4666
4670
4675
4676
4677
4683
4687
4688
4689
4695
4697
4699
4700
4705
4714
4715
4716
4719
4727
4728
4730
4732
4743
4749
4750
4752
4753
4754
4757
4762
4764
4765
4768
4769
4771
4775
4776
4782
4784
4791
4793
4812
4813
4816
4818
4820
4821
4825
4827
4833
4835
4836
4839
4840
4844
4848
4851
4853
4858
4859
4863
4867
4873
4874
4875
4879
4881
4882
4885
4890
4894
4901
4904
4927
4929
4932
4938
4940
4944
4948
4951
4954
4961
4964
4965
4969
4971
4974
4977
4982
4983
4985
4989
4992
4993
4998
4999
5003
5004
5008
5011
5013
5015
5016
5017
5020
5027
5028
5031
5034
5039
5044
5045
5047
5050
5052
5053
5058
5059
5061
5065
5066
5070
5071
5073
5078
5080
5082
5086
5088
5091
5093
5095
5097
5100
5102
5105
5111
5118
5123
5125
5127
5128
5130
5136
5143
5147
5154
5158
5159
5164
5165
5171
5178
5180
5181
5183
5186
5198
5203
5204
5205
5214
5218
5222
5223
5228
5229
5233
5235
5239
5247
5250
5251
5258
5260
5269
5275
5276
5280
5284
5288
5298
5299
5303
5305
5314
5316
5318
5321
5322
5323
5327
5328
5331
5339
5348
5349
5353
5357
5358
5360
5361
5363
5367
5372
5373
5375
5385
5386
5400
5408
5414
5431
5432
5447
5453
5454
5468
5470
5477
5479
5483
5484
5485
5488
5494
5495
5497
5498
5500
5502
5519
5520
5521
5525
5527
5528
5535
5538
5544
5545
5548
5552
5553
5555
5557
5558
5559
5562
5566
5569
5570
5573
5578
5583
5593
5595
5597
5599
5600
5605
5612
5622
5623
5624
5626
5627
5628
5633
5634
5635
5636
5638
5648
5649
5656
5658
5659
5661
5662
5664
5665
5673
5677
5683
5692
5694
5696
5697
5698
5701
5702
5703
5705
5707
5713
5714
5715
5716
5717
5720
5725
5732
5734
5735
5742
5745
5747
5749
5750
5751
5755
5756
5760
5766
5768
5774
5781
5790
5802
5806
5808
5818
5822
5825
5826
5827
5829
5831
5832
5833
5836
5838
5839
5842
5844
5846
5848
5849
5850
5854
5861
5862
5863
5869
5881
5884
5891
5892
5897
5898
5899
5903
5910
5913
5919
5927
5929
5932
5941
5945
5955
5956
5958
5963
5973
5980
5981
5982
5983
5987
5989
6001
6004
6015
6019
6020
6021
6028
6029
6030
6031
6032
6033
6036
6043
6044
6045
6050
6051
6053
6055
6058
6062
6065
6068
6073
6077
6078
6079
6087
6089
6090
6091
6100
6105
6107
6108
6113
6121
6122
6125
6131
6135
6136
6145
6153
6159
6160
6169
6171
6175
6180
6185
6186
6189
6192
6197
6200
6205
6207
6208
6212
6215
6218
6221
6224
6225
6226
6231
6232
6235
6240
6242
6247
6256
6265
6268
6271
6272
6284
6286
6290
6292
6295
6296
6297
6298
6303
6304
6310
6315
6321
6323
6326
6331
6332
6334
6336
6338
6344
6345
6346
6347
6348
6352
6353
6356
6359
6367
6370
6375
6376
6383
6385
6387
6393
6394
6395
6396
6397
6401
6407
6408
6410
6411
6412
6414
6415
6418
6419
6420
6428
6430
6435
6436
6441
6442
6447
6448
6449
6452
6454
6455
6457
6460
6470
6471
6472
6474
6476
6478
6479
6480
6482
6485
6492
6493
6494
6499
6505
6508
6511
6513
6517
6520
6521
6527
6528
6533
6534
6540
6541
6543
6546
6547
6551
6552
6556
6558
6564
6568
6569
6571
6573
6574
6588
6590
6603
6606
6607
6613
6614
6616
6617
6618
6621
6623
6624
6627
6631
6638
6642
6643
6648
6649
6653
6654
6657
6660
6663
6664
6666
6670
6675
6679
6683
6684
6689
6692
6700
6707
6709
6710
6713
6714
6720
6733
6734
6736
6737
6739
6741
6744
6745
6746
6752
6763
6764
6768
6771
6773
6780
6781
6789
6791
6794
6796
6800
6805
6810
6811
6815
6817
6818
6819
6820
6826
6832
6843
6844
6853
6855
6860
6864
6872
6879
6880
6881
6886
6889
6890
6891
6896
6898
6909
6917
6920
6926
6928
6929
6931
6932
6934
6935
6941
6943
6944
6945
6947
6950
6953
6961
6964
6967
6970
6974
6978
6980
6981
6984
6986
6988
6992
6995
7002
7019
7027
7033
7040
7049
7050
7053
7057
7059
7060
7067
7079
7080
7081
7083
7085
7087
7092
7094
7098
7099
7100
7102
7106
7107
7108
7109
7113
7114
7117
7119
7123
7125
7129
7143
7148
7150
7152
7156
7162
7163
7167
7168
7171
7177
7178
7183
7186
7191
7194
7195
7199
7203
7204
7206
7210
7217
7219
7223
7224
7230
7235
7237
7241
7249
7255
7256
7261
7262
7268
7271
7275
7279
7280
7282
7289
7293
7294
7295
7298
7302
7303
7306
7310
7311
7312
7316
7317
7320
7323
7325
7332
7342
7347
7351
7354
7360
7362
7363
7364
7367
7368
7370
7372
7378
7380
7383
7384
7385
7390
7391
7397
7398
7404
7407
7408
7410
7411
7412
7413
7416
7421
7422
7426
7429
7431
7436
7437
7458
7459
7464
7465
7473
7476
7477
7478
7479
7481
7484
7488
7490
7495
7497
7498
7499
7500
7503
7504
7506
7508
7509
7511
7513
7515
7519
7521
7526
7536
7540
7541
7542
7547
7557
7559
7562
7565
7574
7575
7580
7586
7589
7590
7596
7600
7602
7606
7608
7611
7615
7616
7623
7627
7628
7630
7632
7635
7643
7645
7648
7652
7654
7656
7657
7667
7671
7676
7682
7691
7694
7697
7702
7705
7710
7719
7721
7722
7725
7726
7727
7731
7739
7742
7743
7744
7749
7759
7762
7770
7771
7774
7780
7781
7783
7784
7789
7796
7799
7800
7809
7814
7815
7816
7820
7825
7830
7833
7837
7838
7839
7863
7865
7867
7868
7871
7872
7874
7881
7883
7888
7889
7891
7894
7904
7906
7907
7915
7918
7923
7924
7929
7936
7937
7939
7943
7946
7947
7950
7955
7964
7972
7979
7980
7984
7986
7992
7995
7996
7997
8000
8003
8006
8008
8013
8015
8022
8023
8025
8033
8034
8039
8040
8042
8045
8047
8048
8052
8053
8055
8057
8061
8066
8068
8070
8074
8076
8077
8081
8086
8091
8093
8096
8098
8099
8100
8101
8113
8115
8122
8127
8128
8134
8135
8142
8145
8151
8152
8160
8163
8165
8166
8169
8181
8183
8196
8197
8202
8209
8215
8217
8226
8230
8232
8242
8243
8245
8247
8248
8250
8252
8255
8260
8261
8262
8271
8272
8278
8279
8283
8289
8291
8294
8296
8297
8299
8303
8305
8307
8310
8313
8317
8318
8320
8324
8332
8343
8346
8347
8350
8352
8353
8356
8357
8358
8361
8364
8365
8370
8373
8375
8376
8381
8384
8389
8397
8405
8406
8407
8409
8411
8413
8414
8417
8419
8420
8432
8434
8435
8446
8447
8448
8451
8452
8455
8457
8465
8470
8471
8473
8475
8477
8488
8491
8492
8493
8495
8499
8511
8523
8525
8530
8532
8533
8537
8542
8543
8546
8548
8550
8552
8554
8558
8559
8565
8571
8572
8576
8580
8583
8586
8591
8592
8593
8599
8601
8606
8611
8618
8620
8623
8626
8632
8637
8639
8640
8641
8643
8644
8648
8651
8652
8654
8655
8656
8659
8662
8664
8669
8675
8684
8689
8690
8692
8695
8698
8699
8707
8708
8709
8712
8716
8720
8733
8736
8743
8752
8756
8760
8762
8776
8777
8778
8782
8788
8790
8793
8794
8795
8796
8797
8804
8805
8811
8815
8818
8820
8823
8824
8828
8835
8842
8843
8846
8847
8852
8854
8855
8857
8858
8861
8867
8874
8876
8879
8880
8886
8887
8892
8900
8901
8903
8912
8913
8915
8919
8922
8926
8928
8929
8930
8936
8944
8946
8948
8953
8955
8961
8964
8965
8966
8972
8975
8977
8981
8982
8985
8986
8987
8989
8991
8993
8994
9000
9002
9006
9010
9017
9021
9022
9023
9030
9033
9034
9035
9036
9041
9047
9049
9053
9056
9069
9073
9074
9083
9085
9086
9098
9102
9103
9107
9126
9127
9128
9130
9137
9146
9147
9155
9156
9158
9161
9166
9168
9170
9171
9172
9184
9185
9186
9195
9199
9202
9206
9207
9209
9210
9215
9216
9219
9221
9226
9227
9228
9231
9238
9240
9243
9244
9246
9249
9255
9264
9268
9273
9280
9281
9285
9288
9294
9296
9298
9307
9310
9311
9313
9315
9318
9321
9323
9324
9325
9326
9331
9332
9338
9345
9348
9350
9352
9358
9359
9363
9364
9367
9369
9378
9380
9384
9385
9387
9392
9399
9401
9414
9421
9423
9425
9429
9430
9432
9433
9434
9439
9442
9450
9453
9454
9456
9460
9462
9467
9469
9470
9472
9475
9476
9477
9480
9482
9484
9486
9491
9494
9503
9505
9506
9511
9519
9530
9535
9536
9537
9538
9541
9543
9548
9550
9552
9559
9563
9565
9566
9571
9575
9580
9586
9587
9594
9595
9596
9598
9603
9606
9608
9610
9611
9616
9619
9625
9626
9631
9645
9647
9653
9654
9656
9658
9659
9660
9662
9666
9671
9672
9674
9676
9684
9686
9692
9696
9699
9700
9704
9705
9712
9714
9715
9723
9727
9731
9736
9737
9739
9740
9743
9746
9747
9751
9752
9757
9764
9765
9768
9772
9778
9781
9782
9785
9789
9791
9792
9797
9801
9806
9811
9812
9816
9820
9822
9823
9825
9827
9829
9830
9834
9836
9837
9838
9839
9845
9846
9848
9849
9851
9852
9860
9862
9877
9879
9881
9884
9889
9890
9892
9897
9898
9903
9912
9914
9918
9920
9921
9924
9926
9929
9930
9931
9932
