1
2
9
10
13
15
17
18
19
22
24
28
29
30
31
32
33
34
35
36
37
38
39
44
45
47
50
52
53
55
56
57
59
60
62
63
66
68
69
70
71
74
79
82
83
84
85
95
97
102
104
105
108
110
112
113
118
119
128
129
131
132
133
135
137
141
142
143
144
145
149
154
162
166
174
177
178
180
181
187
188
190
193
196
199
201
203
205
207
209
210
214
220
223
224
225
227
230
242
246
247
248
251
256
261
262
265
266
270
271
272
274
275
278
280
287
289
294
295
296
297
298
302
305
308
315
323
327
332
339
340
342
344
351
352
354
358
362
367
368
370
371
372
374
375
380
384
385
388
389
390
396
397
398
399
400
401
402
404
405
413
417
420
422
426
427
428
430
432
437
438
441
448
449
452
454
459
463
464
468
469
470
477
479
480
489
490
492
494
495
500
504
507
508
510
511
515
518
520
527
530
532
537
538
540
542
543
545
547
549
552
554
555
556
557
561
567
569
571
572
573
574
577
578
580
581
582
584
585
587
589
592
593
597
602
603
605
608
609
616
617
618
622
624
636
639
642
643
648
650
651
656
659
663
665
667
668
669
673
674
678
679
681
682
686
688
689
690
691
696
697
698
699
701
705
706
713
714
715
716
719
722
723
728
730
732
735
737
738
740
742
746
750
756
758
763
764
768
769
772
775
776
778
780
781
783
788
789
792
797
800
801
802
807
808
810
811
820
821
823
825
835
836
840
841
844
846
848
852
854
860
861
862
863
864
866
867
868
870
874
876
877
884
886
889
892
894
899
902
903
905
907
908
912
913
914
917
918
919
923
928
930
933
936
939
942
943
944
952
955
957
959
966
968
971
977
989
991
992
994
996
997
999
1004
1006
1008
1009
1010
1015
1016
1017
1018
1019
1020
1022
1024
1027
1031
1032
1033
1035
1037
1038
1043
1044
1046
1053
1058
1061
1062
1068
1072
1073
1074
1076
1079
1081
1082
1094
1098
1108
1111
1116
1117
1118
1126
1129
1130
1131
1132
1135
1140
1145
1148
1149
1153
1155
1156
1157
1158
1159
1162
1166
1173
1175
1185
1186
1187
1190
1192
1196
1198
1199
1203
1205
1206
1209
1212
1216
1217
1224
1227
1229
1230
1231
1232
1234
1236
1239
1240
1244
1246
1247
1248
1249
1250
1253
1260
1263
1267
1268
1272
1274
1278
1279
1290
1291
1295
1297
1299
1304
1308
1317
1320
1326
1331
1334
1340
1344
1345
1353
1354
1355
1357
1358
1360
1363
1367
1369
1370
1371
1372
1375
1377
1380
1384
1387
1388
1390
1391
1392
1393
1395
1401
1402
1409
1411
1413
1415
1416
1417
1421
1422
1425
1426
1429
1431
1438
1440
1443
1445
1447
1450
1456
1458
1459
1462
1466
1469
1483
1494
1496
1498
1501
1503
1504
1507
1510
1522
1532
1542
1544
1546
1548
1550
1554
1555
1560
1561
1571
1572
1574
1577
1583
1586
1589
1594
1595
1601
1602
1607
1608
1610
1613
1620
1624
1627
1631
1636
1637
1640
1647
1654
1655
1656
1658
1659
1660
1661
1663
1664
1665
1668
1669
1670
1671
1673
1674
1675
1676
1677
1681
1682
1686
1688
1692
1693
1694
1696
1698
1700
1701
1706
1709
1712
1713
1716
1724
1726
1727
1732
1734
1736
1737
1739
1750
1753
1758
1763
1765
1768
1770
1771
1774
1777
1780
1781
1782
1783
1784
1785
1791
1795
1796
1802
1804
1805
1806
1807
1808
1810
1812
1814
1819
1823
1824
1829
1831
1837
1839
1840
1842
1844
1845
1846
1848
1855
1857
1858
1865
1867
1869
1874
1876
1878
1879
1880
1887
1888
1889
1891
1893
1894
1902
1906
1910
1912
1914
1915
1917
1923
1931
1935
1937
1938
1940
1948
1952
1957
1960
1965
1968
1971
1975
1976
1980
1981
1989
1990
1991
1993
1997
1998
1999
2011
2019
2026
2029
2032
2034
2036
2037
2042
2043
2044
2047
2050
2051
2053
2058
2059
2066
2068
2069
2075
2077
2080
2085
2087
2090
2094
2096
2099
2102
2103
2104
2118
2122
2124
2127
2135
2137
2138
2143
2145
2146
2147
2148
2151
2154
2155
2157
2159
2161
2162
2163
2164
2165
2166
2167
2169
2171
2179
2180
2181
2185
2186
2190
2191
2197
2198
2199
2200
2201
2202
2203
2210
2212
2216
2217
2219
2221
2223
2224
2226
2235
2236
2237
2238
2241
2244
2253
2258
2259
2260
2261
2265
2268
2270
2273
2288
2292
2294
2300
2305
2308
2310
2317
2323
2324
2325
2328
2330
2335
2337
2338
2339
2347
2350
2356
2362
2365
2371
2373
2378
2379
2380
2381
2382
2383
2385
2388
2393
2398
2399
2402
2407
2410
2413
2414
2417
2419
2425
2426
2427
2428
2429
2433
2442
2443
2444
2447
2452
2454
2455
2463
2465
2468
2480
2488
2495
2496
2501
2503
2505
2509
2510
2514
2515
2517
2518
2519
2522
2525
2532
2534
2537
2538
2539
2542
2545
2547
2552
2553
2555
2557
2558
2559
2565
2567
2571
2574
2576
2582
2585
2596
2597
2600
2602
2603
2605
2607
2608
2609
2611
2612
2615
2622
2623
2626
2630
2634
2635
2637
2640
2644
2648
2649
2653
2654
2655
2657
2663
2664
2665
2666
2668
2674
2676
2688
2691
2693
2695
2697
2698
2700
2702
2704
2705
2706
2707
2709
2714
2715
2717
2719
2722
2723
2725
2726
2727
2728
2735
2738
2741
2742
2743
2748
2753
2758
2759
2761
2762
2763
2764
2770
2771
2772
2775
2776
2781
2783
2784
2786
2794
2809
2818
2821
2823
2824
2825
2830
2831
2839
2844
2845
2846
2847
2852
2853
2861
2865
2866
2867
2868
2869
2871
2872
2874
2876
2881
2882
2883
2884
2886
2889
2893
2894
2900
2903
2911
2918
2921
2924
2925
2930
2944
2946
2952
2954
2961
2962
2976
2978
2980
2983
2987
2989
2992
2997
2999
3002
3020
3022
3024
3027
3030
3041
3043
3045
3047
3048
3051
3053
3054
3057
3058
3062
3063
3066
3068
3070
3071
3072
3076
3077
3078
3079
3083
3085
3086
3088
3089
3090
3096
3098
3099
3101
3107
3115
3116
3118
3119
3121
3123
3128
3129
3131
3133
3142
3145
3146
3150
3151
3154
3157
3158
3160
3165
3168
3169
3170
3173
3176
3180
3181
3182
3184
3185
3189
3191
3198
3205
3207
3209
3212
3218
3220
3225
3227
3228
3230
3233
3234
3236
3237
3238
3239
3240
3241
3242
3243
3244
3247
3248
3249
3251
3253
3257
3258
3262
3263
3266
3267
3268
3269
3270
3275
3277
3279
3281
3282
3287
3288
3290
3293
3295
3298
3299
3300
3306
3307
3310
3314
3316
3317
3318
3319
3320
3327
3332
3334
3335
3336
3337
3343
3345
3346
3350
3355
3358
3359
3361
3362
3365
3368
3370
3371
3374
3377
3379
3393
3394
3397
3399
3402
3406
3409
3411
3417
3418
3419
3422
3424
3429
3430
3437
3440
3442
3443
3447
3456
3457
3462
3463
3469
3474
3475
3479
3483
3488
3490
3492
3493
3494
3505
3508
3510
3515
3520
3525
3529
3530
3533
3537
3545
3546
3550
3552
3557
3560
3561
3567
3569
3570
3571
3572
3574
3575
3576
3583
3586
3589
3591
3599
3607
3614
3617
3618
3619
3622
3627
3641
3644
3651
3664
3669
3670
3675
3677
3680
3682
3692
3697
3698
3700
3701
3704
3705
3710
3716
3721
3722
3724
3730
3731
3733
3736
3738
3741
3743
3747
3748
3752
3753
3756
3760
3762
3763
3764
3766
3769
3770
3772
3775
3777
3780
3782
3786
3787
3788
3789
3792
3794
3801
3803
3804
3808
3809
3811
3812
3813
3818
3819
3822
3824
3828
3829
3830
3835
3838
3841
3842
3845
3847
3849
3850
3855
3856
3858
3859
3862
3863
3864
3865
3867
3868
3871
3873
3874
3876
3878
3879
3883
3896
3899
3900
3902
3905
3907
3915
3917
3919
3922
3924
3925
3928
3931
3935
3939
3944
3946
3947
3954
3955
3956
3958
3960
3971
3973
3974
3975
3978
3980
3983
3984
3985
3991
3992
3995
3997
4011
4028
4030
4032
4034
4035
4036
4040
4041
4043
4044
4052
4057
4068
4069
4070
4071
4072
4074
4077
4081
4084
4086
4091
4092
4096
4097
4099
4105
4108
4109
4121
4122
4123
4125
4126
4127
4136
4137
4138
4142
4146
4148
4152
4153
4156
4158
4159
4161
4178
4181
4187
4190
4191
4200
4201
4204
4206
4210
4211
4215
4230
4233
4235
4237
4238
4240
4244
4250
4256
4261
4262
4268
4275
4279
4280
4281
4284
4290
4292
4294
4296
4299
4302
4307
4310
4311
4312
4314
4318
4319
4321
4327
4331
4333
4341
4345
4351
4352
4354
4355
4357
4358
4359
4365
4371
4376
4380
4385
4386
4390
4394
4395
4402
4403
4408
4414
4418
4423
4433
4434
4442
4445
4459
4467
4469
4478
4491
4493
4494
4501
4504
4508
4512
4514
4517
4519
4521
4522
4524
4525
4529
4532
4538
4539
4542
4544
4545
4546
4552
4558
4560
4563
4571
4572
4573
4576
4577
4581
4583
4588
4589
4596
4600
4602
4607
4611
4612
4613
4614
4615
4620
4631
4636
4638
4639
4640
4643
4645
4647
4649
4651
4652
4654
4657
4664
4667
4672
4673
4676
4680
4681
4682
4683
4687
4694
4697
4699
4700
4702
4703
4706
4707
4710
4714
4716
4720
4722
4723
4729
4731
4737
4740
4741
4748
4749
4753
4755
4756
4757
4760
4762
4763
4772
4774
4776
4780
4782
4783
4784
4787
4789
4790
4791
4795
4796
4797
4799
4808
4811
4813
4816
4820
4822
4823
4827
4831
4832
4835
4837
4838
4839
4844
4846
4848
4849
4850
4856
4860
4861
4862
4864
4865
4866
4868
4874
4876
4882
4883
4886
4888
4893
4896
4898
4901
4902
4906
4907
4912
4914
4915
4917
4918
4920
4925
4926
4928
4930
4931
4932
4934
4935
4937
4938
4939
4940
4944
4945
4947
4948
4954
4957
4960
4962
4971
4974
4975
4978
4981
4984
4987
4988
4989
4995
4997
5000
5001
5002
5007
5008
5012
5013
5017
5021
5023
5025
5028
5038
5039
5041
5044
5051
5053
5054
5057
5058
5059
5062
5063
5065
5066
5068
5071
5074
5076
5077
5078
5079
5082
5084
5085
5088
5096
5097
5099
5100
5105
5106
5107
5111
5112
5114
5115
5125
5127
5128
5131
5141
5144
5150
5152
5153
5154
5155
5157
5161
5162
5164
5165
5168
5169
5175
5178
5183
5186
5189
5196
5200
5201
5205
5206
5207
5210
5211
5215
5216
5221
5223
5224
5226
5227
5229
5230
5231
5234
5235
5237
5243
5246
5249
5250
5251
5252
5253
5256
5258
5268
5271
5276
5279
5282
5284
5285
5287
5301
5306
5310
5312
5314
5316
5324
5331
5333
5337
5345
5350
5351
5353
5355
5357
5358
5364
5366
5368
5369
5370
5377
5380
5382
5384
5389
5393
5402
5406
5410
5412
5414
5418
5419
5420
5422
5424
5428
5430
5436
5438
5440
5441
5443
5446
5451
5452
5454
5456
5459
5460
5467
5470
5472
5476
5479
5482
5483
5484
5486
5487
5494
5496
5497
5501
5503
5505
5507
5508
5510
5511
5512
5518
5519
5520
5521
5527
5528
5529
5531
5532
5534
5535
5536
5539
5543
5545
5550
5552
5554
5556
5558
5561
5562
5565
5567
5569
5577
5579
5581
5582
5585
5588
5590
5593
5597
5603
5605
5606
5608
5611
5620
5621
5622
5624
5627
5629
5632
5634
5635
5636
5642
5643
5644
5645
5655
5657
5658
5663
5665
5666
5676
5677
5678
5684
5686
5687
5691
5692
5693
5696
5700
5701
5703
5707
5709
5710
5716
5718
5719
5721
5724
5728
5730
5731
5732
5734
5739
5747
5748
5749
5751
5754
5757
5760
5761
5763
5764
5765
5766
5768
5769
5770
5773
5775
5777
5779
5786
5788
5790
5796
5798
5804
5810
5817
5820
5826
5828
5829
5830
5831
5832
5835
5838
5841
5842
5844
5850
5851
5852
5854
5855
5860
5864
5868
5869
5870
5878
5880
5890
5899
5901
5906
5908
5914
5915
5919
5920
5923
5924
5925
5926
5927
5930
5932
5936
5943
5949
5950
5954
5957
5962
5973
5976
5977
5980
5983
5984
5986
5993
5994
5995
5996
5999
6000
6005
6007
6017
6021
6030
6032
6033
6040
6046
6048
6055
6057
6059
6060
6061
6064
6065
6066
6067
6068
6080
6085
6088
6090
6098
6101
6103
6107
6108
6111
6114
6126
6133
6138
6139
6146
6147
6149
6154
6157
6158
6162
6163
6173
6174
6177
6180
6183
6184
6186
6188
6192
6199
6200
6201
6202
6205
6207
6214
6217
6218
6220
6224
6227
6230
6234
6235
6236
6238
6239
6241
6246
6249
6250
6252
6254
6256
6259
6263
6266
6270
6272
6273
6275
6276
6277
6281
6283
6285
6289
6292
6295
6298
6301
6302
6306
6309
6311
6312
6313
6318
6320
6324
6325
6331
6332
6334
6338
6340
6342
6344
6345
6347
6348
6349
6350
6352
6354
6355
6356
6357
6358
6359
6360
6363
6365
6367
6369
6373
6374
6375
6379
6380
6382
6385
6387
6389
6392
6394
6395
6400
6402
6403
6404
6405
6406
6407
6408
6411
6416
6418
6419
6426
6427
6430
6436
6437
6443
6445
6448
6449
6450
6452
6454
6455
6458
6463
6471
6474
6478
6487
6490
6491
6492
6495
6497
6499
6501
6503
6505
6506
6510
6513
6519
6522
6525
6526
6532
6536
6539
6541
6546
6551
6553
6554
6556
6563
6565
6567
6568
6569
6570
6572
6574
6575
6576
6577
6578
6580
6582
6589
6590
6594
6596
6599
6600
6605
6607
6612
6614
6617
6618
6624
6627
6628
6631
6632
6634
6635
6640
6643
6646
6651
6653
6657
6658
6659
6664
6666
6669
6670
6680
6682
6684
6693
6694
6695
6697
6698
6699
6700
6704
6706
6708
6710
6713
6714
6715
6718
6719
6740
6741
6743
6746
6752
6754
6756
6761
6763
6764
6765
6768
6769
6771
6772
6774
6782
6787
6792
6800
6801
6805
6808
6810
6811
6813
6821
6825
6829
6834
6836
6838
6840
6842
6846
6847
6849
6852
6853
6856
6864
6865
6872
6880
6883
6884
6887
6888
6890
6891
6892
6898
6905
6908
6909
6910
6912
6915
6919
6922
6923
6924
6925
6929
6931
6935
6950
6951
6953
6955
6958
6970
6974
6975
6977
6990
6992
6994
6998
7001
7006
7019
7022
7024
7026
7027
7030
7036
7038
7039
7041
7042
7043
7053
7056
7060
7072
7073
7075
7085
7089
7091
7093
7095
7096
7098
7103
7107
7108
7110
7112
7117
7128
7129
7130
7131
7135
7138
7140
7142
7143
7146
7148
7149
7152
7157
7159
7160
7164
7165
7167
7173
7176
7179
7189
7203
7205
7206
7208
7215
7216
7218
7223
7228
7229
7230
7236
7237
7238
7239
7241
7242
7243
7245
7246
7247
7248
7249
7251
7253
7258
7259
7260
7262
7263
7264
7265
7266
7267
7268
7270
7271
7274
7278
7282
7284
7285
7291
7295
7310
7321
7322
7324
7326
7330
7332
7333
7337
7338
7339
7343
7344
7345
7347
7348
7351
7352
7354
7356
7362
7364
7368
7370
7379
7381
7382
7386
7388
7392
7393
7395
7397
7404
7407
7416
7419
7420
7423
7425
7430
7431
7432
7435
7445
7446
7451
7455
7458
7462
7466
7470
7471
7472
7474
7475
7477
7478
7487
7490
7493
7495
7498
7499
7500
7505
7508
7510
7512
7513
7514
7517
7518
7519
7523
7525
7526
7532
7533
7534
7536
7539
7540
7541
7552
7553
7556
7558
7560
7561
7568
7572
7573
7579
7580
7584
7585
7587
7591
7594
7599
7603
7605
7607
7611
7620
7621
7623
7625
7626
7629
7636
7637
7639
7640
7643
7645
7647
7650
7654
7655
7657
7658
7660
7661
7663
7664
7665
7666
7668
7669
7670
7671
7676
7677
7679
7683
7685
7686
7687
7690
7691
7693
7695
7696
7705
7706
7709
7713
7714
7715
7726
7734
7748
7749
7755
7757
7760
7762
7763
7764
7766
7767
7774
7780
7782
7784
7785
7786
7793
7794
7795
7797
7798
7799
7806
7807
7812
7817
7821
7823
7827
7828
7830
7839
7840
7841
7842
7848
7855
7856
7857
7861
7870
7890
7892
7894
7901
7902
7904
7905
7906
7908
7909
7910
7911
7912
7914
7915
7916
7917
7922
7924
7925
7926
7927
7928
7933
7936
7937
7941
7944
7948
7949
7951
7953
7954
7956
7957
7959
7962
7964
7965
7966
7972
7973
7976
7978
7979
7982
7983
7984
7985
7986
7987
7988
7989
7991
7994
7997
7999
8002
8004
8005
8008
8010
8021
8026
8028
8029
8034
8035
8040
8041
8042
8046
8047
8048
8051
8052
8055
8056
8058
8060
8062
8064
8065
8067
8069
8072
8080
8087
8090
8096
8105
8108
8111
8112
8127
8130
8132
8134
8138
8139
8144
8145
8146
8147
8150
8151
8152
8159
8162
8166
8168
8169
8170
8171
8173
8174
8177
8180
8181
8183
8184
8187
8189
8192
8195
8200
8203
8206
8210
8211
8213
8216
8221
8222
8224
8225
8226
8227
8229
8230
8231
8232
8241
8244
8252
8255
8256
8257
8261
8262
8263
8264
8266
8273
8278
8281
8282
8284
8286
8287
8292
8297
8299
8300
8304
8307
8310
8315
8317
8321
8323
8326
8331
8337
8341
8343
8344
8348
8349
8353
8357
8359
8363
8364
8370
8396
8397
8398
8399
8401
8402
8405
8408
8411
8414
8417
8418
8420
8421
8422
8424
8425
8430
8435
8437
8438
8442
8443
8445
8446
8448
8451
8454
8457
8458
8477
8485
8489
8491
8493
8503
8504
8505
8509
8511
8513
8515
8516
8517
8527
8529
8533
8535
8540
8544
8550
8551
8553
8554
8555
8557
8560
8564
8569
8571
8572
8574
8575
8576
8583
8586
8590
8591
8592
8593
8595
8596
8598
8599
8600
8603
8605
8606
8608
8610
8611
8619
8625
8628
8633
8636
8639
8640
8645
8649
8651
8652
8666
8668
8671
8672
8683
8684
8685
8699
8700
8703
8709
8713
8714
8715
8717
8723
8726
8731
8733
8736
8745
8747
8753
8755
8757
8758
8762
8764
8765
8766
8769
8773
8775
8777
8778
8783
8785
8789
8797
8803
8807
8809
8812
8814
8815
8816
8817
8819
8820
8826
8833
8838
8839
8840
8843
8847
8850
8854
8856
8858
8859
8860
8862
8864
8875
8878
8884
8889
8893
8897
8899
8907
8912
8913
8918
8921
8922
8930
8939
8944
8946
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8967
8972
8974
8976
8979
8980
8983
8984
8985
8988
8991
8993
8999
9001
9005
9006
9009
9013
9014
9020
9021
9026
9032
9033
9035
9036
9037
9040
9044
9048
9051
9060
9065
9070
9081
9095
9098
9101
9103
9107
9108
9111
9112
9116
9119
9120
9121
9123
9124
9129
9132
9133
9138
9148
9150
9154
9156
9160
9163
9164
9166
9167
9172
9173
9174
9175
9177
9178
9180
9183
9184
9187
9188
9191
9195
9203
9211
9212
9213
9214
9215
9220
9221
9223
9224
9225
9226
9229
9231
9237
9238
9240
9243
9245
9253
9258
9259
9260
9262
9265
9266
9270
9277
9278
9281
9285
9286
9287
9288
9292
9295
9296
9300
9302
9314
9316
9317
9322
9323
9328
9330
9332
9336
9340
9341
9347
9349
9350
9354
9355
9357
9358
9360
9361
9363
9367
9370
9373
9376
9380
9381
9384
9385
9386
9391
9395
9396
9403
9404
9411
9412
9437
9439
9441
9448
9449
9451
9453
9457
9466
9469
9471
9472
9473
9474
9475
9476
9479
9480
9486
9487
9488
9494
9496
9505
9510
9516
9520
9523
9524
9528
9533
9536
9540
9544
9550
9553
9554
9556
9557
9558
9559
9560
9561
9563
9568
9569
9571
9572
9574
9580
9582
9583
9585
9586
9588
9589
9590
9591
9595
9596
9598
9599
9600
9601
9603
9610
9612
9614
9620
9621
9628
9632
9633
9639
9640
9645
9653
9655
9657
9658
9660
9665
9670
9673
9675
9682
9688
9694
9698
9699
9704
9705
9707
9711
9714
9716
9718
9719
9726
9729
9735
9736
9738
9739
9743
9748
9750
9751
9752
9754
9755
9757
9782
9784
9786
9787
9790
9791
9793
9794
9797
9803
9806
9809
9810
9812
9816
9817
9823
9827
9828
9831
9833
9834
9835
9838
9839
9841
9842
9845
9846
9847
9849
9850
9852
9853
9856
9857
9859
9860
9865
9868
9870
9874
9877
9883
9885
9891
9894
9895
9897
9898
9900
9901
9902
9904
9906
9907
9909
9910
9912
9916
9917
9918
9919
9925
9932
9934
9935
9938
9939
9947
9955
9957
9958
9961
9964
9965
9970
9973
9977
9984
9992
9993
9994
9995
10000