0
12
13
22
24
25
28
29
31
37
39
45
47
48
55
58
66
69
76
77
85
96
100
106
107
108
110
114
117
125
126
127
129
131
137
141
142
147
148
150
152
155
165
166
170
175
179
183
186
191
196
198
203
204
208
210
212
218
220
227
229
231
233
235
238
242
244
249
250
252
254
256
261
265
274
278
291
295
297
299
300
305
312
316
317
324
327
330
331
333
334
335
340
352
358
359
362
364
369
374
383
391
394
396
398
407
408
410
414
416
420
423
428
429
446
452
453
456
462
465
467
469
471
473
477
478
479
482
486
490
498
505
507
511
520
521
531
541
542
543
547
550
556
558
564
566
570
572
575
584
590
592
595
600
604
608
609
611
622
625
631
632
635
637
640
641
642
649
651
653
660
666
668
674
676
678
682
687
688
690
696
699
704
707
712
713
722
726
730
731
734
735
736
738
744
758
762
764
768
771
782
787
788
794
796
800
802
803
813
818
822
828
829
839
845
846
857
860
863
867
884
885
889
891
892
903
908
915
923
929
930
939
940
946
947
949
951
952
958
963
965
966
968
970
971
975
976
982
987
989
991
993
996
997
998
999
1002
1005
1007
1008
1015
1016
1017
1019
1020
1031
1035
1036
1039
1051
1054
1056
1061
1073
1079
1085
1088
1092
1093
1095
1101
1103
1104
1105
1106
1110
1118
1120
1122
1124
1129
1131
1132
1136
1143
1146
1147
1155
1160
1165
1170
1175
1176
1177
1179
1181
1195
1196
1197
1204
1210
1213
1214
1216
1228
1231
1232
1236
1238
1241
1242
1246
1247
1261
1262
1263
1264
1268
1273
1278
1285
1289
1291
1293
1305
1307
1309
1310
1322
1324
1330
1335
1337
1349
1353
1354
1355
1357
1362
1364
1367
1368
1369
1377
1379
1389
1391
1405
1406
1408
1410
1420
1421
1424
1436
1445
1446
1447
1448
1449
1453
1458
1462
1463
1466
1468
1473
1474
1480
1482
1483
1484
1494
1499
1503
1505
1507
1510
1512
1513
1514
1517
1519
1526
1527
1535
1536
1537
1538
1543
1546
1547
1553
1554
1574
1576
1582
1585
1593
1595
1596
1597
1608
1615
1616
1621
1623
1630
1632
1634
1635
1639
1641
1644
1650
1667
1670
1675
1686
1687
1690
1691
1699
1702
1703
1706
1707
1709
1710
1718
1719
1721
1723
1724
1732
1736
1739
1743
1748
1750
1754
1755
1757
1762
1765
1778
1782
1783
1784
1786
1789
1800
1804
1807
1809
1812
1813
1814
1816
1818
1829
1833
1836
1837
1839
1840
1845
1848
1850
1860
1861
1863
1864
1867
1868
1876
1878
1883
1885
1886
1888
1889
1890
1891
1892
1897
1899
1904
1905
1906
1907
1911
1912
1917
1922
1925
1927
1931
1933
1942
1950
1959
1963
1965
1966
1977
1981
1983
1991
1998
1999
2003
2009
2018
2021
2022
2024
2027
2028
2032
2034
2036
2038
2045
2050
2057
2061
2062
2066
2067
2072
2080
2085
2086
2087
2101
2102
2109
2110
2112
2118
2126
2131
2135
2150
2154
2156
2158
2162
2164
2166
2172
2176
2180
2184
2187
2191
2195
2199
2201
2203
2205
2208
2213
2214
2216
2222
2225
2227
2232
2233
2236
2239
2241
2242
2246
2249
2250
2254
2255
2262
2266
2270
2276
2282
2288
2289
2290
2294
2295
2296
2300
2303
2306
2311
2316
2327
2335
2336
2337
2339
2347
2349
2354
2361
2364
2371
2373
2377
2380
2386
2391
2392
2396
2397
2400
2402
2409
2412
2422
2426
2428
2441
2445
2446
2448
2451
2455
2457
2459
2462
2470
2471
2475
2478
2479
2481
2485
2487
2488
2489
2490
2493
2495
2501
2504
2509
2514
2516
2521
2535
2538
2541
2547
2555
2557
2561
2562
2565
2566
2567
2569
2573
2575
2578
2588
2589
2593
2607
2608
2610
2612
2614
2618
2619
2626
2628
2630
2631
2641
2650
2651
2655
2656
2659
2667
2670
2671
2677
2679
2689
2690
2693
2697
2698
2699
2704
2706
2710
2717
2718
2720
2723
2727
2731
2742
2743
2747
2751
2754
2756
2761
2773
2777
2778
2779
2785
2786
2792
2795
2801
2803
2804
2805
2810
2811
2820
2835
2837
2839
2850
2851
2860
2862
2869
2883
2886
2890
2891
2892
2894
2897
2900
2904
2905
2923
2925
2926
2928
2931
2932
2941
2944
2953
2954
2956
2959
2962
2972
2980
2984
2986
2993
3001
3004
3009
3017
3019
3023
3026
3028
3029
3030
3031
3033
3037
3038
3039
3042
3050
3056
3059
3063
3066
3070
3071
3101
3110
3111
3114
3116
3117
3118
3121
3123
3124
3125
3127
3130
3131
3133
3137
3146
3147
3148
3149
3150
3151
3154
3155
3158
3161
3167
3169
3172
3175
3176
3181
3183
3187
3189
3194
3197
3204
3207
3209
3210
3212
3213
3222
3224
3225
3233
3236
3237
3238
3240
3241
3242
3247
3256
3264
3266
3271
3272
3274
3275
3277
3281
3282
3292
3296
3305
3306
3308
3310
3314
3315
3322
3324
3325
3331
3339
3347
3350
3357
3359
3363
3376
3378
3379
3383
3386
3388
3391
3396
3404
3406
3407
3408
3409
3413
3414
3416
3417
3421
3431
3432
3434
3442
3444
3451
3465
3466
3469
3472
3476
3489
3490
3493
3500
3504
3509
3511
3517
3522
3525
3526
3530
3536
3538
3542
3547
3553
3554
3560
3568
3570
3575
3585
3588
3594
3600
3603
3606
3615
3618
3620
3622
3623
3631
3632
3636
3637
3638
3640
3642
3643
3646
3651
3652
3658
3665
3668
3671
3673
3680
3681
3683
3684
3692
3695
3700
3702
3704
3708
3709
3713
3716
3717
3721
3722
3724
3725
3738
3740
3744
3749
3752
3758
3759
3763
3765
3767
3768
3775
3780
3781
3791
3798
3803
3806
3807
3809
3812
3824
3825
3828
3832
3835
3837
3849
3856
3861
3863
3865
3867
3868
3869
3880
3883
3885
3886
3894
3898
3903
3906
3911
3912
3919
3925
3929
3932
3933
3939
3943
3948
3953
3957
3958
3959
3961
3974
3977
3982
3984
3985
3992
3996
3998
4002
4004
4006
4008
4011
4013
4015
4018
4023
4026
4027
4029
4034
4043
4049
4053
4056
4058
4062
4064
4066
4067
4068
4070
4074
4076
4078
4079
4083
4085
4089
4090
4091
4092
4098
4100
4102
4106
4107
4111
4114
4115
4122
4123
4124
4137
4142
4154
4181
4192
4201
4214
4216
4217
4218
4220
4222
4226
4231
4234
4235
4238
4239
4245
4254
4255
4262
4282
4285
4288
4289
4290
4291
4296
4297
4300
4304
4307
4308
4318
4324
4327
4337
4343
4347
4351
4355
4357
4360
4362
4373
4378
4383
4385
4387
4388
4389
4396
4399
4401
4403
4409
4416
4417
4419
4423
4424
4426
4428
4438
4442
4443
4446
4452
4453
4454
4457
4461
4467
4469
4470
4471
4472
4478
4479
4486
4509
4512
4513
4514
4519
4520
4531
4532
4535
4538
4539
4540
4544
4545
4547
4548
4554
4561
4566
4568
4573
4575
4581
4583
4585
4587
4598
4605
4606
4623
4629
4634
4635
4636
4645
4648
4656
4659
4661
4662
4663
4665
4671
4672
4674
4683
4687
4689
4696
4697
4705
4709
4714
4715
4719
4721
4723
4728
4729
4739
4741
4742
4747
4751
4754
4758
4760
4767
4773
4775
4777
4782
4792
4793
4796
4802
4806
4808
4811
4824
4826
4834
4837
4839
4843
4848
4859
4860
4864
4869
4898
4906
4913
4915
4916
4918
4919
4926
4927
4929
4930
4935
4937
4940
4942
4949
4950
4951
4953
4954
4956
4957
4959
4960
4963
4966
4968
4971
4972
4974
4977
4979
4986
4988
4999
5001
5007
5018
5019
5020
5024
5029
5030
5034
5035
5036
5039
5040
5046
5048
5051
5054
5060
5061
5063
5065
5069
5077
5079
5084
5087
5088
5092
5093
5100
5106
5107
5114
5115
5119
5129
5131
5133
5136
5138
5141
5142
5143
5144
5152
5154
5158
5159
5160
5174
5176
5178
5185
5186
5187
5188
5194
5197
5198
5199
5203
5207
5208
5211
5212
5219
5221
5230
5233
5238
5247
5251
5253
5256
5259
5262
5263
5264
5266
5267
5273
5277
5286
5290
5291
5293
5295
5305
5307
5315
5316
5326
5333
5334
5336
5337
5342
5351
5353
5360
5363
5364
5367
5369
5370
5371
5374
5376
5380
5384
5386
5392
5404
5405
5409
5416
5422
5425
5427
5433
5440
5443
5444
5445
5450
5451
5453
5456
5458
5459
5462
5463
5465
5466
5467
5469
5470
5477
5478
5479
5482
5483
5486
5494
5502
5504
5508
5510
5514
5515
5520
5527
5533
5536
5537
5543
5544
5545
5549
5562
5563
5565
5575
5579
5580
5582
5589
5595
5596
5612
5619
5620
5623
5624
5628
5631
5634
5636
5637
5642
5646
5653
5656
5659
5660
5664
5670
5674
5678
5679
5681
5683
5687
5689
5690
5694
5695
5702
5717
5719
5721
5722
5725
5727
5734
5735
5737
5740
5745
5747
5751
5754
5755
5765
5768
5771
5772
5778
5782
5784
5785
5787
5789
5793
5804
5806
5808
5809
5818
5824
5842
5844
5848
5852
5854
5855
5860
5868
5871
5878
5880
5885
5887
5901
5903
5910
5916
5921
5931
5937
5940
5943
5950
5952
5953
5956
5959
5961
5967
5970
5973
5974
5975
5976
5977
5980
5984
5988
5989
5990
6003
6006
6009
6021
6026
6031
6046
6047
6051
6053
6055
6071
6072
6074
6078
6083
6087
6088
6089
6092
6099
6101
6104
6113
6115
6116
6118
6120
6123
6126
6130
6138
6139
6142
6147
6150
6151
6153
6154
6156
6159
6160
6161
6164
6166
6169
6170
6172
6182
6187
6191
6194
6205
6207
6210
6212
6213
6214
6226
6232
6234
6236
6238
6242
6245
6247
6251
6255
6259
6267
6273
6275
6276
6278
6281
6289
6294
6295
6299
6300
6303
6309
6311
6312
6317
6324
6330
6332
6336
6342
6351
6353
6355
6360
6361
6363
6366
6368
6372
6379
6386
6387
6390
6393
6394
6396
6405
6412
6414
6415
6418
6421
6424
6429
6430
6433
6438
6440
6443
6446
6447
6454
6462
6464
6467
6469
6470
6474
6475
6481
6488
6496
6499
6500
6501
6510
6517
6529
6532
6535
6536
6537
6539
6541
6542
6543
6545
6547
6549
6551
6555
6556
6559
6563
6564
6569
6570
6571
6581
6589
6593
6594
6598
6600
6604
6608
6614
6615
6622
6630
6640
6641
6643
6654
6657
6658
6659
6660
6661
6663
6668
6678
6682
6688
6695
6696
6701
6704
6705
6706
6709
6710
6711
6716
6721
6723
6728
6729
6733
6738
6740
6750
6753
6756
6757
6768
6769
6772
6783
6784
6787
6788
6789
6793
6796
6805
6806
6811
6812
6813
6815
6820
6821
6825
6833
6834
6838
6847
6852
6857
6867
6871
6873
6875
6876
6877
6878
6880
6882
6887
6890
6891
6893
6897
6903
6904
6911
6929
6934
6937
6942
6946
6947
6962
6968
6978
6979
6982
6983
6984
6985
7003
7004
7005
7008
7009
7010
7017
7021
7022
7025
7032
7035
7036
7038
7040
7041
7044
7045
7046
7047
7052
7056
7057
7058
7059
7062
7064
7073
7080
7090
7094
7100
7104
7106
7107
7109
7110
7112
7119
7122
7132
7140
7150
7153
7156
7161
7168
7170
7179
7180
7181
7184
7188
7193
7199
7207
7208
7209
7213
7226
7228
7229
7231
7233
7235
7236
7242
7246
7248
7259
7261
7267
7272
7278
7279
7281
7288
7289
7295
7302
7304
7307
7309
7318
7319
7320
7322
7329
7330
7333
7336
7341
7342
7348
7353
7363
7364
7366
7367
7368
7370
7374
7376
7377
7379
7386
7388
7390
7394
7400
7403
7407
7410
7412
7414
7418
7421
7422
7423
7426
7427
7428
7432
7435
7436
7439
7443
7444
7445
7447
7453
7455
7460
7462
7469
7470
7478
7479
7485
7486
7494
7497
7499
7501
7505
7506
7507
7510
7511
7517
7520
7521
7523
7524
7530
7535
7542
7550
7552
7557
7558
7560
7566
7569
7570
7574
7578
7585
7594
7604
7609
7619
7622
7631
7641
7643
7644
7646
7651
7658
7660
7661
7663
7664
7671
7672
7676
7677
7678
7679
7681
7686
7688
7695
7696
7698
7702
7706
7708
7709
7712
7715
7717
7719
7721
7723
7727
7734
7738
7739
7741
7749
7750
7752
7754
7764
7768
7769
7776
7788
7790
7791
7795
7803
7805
7810
7811
7813
7815
7817
7818
7832
7835
7837
7841
7843
7844
7845
7848
7854
7859
7863
7864
7869
7870
7877
7878
7886
7888
7890
7893
7894
7898
7906
7907
7912
7913
7914
7920
7922
7925
7928
7929
7931
7946
7948
7951
7954
7956
7959
7960
7961
7964
7969
7974
7975
7977
7982
7985
7987
7988
7990
7999
8004
8005
8006
8007
8013
8014
8015
8019
8023
8024
8027
8040
8045
8047
8052
8053
8055
8058
8063
8064
8065
8066
8067
8070
8072
8073
8075
8076
8078
8079
8081
8082
8084
8087
8090
8091
8093
8100
8105
8108
8110
8122
8123
8125
8129
8132
8136
8142
8143
8144
8149
8151
8155
8156
8161
8168
8171
8174
8182
8184
8189
8195
8203
8205
8210
8213
8215
8219
8220
8229
8233
8237
8239
8241
8242
8244
8251
8258
8260
8265
8268
8272
8275
8283
8285
8296
8301
8302
8313
8314
8317
8321
8325
8333
8335
8338
8340
8346
8350
8351
8352
8354
8357
8358
8369
8370
8374
8378
8380
8382
8385
8387
8388
8389
8394
8395
8396
8398
8400
8401
8402
8403
8405
8408
8410
8416
8419
8421
8423
8426
8431
8432
8435
8436
8443
8448
8450
8452
8453
8454
8457
8460
8462
8466
8469
8470
8471
8472
8473
8480
8481
8483
8485
8490
8498
8499
8505
8509
8510
8519
8521
8523
8526
8527
8531
8543
8546
8547
8549
8552
8554
8558
8563
8567
8571
8575
8579
8583
8586
8587
8591
8593
8596
8597
8601
8628
8637
8640
8647
8648
8650
8656
8659
8669
8671
8675
8677
8681
8691
8699
8708
8711
8715
8720
8725
8726
8733
8737
8743
8747
8757
8760
8766
8769
8782
8789
8794
8797
8806
8811
8813
8814
8815
8817
8822
8825
8827
8831
8832
8833
8840
8842
8843
8848
8853
8855
8863
8867
8868
8871
8876
8880
8882
8883
8887
8888
8890
8895
8905
8915
8918
8923
8930
8935
8936
8942
8943
8946
8951
8953
8962
8966
8967
8971
8974
8976
8977
8978
8981
8987
8988
8990
8996
9006
9011
9012
9017
9020
9027
9036
9039
9043
9045
9051
9052
9059
9060
9061
9063
9064
9067
9069
9070
9073
9078
9083
9095
9096
9099
9102
9103
9110
9116
9118
9119
9120
9121
9127
9135
9142
9148
9157
9160
9163
9166
9168
9170
9177
9183
9188
9194
9202
9204
9207
9209
9214
9216
9217
9220
9221
9223
9225
9231
9239
9241
9242
9243
9244
9246
9252
9257
9260
9263
9264
9265
9271
9274
9276
9277
9284
9286
9288
9289
9294
9296
9304
9305
