14
18
22
23
24
25
26
27
29
30
32
33
34
36
39
40
41
47
60
62
64
67
68
71
73
74
78
79
82
83
84
87
88
90
93
98
99
102
105
108
113
114
115
116
117
118
125
127
129
134
141
146
156
158
159
160
161
164
166
174
175
178
188
189
191
193
197
199
200
201
204
207
208
212
213
214
219
220
226
236
237
240
243
249
253
260
264
267
270
272
275
276
277
279
285
286
292
294
299
300
301
303
306
307
312
313
316
318
320
322
323
325
329
331
336
338
339
340
342
344
346
348
351
356
357
358
361
362
363
364
365
367
369
371
372
373
374
375
377
378
379
381
383
386
387
392
393
394
396
397
398
403
407
408
413
414
418
427
432
434
439
450
451
453
466
473
478
487
492
493
502
506
507
508
509
519
520
521
523
524
525
526
527
539
542
543
544
547
555
558
565
568
569
576
577
580
581
590
603
606
610
613
615
618
619
620
624
626
627
628
629
631
632
636
643
645
646
650
652
654
656
657
659
660
661
662
679
681
682
683
684
687
688
696
703
704
708
717
720
721
722
723
725
726
728
729
730
731
734
735
738
743
744
746
747
750
752
759
771
776
793
798
803
832
844
846
853
854
855
857
863
865
866
870
872
873
880
881
882
890
891
892
893
900
901
902
903
904
905
906
907
908
911
914
919
920
922
925
926
930
931
936
937
938
942
943
948
949
950
951
952
953
954
956
957
970
972
973
974
978
981
983
985
987
990
992
995
996
997
1002
1005
1006
1007
1008
1009
1010
1012
1015
1016
1017
1027
1031
1032
1033
1039
1042
1043
1044
1045
1051
1057
1058
1059
1060
1061
1062
1064
1067
1076
1080
1084
1085
1097
1098
1099
1102
1103
1104
1106
1108
1111
1113
1117
1118
1121
1124
1125
1126
1127
1128
1130
1131
1132
1133
1135
1136
1137
1139
1143
1145
1153
1157
1159
1160
1161
1162
1163
1164
1168
1172
1179
1180
1181
1186
1188
1189
1191
1196
1200
1206
1208
1209
1210
1212
1213
1215
1230
1231
1232
1236
1240
1253
1254
1255
1259
1263
1267
1289
1290
1291
1292
1294
1296
1297
1302
1307
1308
1309
1310
1311
1312
1340
1347
1348
1359
1360
1362
1363
1364
1366
1368
1369
1377
1381
1382
1383
1385
1387
1391
1393
1396
1398
1401
1403
1404
1405
1407
1408
1410
1411
1413
1415
1424
1428
1429
1432
1434
1435
1442
1445
1446
1454
1461
1466
1467
1470
1473
1474
1475
1476
1477
1478
1479
1506
1507
1521
1532
1533
1536
1537
1538
1540
1543
1554
1555
1557
1583
1584
1587
1588
1592
1593
1596
1598
1602
1604
1607
1608
1610
1615
1616
1621
1625
1626
1628
1630
1632
1643
1649
1651
1652
1653
1667
1668
1669
1673
1681
1683
1684
1685
1687
1689
1691
1692
1693
1695
1696
1698
1703
1704
1719
1724
1725
1729
1738
1758
1759
1764
1766
1768
1773
1775
1777
1779
1781
1783
1787
1788
1789
1795
1800
1802
1803
1806
1807
1810
1811
1816
1820
1821
1827
1828
1829
1831
1839
1842
1843
1853
1854
1856
1858
1861
1862
1867
1872
1874
1875
1876
1879
1882
1883
1886
1888
1894
1900
1901
1904
1921
1923
1926
1927
1928
1929
1937
1951
1964
1967
1972
1973
1974
1975
1976
1977
1978
1979
1981
1983
1986
1987
1991
1992
1994
1996
2001
2002
2005
2006
2010
2011
2013
2014
2015
2016
2017
2018
2020
2021
2023
2024
2025
2029
2030
2032
2033
2035
2036
2037
2038
2039
2040
2044
2046
2048
2051
2053
2054
2058
2059
2062
2065
2075
2080
2081
2088
2103
2104
2105
2106
2108
2111
2113
2120
2121
2129
2130
2133
2134
2138
2141
2146
2151
2152
2158
2166
2170
2171
2173
2178
2182
2188
2189
2193
2204
2209
2212
2217
2233
2236
2237
2245
2246
2247
2248
2249
2250
2252
2254
2256
2264
2265
2268
2270
2271
2273
2275
2278
2279
2288
2296
2301
2306
2311
2312
2313
2317
2320
2327
2328
2330
2333
2335
2338
2341
2346
2350
2352
2356
2357
2358
2361
2362
2364
2365
2374
2400
2402
2403
2404
2406
2411
2412
2419
2435
2439
2442
2444
2445
2448
2449
2450
2452
2453
2455
2459
2460
2463
2464
2469
2472
2474
2476
2477
2478
2479
2480
2481
2482
2483
2484
2486
2488
2492
2493
2495
2508
2509
2510
2511
2513
2517
2523
2533
2540
2541
2545
2549
2554
2555
2557
2559
2560
2561
2563
2565
2566
2584
2597
2598
2601
2603
2604
2605
2606
2607
2608
2611
2623
2638
2639
2640
2644
2647
2649
2654
2655
2657
2658
2659
2663
2664
2665
2673
2675
2677
2680
2682
2683
2696
2704
2706
2708
2717
2718
2719
2725
2726
2728
2729
2730
2731
2740
2743
2749
2756
2758
2764
2765
2776
2778
2781
2783
2784
2787
2790
2792
2793
2796
2806
2819
2836
2843
2875
2876
2877
2878
2885
2891
2894
2896
2901
2906
2907
2909
2910
2911
2914
2916
2917
2918
2921
2922
2924
2927
2928
2929
2930
2933
2934
2936
2944
2946
2959
2963
2966
2978
2980
2992
2993
2995
2996
3003
3004
3005
3006
3007
3008
3016
3018
3019
3026
3028
3029
3031
3032
3033
3034
3036
3039
3041
3042
3043
3046
3048
3049
3050
3051
3052
3054
3055
3058
3062
3063
3078
3080
3081
3082
3084
3088
3089
3092
3094
3095
3096
3098
3099
3105
3107
3109
3110
3111
3115
3116
3118
3121
3125
3126
3127
3129
3131
3132
3134
3135
3136
3138
3143
3146
3149
3154
3156
3157
3159
3160
3161
3163
3166
3172
3173
3175
3177
3180
3189
3195
3196
3208
3209
3210
3217
3220
3221
3223
3224
3225
3231
3247
3250
3252
3256
3257
3258
3259
3267
3269
3273
3277
3281
3290
3291
3293
3297
3299
3307
3308
3309
3311
3312
3313
3320
3323
3328
3332
3350
3353
3357
3362
3363
3364
3374
3376
3378
3379
3384
3386
3389
3393
3397
3400
3405
3406
3407
3413
3417
3418
3419
3420
3422
3423
3432
3433
3437
3438
3440
3443
3445
3455
3467
3468
3472
3474
3476
3482
3483
3484
3485
3486
3491
3497
3508
3509
3510
3511
3512
3513
3514
3515
3516
3518
3531
3548
3549
3551
3552
3553
3555
3559
3564
3565
3566
3568
3572
3573
3574
3575
3576
3577
3585
3588
3589
3590
3595
3599
3610
3612
3615
3627
3628
3630
3632
3633
3635
3636
3637
3639
3641
3642
3644
3648
3649
3650
3651
3652
3654
3658
3661
3662
3663
3664
3666
3668
3669
3670
3681
3696
3703
3706
3719
3722
3727
3730
3737
3740
3743
3744
3745
3747
3753
3754
3757
3760
3761
3763
3764
3765
3766
3767
3768
3772
3773
3774
3776
3777
3778
3779
3783
3790
3796
3798
3802
3803
3804
3805
3809
3811
3813
3815
3820
3824
3836
3837
3840
3843
3844
3847
3848
3849
3852
3853
3859
3862
3863
3865
3866
3867
3868
3888
3891
3892
3894
3903
3905
3906
3907
3911
3913
3915
3916
3918
3920
3921
3922
3926
3928
3930
3935
3940
3942
3945
3947
3959
3962
3976
3979
3980
3985
3992
3998
4000
4001
4004
4007
4009
4012
4014
4019
4021
4023
4035
4044
4048
4052
4055
4056
4057
4062
4064
4065
4067
4081
4084
4086
4087
4089
4090
4092
4100
4102
4106
4107
4110
4111
4113
4115
4116
4117
4119
4121
4123
4128
4129
4130
4134
4137
4138
4139
4143
4145
4152
4154
4166
4185
4186
4188
4189
4190
4193
4197
4199
4202
4208
4209
4210
4212
4214
4217
4218
4219
4222
4226
4228
4230
4232
4234
4235
4236
4238
4239
4245
4246
4251
4252
4253
4254
4263
4270
4272
4273
4276
4277
4278
4279
4283
4284
4291
4292
4293
4294
4295
4296
4298
4300
4303
4304
4305
4339
4340
4345
4346
4364
4366
4380
4381
4384
4387
4389
4390
4391
4398
4401
4405
4408
4409
4413
4423
4431
4432
4433
4435
4450
4452
4456
4466
4473
4474
4475
4476
4482
4483
4485
4487
4488
4489
4492
4493
4494
4498
4500
4501
4502
4503
4504
4517
4518
4522
4524
4528
4529
4530
4532
4533
4535
4538
4540
4559
4561
4571
4576
4577
4582
4584
4585
4593
4598
4599
4600
4601
4602
4609
4610
4611
4612
4613
4615
4616
4620
4621
4623
4624
4625
4626
4627
4629
4635
4636
4637
4642
4643
4644
4646
4647
4650
4651
4653
4670
4672
4673
4676
4681
4682
4691
4692
4695
4698
4706
4718
4719
4720
4721
4733
4742
4750
4751
4755
4756
4757
4758
4759
4760
4762
4767
4769
4770
4775
4791
4792
4797
4798
4800
4802
4813
4814
4815
4819
4827
4829
4831
4837
4838
4842
4843
4846
4849
4850
4851
4852
4857
4858
4860
4861
4865
4866
4868
4869
4876
4877
4882
4887
4894
4895
4896
4898
4901
4906
4908
4909
4910
4911
4919
4920
4921
4922
4923
4924
4929
4934
4936
4937
4941
4942
4949
4955
4956
4959
4960
4976
4977
4979
4982
4985
4986
4990
4998
5005
5026
5027
5028
5029
5031
5032
5035
5040
5045
5048
5055
5056
5058
5063
5065
5066
5071
5073
5079
5085
5086
5087
5088
5089
5091
5092
5093
5094
5095
5096
5099
5101
5102
5104
5105
5108
5114
5115
5116
5118
5119
5120
5121
5123
5124
5127
5128
5129
5134
5136
5140
5141
5147
5149
5151
5153
5154
5159
5168
5172
5179
5181
5191
5192
5195
5196
5197
5198
5199
5201
5202
5203
5204
5206
5207
5210
5212
5216
5217
5224
5226
5227
5230
5231
5232
5233
5235
5240
5241
5242
5244
5246
5253
5267
5271
5275
5280
5281
5283
5297
5303
5311
5316
5317
5318
5319
5320
5321
5322
5323
5324
5334
5335
5344
5345
5348
5352
5353
5354
5355
5359
5362
5363
5364
5368
5369
5370
5374
5377
5378
5382
5384
5388
5390
5392
5396
5400
5406
5414
5415
5416
5417
5418
5420
5421
5422
5423
5426
5427
5433
5445
5450
5451
5456
5457
5459
5460
5462
5463
5465
5466
5469
5470
5471
5473
5484
5485
5486
5488
5489
5492
5501
5509
5517
5527
5537
5539
5547
5548
5551
5552
5556
5557
5559
5560
5561
5562
5563
5569
5570
5571
5572
5574
5575
5585
5589
5590
5592
5594
5598
5600
5601
5603
5604
5605
5606
5607
5608
5609
5610
5611
5613
5614
5627
5630
5631
5634
5636
5637
5638
5642
5643
5644
5651
5653
5655
5663
5664
5665
5667
5668
5672
5679
5680
5687
5688
5703
5709
5722
5727
5729
5736
5737
5739
5740
5743
5744
5745
5746
5747
5749
5750
5751
5752
5755
5757
5761
5766
5770
5771
5772
5773
5775
5779
5783
5784
5785
5786
5787
5789
5791
5793
5800
5804
5806
5807
5809
5810
5828
5830
5833
5834
5835
5839
5841
5843
5844
5845
5846
5847
5849
5851
5852
5853
5854
5867
5873
5883
5886
5887
5888
5892
5893
5896
5900
5901
5902
5905
5906
5907
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5930
5932
5933
5936
5939
5940
5941
5947
5951
5952
5953
5955
5957
5958
5959
5960
5961
5963
5970
5976
5980
5981
5982
5983
5986
5989
5990
5991
5997
6000
6001
6003
6012
6015
6016
6020
6024
6026
6027
6040
6043
6045
6047
6048
6050
6051
6053
6056
6057
6059
6060
6068
6075
6083
6084
6087
6088
6089
6092
6103
6104
6105
6107
6108
6121
6132
6134
6151
6153
6154
6159
6161
6165
6166
6167
6168
6172
6178
6185
6186
6187
6188
6190
6191
6192
6193
6195
6202
6203
6204
6205
6207
6208
6209
6211
6212
6213
6214
6215
6217
6219
6221
6222
6223
6224
6226
6228
6229
6230
6234
6237
6242
6252
6256
6258
6260
6267
6268
6269
6277
6282
6294
6295
6296
6297
6298
6299
6301
6302
6308
6309
6312
6314
6315
6319
6320
6322
6323
6324
6325
6326
6328
6338
6342
6348
6350
6351
6353
6354
6355
6360
6368
6375
6377
6385
6396
6401
6408
6411
6413
6415
6416
6422
6424
6425
6426
6427
6428
6429
6430
6431
6433
6435
6440
6441
6442
6443
6455
6459
6460
6461
6462
6463
6465
6466
6467
6474
6478
6481
6482
6483
6486
6488
6491
6493
6494
6500
6502
6504
6505
6511
6514
6515
6516
6517
6518
6519
6522
6523
6524
6525
6532
6533
6559
6568
6571
6577
6598
6604
6614
6617
6623
6624
6627
6629
6633
6645
6646
6647
6648
6649
6654
6656
6657
6663
6672
6677
6688
6697
6698
6700
6702
6711
6712
6714
6716
6718
6744
6750
6752
6758
6759
6761
6762
6764
6765
6771
6772
6802
6811
6812
6817
6819
6822
6824
6826
6828
6830
6833
6834
6835
6841
6847
6848
6849
6850
6852
6855
6857
6858
6861
6862
6863
6864
6866
6868
6870
6871
6873
6874
6878
6885
6886
6890
6891
6892
6894
6895
6897
6898
6901
6902
6903
6904
6905
6906
6907
6910
6912
6916
6922
6926
6930
6931
6934
6935
6936
6937
6938
6940
6949
6952
6955
6956
6957
6958
6959
6961
6964
6969
6970
6971
6986
6988
6994
6997
7005
7007
7008
7009
7011
7022
7023
7025
7026
7030
7035
7036
7045
7050
7057
7061
7062
7065
7071
7075
7076
7077
7078
7082
7095
7101
7105
7107
7108
7110
7111
7113
7119
7122
7123
7126
7127
7130
7131
7132
7134
7135
7141
7142
7152
7158
7159
7164
7166
7168
7170
7171
7173
7174
7176
7177
7179
7182
7185
7187
7189
7190
7191
7193
7194
7198
7200
7208
7209
7225
7226
7228
7229
7230
7240
7241
7248
7251
7255
7258
7262
7263
7266
7268
7269
7271
7272
7275
7277
7279
7281
7282
7284
7285
7286
7287
7290
7291
7292
7294
7316
7320
7323
7324
7328
7329
7332
7337
7361
7362
7363
7364
7365
7366
7367
7369
7370
7374
7376
7377
7379
7380
7382
7385
7387
7389
7390
7391
7397
7401
7402
7403
7404
7405
7406
7408
7409
7410
7411
7414
7417
7418
7419
7420
7421
7422
7423
7426
7428
7429
7430
7431
7432
7433
7435
7436
7438
7440
7441
7444
7445
7446
7447
7449
7450
7453
7470
7477
7478
7479
7482
7487
7491
7492
7495
7497
7501
7506
7509
7510
7511
7512
7514
7515
7518
7526
7532
7533
7537
7538
7543
7545
7552
7555
7556
7557
7563
7564
7569
7596
7598
7602
7603
7604
7605
7606
7609
7611
7616
7619
7622
7627
7630
7632
7634
7637
7639
7641
7642
7645
7646
7648
7649
7650
7652
7653
7654
7658
7665
7672
7677
7682
7688
7689
7694
7704
7705
7706
7709
7711
7712
7714
7717
7718
7720
7721
7722
7723
7724
7727
7728
7730
7732
7733
7736
7741
7743
7746
7748
7751
7752
7754
7755
7756
7757
7758
7759
7760
7762
7764
7766
7772
7778
7779
7783
7785
7793
7801
7803
7808
7810
7817
7818
7828
7829
7830
7831
7837
7838
7840
7848
7849
7862
7864
7866
7867
7868
7869
7870
7877
7878
7879
7880
7881
7882
7883
7885
7886
7888
7890
7893
7894
7897
7898
7899
7900
7902
7903
7904
7906
7907
7912
7914
7917
7922
7927
7929
7932
7934
7936
7941
7944
7947
7948
7949
7952
7958
7965
7967
7968
7970
7971
7978
7981
7989
7994
7995
7996
8005
8007
8008
8010
8011
8018
8021
8023
8029
8031
8032
8037
8038
8040
8042
8047
8049
8053
8060
8062
8066
8069
8074
8076
8077
8078
8082
8083
8087
8091
8092
8093
8095
8120
8121
8127
8131
8134
8139
8143
8145
8146
8153
8154
8157
8158
8159
8161
8163
8165
8172
8178
8179
8181
8182
8183
8184
8186
8188
8189
8191
8207
8208
8212
8213
8214
8218
8219
8220
8225
8227
8228
8229
8230
8231
8234
8235
8238
8239
8240
8242
8243
8244
8245
8247
8252
8253
8257
8258
8260
8263
8283
8292
8294
8295
8299
8301
8302
8303
8304
8305
8311
8312
8313
8314
8316
8319
8321
8324
8328
8338
8345
8346
8350
8352
8358
8360
8361
8362
8366
8371
8372
8379
8382
8383
8388
8396
8401
8402
8403
8404
