0
9
14
18
19
22
25
27
32
42
48
53
62
64
70
74
77
79
81
82
89
90
92
96
97
98
100
102
107
111
114
115
121
122
130
136
137
145
149
154
155
157
158
162
163
165
171
172
180
184
188
189
193
194
196
204
209
212
221
223
224
231
233
235
236
238
245
250
258
260
263
265
269
272
273
278
280
285
287
296
297
298
300
303
304
305
310
313
317
321
339
340
351
359
363
364
371
373
374
376
382
383
384
386
391
393
395
398
403
404
405
409
414
416
423
428
429
432
436
440
444
445
446
450
453
454
456
458
460
481
485
486
487
495
498
507
511
514
516
520
521
522
525
526
528
529
531
535
545
553
555
557
560
566
568
572
579
581
583
586
589
598
599
606
615
624
630
631
635
642
647
649
650
653
654
656
661
664
665
669
672
673
675
678
679
683
684
687
689
690
692
695
696
703
716
727
730
733
735
737
738
739
745
746
748
750
754
755
758
759
760
764
765
767
769
771
772
773
775
776
777
783
788
789
792
794
799
804
805
812
813
814
823
840
841
847
853
855
856
859
869
874
875
876
883
894
896
899
900
903
905
906
910
915
923
924
926
927
928
929
934
941
945
970
971
972
978
989
990
991
992
993
996
1000
1006
1008
1012
1014
1018
1021
1023
1030
1033
1037
1039
1043
1044
1052
1053
1067
1070
1075
1077
1083
1084
1088
1090
1107
1111
1112
1126
1135
1136
1137
1143
1145
1147
1152
1154
1162
1163
1166
1175
1182
1186
1187
1189
1193
1199
1203
1209
1211
1213
1226
1227
1228
1231
1235
1239
1241
1242
1244
1246
1247
1254
1256
1258
1260
1266
1267
1271
1273
1275
1282
1284
1287
1291
1298
1299
1300
1302
1308
1313
1314
1317
1324
1325
1328
1331
1334
1336
1338
1342
1343
1344
1345
1346
1347
1349
1350
1352
1355
1358
1361
1365
1369
1381
1383
1387
1389
1391
1393
1396
1402
1405
1410
1412
1419
1420
1424
1434
1435
1441
1444
1452
1454
1455
1457
1462
1463
1467
1468
1475
1478
1480
1482
1487
1488
1490
1491
1495
1497
1500
1501
1502
1505
1507
1510
1513
1514
1515
1516
1518
1521
1523
1528
1532
1534
1535
1540
1552
1555
1557
1561
1563
1565
1573
1577
1582
1584
1586
1587
1590
1593
1595
1596
1598
1599
1600
1605
1610
1615
1618
1627
1634
1635
1636
1653
1661
1668
1671
1682
1691
1695
1696
1700
1703
1706
1707
1708
1713
1714
1716
1719
1722
1723
1729
1734
1737
1743
1744
1745
1747
1749
1761
1762
1768
1774
1775
1780
1781
1782
1783
1787
1788
1791
1792
1795
1797
1799
1802
1804
1815
1816
1818
1819
1820
1821
1831
1832
1838
1839
1841
1842
1846
1848
1851
1864
1871
1884
1889
1890
1892
1893
1897
1908
1909
1920
1929
1931
1932
1933
1941
1942
1944
1945
1946
1949
1952
1953
1954
1956
1960
1961
1963
1964
1966
1967
1972
1975
1979
1983
1984
1985
1986
1988
1999
2000
2001
2003
2008
2012
2014
2015
2018
2026
2027
2033
2034
2036
2038
2040
2043
2045
2051
2058
2068
2073
2074
2085
2086
2087
2098
2099
2103
2104
2107
2111
2113
2120
2121
2122
2123
2124
2129
2130
2132
2134
2136
2145
2147
2154
2156
2157
2161
2166
2180
2183
2184
2187
2191
2204
2205
2206
2208
2209
2213
2222
2223
2225
2226
2229
2231
2232
2236
2239
2241
2246
2247
2251
2254
2263
2264
2265
2266
2270
2273
2274
2277
2279
2291
2293
2298
2299
2301
2305
2310
2312
2313
2314
2315
2317
2324
2328
2336
2341
2342
2345
2355
2358
2359
2363
2365
2367
2369
2374
2376
2389
2393
2395
2401
2409
2410
2416
2422
2424
2435
2436
2442
2451
2452
2453
2454
2459
2460
2477
2479
2481
2483
2485
2488
2489
2491
2496
2498
2504
2506
2509
2510
2511
2512
2517
2519
2520
2525
2528
2530
2531
2536
2537
2542
2544
2556
2559
2561
2562
2563
2565
2569
2570
2576
2577
2583
2590
2604
2606
2609
2611
2613
2619
2621
2625
2630
2631
2632
2635
2641
2643
2656
2659
2660
2663
2667
2668
2676
2677
2680
2681
2682
2686
2687
2693
2694
2696
2711
2721
2725
2726
2730
2733
2735
2736
2738
2740
2743
2744
2748
2754
2756
2757
2760
2763
2772
2774
2775
2790
2793
2795
2797
2800
2803
2806
2811
2821
2822
2831
2838
2844
2848
2857
2858
2862
2866
2868
2874
2876
2877
2878
2881
2883
2886
2899
2900
2903
2905
2906
2918
2920
2922
2925
2927
2928
2929
2933
2936
2938
2953
2954
2960
2962
2963
2965
2975
2977
2980
2987
2989
3003
3004
3006
3009
3010
3011
3014
3018
3023
3035
3036
3038
3039
3041
3044
3047
3049
3050
3055
3061
3063
3069
3071
3079
3082
3089
3091
3105
3107
3109
3112
3115
3119
3130
3131
3136
3138
3143
3153
3155
3157
3159
3161
3162
3168
3171
3174
3175
3181
3189
3199
3207
3218
3224
3237
3242
3246
3248
3250
3251
3252
3253
3255
3256
3258
3262
3266
3268
3272
3273
3280
3282
3285
3286
3290
3292
3294
3297
3302
3307
3310
3318
3321
3330
3331
3332
3338
3341
3343
3347
3348
3356
3359
3361
3363
3368
3369
3372
3375
3393
3395
3402
3406
3409
3420
3424
3429
3432
3434
3442
3444
3453
3457
3460
3464
3466
3467
3476
3477
3479
3481
3482
3483
3485
3490
3495
3499
3503
3506
3517
3521
3522
3525
3526
3528
3529
3534
3544
3547
3548
3550
3552
3554
3555
3557
3561
3564
3574
3575
3578
3582
3586
3588
3589
3593
3595
3596
3601
3605
3609
3616
3617
3627
3635
3638
3653
3655
3658
3660
3661
3664
3671
3673
3679
3680
3688
3689
3691
3694
3697
3699
3703
3704
3705
3707
3719
3720
3725
3738
3742
3748
3753
3755
3771
3786
3800
3801
3802
3803
3809
3812
3813
3816
3817
3818
3820
3824
3832
3833
3834
3835
3836
3837
3838
3841
3843
3845
3846
3850
3857
3862
3865
3866
3868
3870
3871
3872
3874
3875
3876
3885
3895
3897
3901
3902
3904
3905
3912
3913
3918
3921
3922
3923
3925
3930
3931
3947
3948
3952
3958
3962
3974
3977
3982
3983
3986
3987
3988
3994
3996
3997
3999
4002
4006
4010
4011
4016
4017
4029
4035
4036
4037
4039
4041
4043
4046
4047
4050
4055
4058
4060
4062
4063
4065
4066
4075
4079
4080
4082
4083
4084
4088
4092
4094
4097
4098
4100
4101
4102
4105
4106
4108
4114
4116
4120
4124
4130
4131
4137
4138
4141
4142
4143
4144
4145
4147
4148
4150
4155
4158
4160
4163
4165
4173
4176
4178
4180
4184
4186
4188
4192
4193
4194
4197
4198
4201
4204
4210
4217
4218
4219
4223
4231
4233
4234
4235
4238
4246
4260
4263
4271
4275
4276
4280
4281
4288
4297
4301
4305
4308
4309
4312
4316
4318
4319
4331
4335
4338
4346
4349
4351
4354
4357
4370
4381
4384
4385
4390
4396
4399
4404
4407
4415
4416
4417
4423
4426
4427
4430
4433
4435
4439
4443
4445
4446
4447
4467
4469
4483
4487
4498
4502
4505
4509
4510
4512
4513
4516
4522
4523
4526
4529
4538
4539
4543
4544
4549
4550
4558
4559
4560
4562
4565
4566
4568
4569
4574
4575
4581
4586
4588
4595
4608
4612
4613
4620
4624
4640
4642
4646
4652
4653
4659
4660
4661
4663
4666
4669
4685
4689
4695
4696
4697
4706
4709
4711
4717
4718
4723
4724
4726
4728
4729
4733
4736
4739
4740
4741
4743
4747
4749
4750
4755
4758
4762
4763
4764
4765
4775
4776
4778
4781
4782
4785
4790
4791
4794
4796
4803
4804
4807
4811
4813
4820
4822
4826
4828
4831
4833
4834
4835
4836
4837
4842
4843
4845
4846
4847
4850
4852
4854
4860
4862
4863
4872
4877
4883
4884
4885
4887
4892
4894
4896
4898
4901
4902
4907
4908
4909
4911
4917
4920
4924
4925
4927
4931
4932
4939
4941
4944
4945
4948
4952
4953
4965
4971
4975
4976
4979
4989
4994
4995
5003
5008
5010
5022
5023
5025
5032
5043
5046
5055
5057
5058
5072
5073
5076
5081
5083
5096
5097
5100
5101
5103
5105
5107
5111
5112
5115
5116
5117
5118
5121
5122
5133
5137
5139
5142
5146
5147
5148
5149
5150
5153
5159
5163
5164
5166
5168
5180
5183
5188
5195
5201
5202
5203
5206
5207
5209
5210
5211
5223
5226
5227
5229
5232
5239
5244
5250
5256
5259
5262
5266
5267
5270
5273
5274
5277
5278
5279
5282
5283
5284
5287
5291
5292
5294
5297
5306
5311
5312
5315
5319
5320
5324
5331
5332
5335
5336
5337
5338
5340
5343
5347
5348
5357
5358
5362
5363
5366
5382
5388
5391
5394
5397
5398
5401
5408
5411
5415
5416
5417
5422
5426
5427
5435
5438
5439
5441
5448
5450
5453
5458
5459
5460
5464
5467
5471
5472
5478
5479
5480
5488
5491
5501
5503
5509
5511
5512
5513
5536
5538
5556
5558
5567
5580
5581
5583
5599
5604
5608
5611
5612
5613
5621
5622
5623
5638
5642
5645
5647
5648
5650
5651
5652
5653
5655
5660
5666
5671
5678
5680
5687
5689
5694
5695
5698
5699
5700
5701
5707
5710
5716
5721
5723
5726
5728
5736
5738
5739
5746
5749
5755
5761
5765
5766
5769
5771
5772
5774
5776
5779
5781
5782
5783
5791
5795
5797
5798
5804
5809
5812
5814
5820
5822
5831
5832
5834
5844
5853
5859
5860
5862
5875
5877
5881
5882
5883
5885
5887
5888
5889
5893
5894
5896
5903
5910
5912
5913
5914
5917
5921
5924
5929
5944
5948
5959
5960
5961
5965
5966
5972
5973
5976
5979
5983
5990
5992
6002
6004
6006
6007
6008
6020
6027
6030
6033
6035
6036
6047
6050
6061
6064
6067
6068
6073
6077
6079
6081
6084
6085
6088
6091
6094
6096
6098
6099
6112
6115
6117
6139
6148
6150
6151
6154
6155
6157
6159
6161
6167
6168
6172
6173
6174
6175
6179
6182
6194
6195
6200
6201
6202
6203
6210
6212
6218
6221
6227
6230
6236
6238
6247
6251
6257
6258
6259
6263
6268
6270
6272
6276
6279
6288
6291
6299
6300
6301
6305
6308
6310
6314
6320
6324
6340
6345
6347
6348
6351
6352
6359
6361
6363
6364
6365
6372
6374
6375
6377
6378
6379
6381
6382
6385
6387
6391
6393
6400
6402
6412
6416
6420
6421
6427
6428
6430
6435
6441
6444
6445
6450
6454
6455
6465
6469
6471
6474
6475
6476
6477
6478
6480
6490
6498
6499
6501
6502
6506
6510
6516
6520
6527
6530
6533
6535
6536
6542
6555
6559
6562
6575
6581
6582
6585
6586
6587
6588
6590
6594
6598
6599
6600
6604
6608
6610
6615
6617
6618
6619
6630
6631
6636
6639
6642
6643
6648
6651
6654
6657
6661
6663
6666
6668
6673
6676
6677
6680
6681
6686
6687
6689
6692
6693
6694
6696
6698
6702
6709
6711
6714
6716
6721
6723
6726
6728
6729
6736
6741
6742
6749
6750
6753
6754
6755
6760
6765
6769
6775
6777
6779
6784
6793
6807
6812
6813
6821
6825
6827
6829
6835
6838
6839
6842
6844
6849
6850
6851
6854
6857
6862
6863
6873
6875
6889
6891
6899
6904
6905
6907
6909
6913
6926
6927
6928
6929
6934
6936
6939
6946
6948
6949
6953
6961
6964
6966
6969
6972
6976
6980
6988
6989
6991
6995
6997
7014
7016
7018
7021
7025
7029
7030
7031
7034
7037
7040
7045
7052
7058
7059
7060
7061
7062
7063
7064
7067
7069
7071
7077
7081
7085
7087
7088
7089
7091
7095
7096
7102
7104
7105
7111
7123
7126
7139
7141
7142
7144
7145
7147
7148
7152
7154
7156
7157
7158
7166
7172
7174
7178
7179
7180
7184
7186
7189
7196
7198
7203
7212
7213
7214
7223
7226
7230
7233
7238
7239
7243
7244
7249
7252
7260
7261
7262
7263
7266
7268
7272
7273
7280
7292
7293
7295
7296
7306
7308
7309
7325
7326
7327
7329
7331
7334
7335
7338
7343
7344
7345
7346
7350
7352
7356
7361
7362
7364
7368
7372
7378
7386
7388
7389
7390
7394
7395
7396
7398
7402
7405
7416
7418
7421
7425
7426
7432
7433
7434
7436
7437
7438
7445
7446
7455
7461
7462
7474
7482
7485
7490
7492
7493
7496
7500
7520
7521
7522
7525
7527
7528
7534
7540
7542
7549
7553
7557
7559
7560
7577
7579
7580
7583
7586
7589
7590
7594
7597
7599
7604
7607
7612
7614
7616
7623
7640
7642
7644
7659
7661
7663
7666
7668
7670
7674
7676
7678
7679
7689
7690
7696
7700
7703
7708
7711
7714
7722
7728
7739
7746
7750
7751
7760
7765
7767
7774
7779
7785
7791
7794
7795
7798
7799
7810
7811
7815
7819
7820
7821
7824
7833
7837
7839
7842
7843
7848
7849
7853
7855
7861
7864
7868
7869
7870
7874
7876
7878
7883
7889
7903
7904
7905
7907
7911
7915
7916
7921
7930
7931
7938
7939
7941
7947
7950
7957
7964
7986
7990
7991
7993
8002
8012
8015
8018
8019
8020
8021
8022
8025
8031
8032
8038
8044
8045
8046
8049
8053
8054
8059
8065
8067
8071
8077
8080
8086
8093
8098
8102
8105
8110
8112
8119
8130
8131
8135
8136
8141
8148
8149
8152
8157
8160
8172
8191
8192
8193
8199
8200
8203
8204
8206
8208
8212
8228
8234
8237
8250
8252
8253
8254
8256
8258
8268
8274
8276
8284
8287
8294
8297
8299
8300
8301
8307
8309
8313
8320
8321
8325
8328
8329
8336
8337
8338
8340
8344
8345
8347
8348
8350
8353
8358
8362
8367
8371
8377
8380
8383
8384
8393
8395
8398
8400
8404
8408
8409
8410
8411
8415
8418
8421
8422
8425
8427
8429
8431
8432
8436
8438
8441
8445
8453
8455
8467
8468
8469
8474
8476
8478
8483
8484
8487
8490
8499
8501
8510
8511
8514
8518
8520
8522
8525
8527
8536
8540
8543
8559
8564
8565
8571
8574
8576
8578
8581
8586
8588
8589
8596
8597
8600
8608
8610
8611
8616
8621
8622
8625
8627
8633
8634
8635
8638
8640
8645
8647
8657
8659
8672
8673
8675
8685
8686
8688
8696
8698
8702
8709
8711
8716
8719
8723
8727
8729
8733
8735
8742
8743
8745
8755
8776
8778
8786
8791
8794
8797
8800
8802
8807
8810
8811
8819
8833
8836
8842
8844
8846
8848
8851
8853
8855
8860
8862
8864
8865
8867
8878
8882
8885
8886
8896
8897
8900
8903
8908
8910
8913
8916
8918
8929
8930
8936
8938
8939
8940
8941
8948
8951
8954
8956
8967
8970
8973
8980
8982
8986
8994
9000
9004
9005
9019
9023
9024
9025
9027
9028
9032
9033
9039
9052
9053
9055
9057
9061
9062
9070
9071
9073
9078
9083
9084
9085
9086
9089
9095
9098
9103
9105
9114
9116
9121
9134
9154
9160
9166
9170
9172
9173
9175
9177
9184
9185
9186
9193
9196
9199
9201
9204
9209
9210
9214
9216
9218
9220
9222
9223
9227
9232
9233
9234
9236
9239
9240
9241
9254
9264
9265
9268
9270
9275
9287
9288
9291
9295
9299
9303
9305
9306
9307
9308
9309
9310
9312
9314
9319
9321
9331
9332
9333
9334
9335
9340
9344
9345
9346
9347
9349
9353
9358
9359
9360
9361
9363
9364
9366
9370
9377
9382
9383
9384
9385
9386
9387
9388
9394
9397
9398
9402
9406
9410
9418
9427
9431
9437
9440
9441
9443
9461
9477
9482
9484
9488
9489
9491
9492
9498
9500
9505
9506
9511
9512
9513
9515
9520
9521
9523
9526
9530
9533
9541
9542
9545
9555
9557
9562
9566
9567
9569
9570
9577
9578
9579
9581
9586
9587
9588
9601
9604
9606
9610
9611
9614
9616
9618
9619
9626
9630
9632
9636
9637
9639
9640
9645
9651
9655
9658
9659
9661
9662
9690
9691
9700
9707
9708
9718
9722
9725
9727
9731
9737
9738
9739
9746
9749
9750
9754
9755
9765
9769
9778
9788
9797
9820
9821
9824
9837
9839
9843
9844
9847
9848
9850
9851
9856
9858
9864
9885
9887
9888
9889
9890
9896
9899
9903
9904
9911
9912
9913
9915
9918
9919
9920
9923
9927
9928
9929
9933
9934
9938
9942
9944
9950
9952
9954
9958
9959
9962
9963
9969
9973
9979
9986
9988
9995
10000
10004
10008
10011
10012
10013
10019
10020
10032
10036
10039
10040
10043
10049
10050
10058
10059
10060
10069
10070
10073
10080
10083
10085
10086
10094
10098
10099
10103
10104
10106
10109
10110
10111
10112
10114
10115
10119
10120
10121
10123
10125
10128
10132
10136
10140
10141
10149
10151
10160
10161
10164
10165
10169
10176
10187
10209
10211
10215
10219
10224
10226
10231
10232
10243
10245
10246
10248
10249
10251
10254
10257
10260
10262
10263
10267
10268
10271
10275
10277
10283
10290
10291
10296
10306
10318
10319
10321
10327
10334
10336
10339
10340
10344
10349
10352
10356
10357
10362
10369
10370
10375
10377
10381
10382
10383
10385
10387
10388
10392
10399
10400
10403
10404
10405
10410
10415
10416
10423
10424
10433
10435
10440
10442
10446
10453
10454
10459
10465
10472
10474
10476
10477
10481
10482
10485
10487
10488
10489
10497
10502
10506
10507
10515
10521
10522
10526
10530
10533
10536
10537
10539
10545
10548
10549
10552
10554
10560
10563
10564
10567
10568
10570
10571
10576
10578
10581
10583
10589
10591
10592
10595
10597
10602
10604
10605
10614
10615
10617
10622
10624
10627
10630
10633
10634
10637
10642
10643
10647
10655
10658
10662
10664
10665
10676
10677
10679
10681
10684
10686
10689
10693
10694
10697
10701
10704
10706
10708
10709
10712
10723
10724
10729
10730
10731
10737
10741
10751
10756
10762
10765
10767
10768
10769
10773
10780
10792
10794
10797
10799
10804
10811
10813
10816
10817
10824
10825
10828
10829
10830
10833
10838
10840
10845
10853
10854
10869
10873
10875
10876
10878
10879
10885
10888
10889
10893
10895
10896
10899
10902
10906
10908
10910
10914
10918
10919
10921
10923
10925
10926
10927
10928
10931
10936
10939
10946
10952
10955
10959
10960
10965
10968
10969
10970
10972
10973
10975
10976
10979
10980
10990
10994
10995
11002
11003
11007
11009
11014
11019
11020
11021
11025
11027
11028
11031
11034
11038
11041
11045
11053
11062
11064
11067
11068
11069
11071
11074
11077
11080
11084
11089
11091
11097
11099
11103
11108
11111
11112
11116
11121
11124
11129
11131
11135
11137
11138
11146
11149
11154
11157
11159
11163
11169
11174
11181
11186
11187
11191
11195
11196
11198
11200
11204
11206
11209
11219
11221
11231
11234
11239
11247
11248
11252
11262
11265
11266
11267
11277
11284
11286
11287
11289
11290
11293
11298
11302
11313
11318
11320
11321
11324
11327
11333
11338
11346
11348
11349
11350
11354
11359
11361
11363
11366
11367
11372
11380
11385
11389
11391
11392
11397
11401
11409
11413
11414
11415
11416
11417
11424
11426
11427
11431
11432
11441
11447
11450
11455
11457
11458
11459
11460
11463
11465
11471
11472
11475
11476
11479
11485
11490
11492
11493
11495
11505
11506
11507
11508
11512
11513
11514
11516
11519
11522
11523
11526
11527
11531
11535
11537
11548
11555
11567
11568
11570
11572
11578
11588
11591
11593
11600
11603
11607
11608
11612
11613
11615
11617
11621
11630
11632
11639
11640
11644
11645
11648
11651
11652
11653
11658
11661
11663
11666
11667
11671
11672
11675
11676
11682
11684
11685
11687
11693
11696
11697
11700
11702
11719
11724
11729
11737
11739
11741
11748
11750
11751
11765
11769
11777
11778
11788
