0
2
6
8
12
13
14
16
18
20
21
23
24
25
27
28
31
32
34
36
38
39
44
45
53
56
62
64
66
67
70
74
75
84
85
86
92
95
101
102
103
104
107
112
114
115
116
117
121
125
126
130
132
138
142
143
144
146
147
148
150
153
161
165
170
173
175
177
183
197
199
200
203
207
221
228
235
239
244
246
253
256
257
258
265
267
268
270
272
273
274
281
282
286
289
291
294
295
305
309
310
312
314
318
320
324
325
333
345
346
349
352
353
354
356
357
361
366
372
374
376
379
380
381
382
384
385
392
406
410
415
417
419
424
438
441
445
447
450
457
464
465
467
478
479
482
484
486
490
491
492
494
497
506
508
510
515
525
531
535
536
537
538
539
541
547
552
555
557
558
562
568
571
574
577
578
581
582
591
594
595
599
601
605
609
611
612
615
617
618
628
638
639
642
648
654
660
661
663
664
670
671
674
676
678
679
682
689
693
696
702
704
705
712
713
725
729
731
755
765
772
778
780
781
782
783
784
787
793
795
796
801
802
818
826
829
836
840
845
850
852
853
854
864
869
877
879
885
889
890
893
895
898
902
904
909
922
925
926
927
931
938
943
948
951
956
963
964
966
974
975
981
982
997
1001
1004
1005
1008
1011
1013
1018
1019
1027
1028
1029
1032
1036
1037
1039
1040
1041
1042
1043
1048
1050
1051
1055
1056
1060
1064
1068
1080
1084
1086
1089
1096
1104
1105
1106
1110
1112
1118
1130
1132
1145
1147
1160
1161
1165
1172
1181
1182
1183
1184
1187
1188
1189
1195
1201
1206
1207
1209
1210
1222
1226
1227
1239
1240
1242
1243
1246
1248
1249
1250
1251
1252
1257
1268
1274
1278
1279
1281
1287
1294
1300
1301
1302
1303
1305
1308
1309
1311
1316
1317
1321
1325
1326
1335
1339
1341
1344
1346
1360
1365
1366
1368
1374
1388
1390
1392
1396
1398
1399
1400
1403
1404
1409
1412
1413
1416
1418
1427
1431
1434
1436
1437
1440
1447
1453
1455
1459
1464
1474
1483
1484
1487
1491
1492
1493
1501
1502
1508
1510
1512
1517
1520
1525
1526
1528
1529
1530
1531
1535
1541
1544
1550
1553
1561
1565
1571
1576
1578
1587
1588
1591
1593
1595
1600
1604
1615
1619
1626
1630
1632
1636
1643
1644
1648
1655
1660
1661
1673
1677
1690
1691
1692
1697
1699
1703
1707
1708
1709
1722
1727
1733
1735
1744
1747
1748
1751
1752
1758
1763
1765
1766
1767
1775
1777
1779
1781
1788
1790
1796
1799
1804
1805
1808
1817
1829
1830
1832
1834
1835
1837
1839
1843
1844
1847
1850
1857
1862
1864
1868
1872
1877
1879
1885
1892
1895
1898
1905
1907
1916
1922
1927
1930
1933
1934
1947
1948
1951
1957
1958
1959
1962
1963
1964
1969
1981
1988
1990
1991
1992
1994
1995
2013
2016
2017
2018
2019
2020
2023
2038
2043
2045
2049
2050
2051
2058
2062
2065
2072
2074
2091
2093
2094
2096
2097
2100
2107
2110
2113
2116
2120
2121
2122
2125
2126
2132
2135
2145
2149
2155
2164
2172
2176
2178
2179
2180
2181
2188
2198
2199
2201
2205
2208
2214
2216
2217
2223
2226
2243
2244
2246
2247
2251
2252
2259
2260
2265
2266
2268
2275
2277
2286
2289
2294
2297
2300
2304
2305
2307
2310
2317
2319
2320
2333
2334
2336
2337
2339
2342
2347
2348
2349
2351
2356
2367
2370
2377
2379
2380
2381
2382
2386
2388
2389
2390
2393
2394
2396
2398
2409
2427
2428
2433
2435
2442
2446
2450
2451
2457
2461
2465
2466
2468
2472
2477
2485
2487
2488
2489
2492
2493
2494
2502
2503
2504
2506
2512
2515
2528
2538
2544
2547
2549
2551
2553
2561
2567
2573
2583
2587
2589
2592
2595
2604
2611
2612
2615
2624
2625
2626
2629
2633
2637
2638
2639
2641
2644
2655
2659
2662
2663
2670
2678
2679
2694
2695
2696
2701
2702
2703
2705
2715
2716
2717
2718
2723
2733
2734
2736
2739
2742
2745
2749
2750
2751
2753
2755
2757
2763
2765
2767
2768
2769
2774
2775
2776
2778
2779
2780
2782
2784
2792
2795
2800
2801
2802
2804
2807
2811
2814
2818
2820
2826
2827
2831
2834
2849
2850
2852
2853
2857
2860
2862
2867
2870
2872
2878
2879
2883
2885
2888
2892
2896
2897
2899
2912
2913
2915
2921
2922
2929
2930
2934
2935
2937
2938
2941
2942
2943
2944
2945
2958
2963
2967
2972
2978
2980
2983
2986
2990
2995
2997
2999
3004
3015
3017
3020
3023
3025
3028
3035
3044
3056
3058
3060
3061
3062
3065
3066
3067
3068
3070
3071
3074
3075
3087
3094
3095
3098
3103
3105
3112
3114
3116
3118
3129
3130
3140
3142
3145
3146
3149
3151
3153
3155
3156
3157
3165
3167
3169
3171
3173
3176
3178
3181
3182
3183
3184
3186
3187
3188
3196
3199
3203
3204
3208
3211
3215
3221
3223
3228
3236
3237
3245
3246
3248
3249
3251
3262
3263
3265
3266
3267
3272
3274
3275
3285
3286
3291
3292
3293
3296
3299
3302
3307
3308
3314
3316
3330
3332
3339
3340
3341
3343
3344
3346
3353
3359
3360
3362
3367
3386
3392
3395
3397
3401
3403
3405
3406
3407
3411
3414
3415
3420
3421
3422
3426
3428
3429
3431
3434
3437
3439
3440
3443
3445
3446
3450
3454
3457
3458
3459
3460
3461
3462
3473
3476
3486
3491
3493
3502
3511
3517
3518
3519
3520
3521
3525
3528
3529
3530
3541
3543
3544
3565
3566
3570
3575
3576
3578
3579
3582
3585
3591
3597
3601
3603
3605
3606
3608
3612
3614
3615
3626
3630
3634
3638
3639
3640
3642
3649
3650
3653
3656
3657
3662
3663
3679
3682
3685
3692
3696
3697
3705
3712
3720
3722
3723
3728
3734
3735
3737
3739
3746
3748
3760
3762
3765
3770
3771
3776
3778
3779
3788
3789
3800
3803
3806
3807
3808
3813
3814
3816
3823
3825
3830
3838
3839
3847
3849
3852
3859
3873
3879
3882
3885
3891
3892
3898
3904
3910
3916
3924
3926
3929
3931
3933
3936
3938
3943
3944
3945
3947
3948
3960
3966
3967
3973
3974
3977
3988
4010
4017
4019
4022
4028
4032
4048
4060
4078
4083
4089
4095
4100
4102
4104
4106
4111
4112
4116
4117
4118
4119
4124
4126
4135
4136
4140
4143
4150
4154
4158
4159
4161
4166
4167
4170
4172
4180
4185
4189
4191
4192
4202
4203
4206
4207
4209
4215
4217
4221
4223
4226
4228
4230
4231
4232
4234
4235
4249
4250
4260
4262
4268
4269
4271
4273
4275
4277
4279
4281
4282
4283
4285
4286
4287
4289
4291
4293
4294
4301
4304
4311
4315
4317
4318
4319
4320
4322
4323
4324
4331
4342
4347
4348
4349
4351
4357
4362
4365
4366
4367
4372
4375
4376
4389
4391
4396
4397
4408
4409
4412
4417
4418
4420
4421
4429
4433
4443
4447
4449
4451
4452
4456
4467
4470
4475
4477
4481
4488
4493
4494
4501
4515
4516
4519
4521
4525
4526
4528
4530
4544
4549
4550
4555
4556
4558
4564
4567
4571
4575
4577
4580
4583
4585
4586
4587
4590
4593
4597
4600
4603
4605
4607
4611
4614
4616
4618
4620
4624
4627
4628
4632
4634
4635
4636
4649
4654
4656
4662
4667
4668
4671
4676
4677
4679
4683
4686
4689
4691
4695
4697
4700
4703
4707
4708
4715
4716
4717
4726
4733
4737
4744
4748
4753
4754
4758
4762
4763
4766
4767
4768
4770
4774
4781
4783
4784
4788
4793
4798
4801
4804
4808
4809
4821
4824
4827
4830
4832
4834
4836
4842
4851
4852
4853
4854
4858
4862
4865
4875
4877
4878
4879
4881
4890
4891
4894
4901
4904
4906
4912
4915
4919
4921
4923
4926
4927
4933
4935
4946
4948
4949
4950
4951
4953
4962
4963
4970
4971
4973
4974
4975
4978
4979
4989
4990
4993
4994
4995
4997
4998
4999
5005
5009
5012
5017
5018
5019
5025
5026
5028
5030
5031
5035
5039
5041
5042
5051
5053
5055
5057
5060
5066
5068
5070
5072
5073
5074
5076
5078
5085
5089
5092
5093
5094
5096
5099
5100
5103
5104
5107
5111
5118
5126
5129
5133
5147
5151
5155
5159
5160
5164
5168
5170
5171
5176
5179
5181
5182
5184
5187
5189
5192
5212
5215
5218
5219
5225
5226
5237
5238
5239
5247
5249
5254
5256
5258
5265
5266
5274
5278
5280
5281
5292
5297
5298
5303
5310
5314
5319
5321
5332
5333
5335
5345
5349
5351
5361
5364
5365
5372
5374
5378
5388
5394
5398
5401
5405
5406
5409
5410
5420
5421
5422
5424
5433
5434
5438
5442
5448
5451
5452
5459
5462
5464
5466
5470
5471
5472
5476
5481
5482
5484
5486
5492
5494
5503
5504
5506
5508
5509
5511
5518
5520
5522
5527
5531
5537
5541
5542
5544
5545
5546
5548
5554
5557
5563
5565
5568
5570
5574
5576
5581
5582
5585
5588
5589
5592
5594
5595
5597
5602
5604
5605
5606
5607
5608
5609
5610
5611
5616
5625
5627
5629
5631
5639
5646
5656
5659
5660
5661
5667
5681
5682
5685
5686
5688
5692
5695
5699
5700
5702
5703
5704
5705
5706
5710
5712
5715
5719
5723
5725
5730
5731
5732
5735
5740
5748
5749
5750
5752
5755
5766
5768
5783
5785
5786
5790
5795
5800
5801
5806
5808
5810
5812
5818
5821
5822
5824
5827
5835
5843
5848
5849
5851
5861
5864
5868
5869
5870
5875
5876
5880
5885
5892
5894
5895
5898
5900
5901
5902
5907
5908
5910
5913
5930
5934
5935
5939
5942
5944
5950
5959
5961
5962
5970
5975
5978
5983
5986
5988
5991
5993
5994
5997
5998
6004
6009
6012
6013
6019
6021
6022
6025
6029
6030
6032
6035
6038
6040
6044
6047
6050
6052
6053
6059
6062
6067
6072
6076
6077
6078
6081
6085
6088
6096
6110
6112
6114
6115
6117
6118
6122
6123
6126
6137
6139
6140
6143
6147
6155
6162
6163
6165
6168
6172
6177
6178
6180
6185
6189
6194
6198
6199
6200
6205
6206
6209
6213
6220
6221
6224
6227
6229
6233
6236
6238
6240
6242
6244
6246
6248
6249
6250
6260
6265
6268
6278
6282
6290
6293
6300
6304
6306
6308
6309
6318
6325
6330
6339
6346
6347
6349
6350
6353
6360
6361
6373
6376
6378
6379
6384
6388
6393
6403
6404
6414
6423
6425
6427
6430
6431
6434
6436
6441
6451
6455
6458
6459
6461
6476
6486
6487
6489
6490
6491
6495
6496
6498
6499
6500
6504
6506
6507
6519
6520
6523
6525
6529
6530
6532
6533
6542
6545
6546
6551
6553
6557
6564
6567
6570
6575
6577
6580
6581
6582
6586
6592
6593
6599
6600
6602
6613
6620
6625
6629
6635
6638
6639
6640
6642
6643
6644
6645
6653
6657
6658
6659
6661
6663
6664
6666
6678
6684
6685
6689
6691
6696
6698
6700
6709
6710
6714
6717
6718
6722
6734
6738
6739
6746
6749
6750
6757
6758
6762
6763
6765
6771
6774
6782
6787
6793
6794
6798
6800
6810
6814
6822
6835
6836
6837
6839
6842
6858
6861
6867
6877
6884
6888
6894
6896
6903
6906
6910
6911
6912
6913
6915
6918
6919
6920
6922
6923
6928
6929
6930
6935
6938
6939
6946
6948
6953
6958
6962
6977
6982
6985
6986
6987
6988
6990
6996
7013
7016
7022
7023
7026
7030
7036
7038
7045
7046
7047
7049
7051
7054
7060
7062
7066
7067
7071
7073
7075
7077
7082
7083
7084
7089
7090
7097
7100
7110
7112
7121
7128
7129
7136
7144
7145
7147
7150
7155
7156
7163
7164
7165
7167
7168
7174
7175
7178
7181
7184
7188
7191
7193
7196
7197
7199
7209
7210
7218
7222
7225
7234
7239
7243
7248
7250
7251
7255
7259
7263
7266
7270
7278
7288
7289
7291
7297
7300
7301
7304
7309
7313
7316
7320
7322
7324
7325
7332
7334
7335
7337
7342
7344
7345
7346
7351
7357
7361
7363
7364
7372
7373
7376
7388
7391
7394
7395
7397
7400
7402
7403
7404
7405
7407
7408
7410
7416
7417
7423
7427
7430
7434
7435
7439
7449
7453
7455
7457
7474
7478
7479
7481
7482
7490
7491
7493
7494
7500
7502
7503
7510
7512
7513
7514
7517
7520
7523
7524
7525
7527
7528
7541
7542
7547
7550
7553
7554
7566
7571
7577
7581
7583
7588
7600
7606
7608
7618
7619
7621
7624
7636
7639
7641
7645
7646
7649
7662
7665
7667
7668
7672
7678
7679
7682
7689
7690
7693
7697
7702
7705
7708
7709
7712
7717
7719
7723
7724
7731
7733
7740
7743
7744
7745
7750
7752
7755
7756
7759
7767
7768
7772
7779
7780
7781
7784
7789
7791
7794
7801
7810
7814
7816
7820
7821
7832
7836
7838
7840
7841
7844
7850
7852
7854
7863
7864
7872
7874
7879
7880
7888
7892
7899
7903
7916
7918
7919
7921
7922
7924
7926
7930
7931
7938
7943
7953
7955
7960
7964
7968
7973
7980
7983
7986
7990
7991
7998
8006
8010
8011
8013
8014
8017
8021
8022
8029
8031
8034
8035
8038
8042
8044
8050
8056
8063
8071
8078
8079
8083
8084
8090
8092
8098
8101
8104
8106
8109
8110
8111
8112
8113
8114
8117
8121
8127
8128
8136
8141
8142
8143
8144
8148
8158
8163
8175
8176
8180
8184
8186
8190
8200
8201
8203
8215
8221
8223
8224
8226
8230
8233
8243
8246
8252
8256
8260
8264
8269
8275
8277
8281
8284
8298
8301
8303
8305
8306
8308
8314
8315
8318
8319
8327
8329
8331
8332
8334
8335
8337
8338
8344
8348
8350
8351
8353
8358
8363
8366
8371
8381
8396
8399
8401
8404
8405
8406
8407
8409
8411
8412
8416
8426
8430
8431
8432
8434
8440
8447
8449
8450
8451
8452
8456
8459
8463
8467
8470
8473
8478
8479
8480
8484
8491
8492
8496
8497
8500
8501
8502
8506
8507
8512
8522
8524
8526
8528
8541
8543
8547
8550
8552
8556
8570
8572
8574
8576
8577
8580
8581
8584
8587
8594
8603
8607
8611
8615
8620
8624
8625
8628
8630
8631
8633
8635
8638
8641
8646
8647
8651
8655
8659
8663
8667
8676
8678
8682
8684
8685
8686
8697
8702
8704
8705
8706
8715
8720
8721
8723
8724
8728
8735
8741
8745
8749
8754
8755
8760
8767
8775
8777
8779
8781
8783
8789
8796
8797
8801
8804
8806
8808
8810
8822
8823
8829
8836
8838
8839
8843
8849
8851
8860
8861
8862
8870
8874
8878
8882
8884
8886
8889
8892
8894
8895
8896
8897
8898
8899
8902
8903
8904
8910
8914
8919
8921
8928
8929
8930
8936
8941
8942
8948
8959
8965
8982
8991
8995
8998
8999
9001
9003
9005
9006
9007
9009
9010
9013
9015
9018
9023
9026
9032
9035
9036
9040
9049
9053
9058
9059
9060
9062
9064
9070
9074
9075
9076
9077
9083
9097
9099
9101
9103
9110
9111
9115
9122
9125
9128
9131
9134
9135
9142
9143
9144
9147
9148
9154
9155
9159
9166
9172
9173
9182
9183
9187
9188
9189
9190
9208
9213
9216
9218
9223
9225
9234
9235
9237
9238
9241
9244
9245
9246
9247
9248
9250
9251
9257
9258
9260
9262
9264
9265
9268
9271
9272
9278
9282
9284
9291
9296
9298
9301
9310
9312
9313
9314
9316
9318
9319
9329
9330
9331
9332
9333
9334
9335
9337
9340
9343
9349
9350
9351
9358
9371
9374
9381
9387
9389
9390
9391
9393
9394
9404
9409
9412
9416
9423
9433
9434
9436
9437
9443
9451
9452
9453
9457
9464
9466
9468
9469
9470
9480
9482
9490
9491
9497
9500
9502
9504
9518
9519
9520
9522
9525
9530
9532
9544
9556
9561
9562
9564
9566
9567
9570
9572
9577
9580
9591
9593
9596
9602
9608
9615
9617
9618
9621
9622
9623
9628
9630
9644
9648
9653
9657
9662
9666
9671
9675
9678
9682
9693
9698
9703
9704
9706
9710
9714
9717
9725
9728
9729
9731
9745
9748
9750
9752
9753
9755
9756
9761
9763
9768
9771
9781
9788
9790
9794
9801
9803
9804
9809
9814
9818
9826
9828
9829
9831
9832
9834
9835
9836
9837
9841
9845
9846
9847
9848
9853
9862
9864
9865
9868
9869
9871
9875
9877
9878
9879
9886
9892
9896
9899
9902
9908
9909
9920
9926
9931
9933
9934
9943
9945
9946
9949
9950
9955
9957
9958
9960
9962
9971
9975
9977
9979
9984
9987
9990
9991
9997
10000
10002
10003
10004
10005
10010
10016
10019
10020
10022
10024
10028
10031
10036
10037
10043
10046
10051
10057
10059
10061
10064
10072
10073
10075
10080
10083
10086
10092
10093
10104
10106
10111
10112
10115
10118
10119
10133
10140
10144
10149
10159
10162
10164
10165
10166
10167
10169
10176
10185
10187
10192
10206
10210
10213
10219
10221
10226
10235
10236
10241
10244
10246
10258
10262
10264
10267
10269
10270
10271
10272
10273
10274
10278
10283
10287
10295
10296
10302
10304
10307
10313
10314
10315
10318
10322
10333
10335
10337
10339
10343
10348
10349
10351
10353
10355
10358
10361
10365
10367
10370
10371
10372
10374
10376
10379
10390
10397
10400
10403
10404
10406
10407
10408
10414
10415
10421
10424
10427
10434
10435
10438
10439
10440
10443
10447
10452
10454
10460
10472
10474
10476
10482
10483
10486
10491
10496
10499
10504
10513
10516
10519
10520
10523
10530
10531
10533
10535
10536
10539
10541
10546
10555
10559
10561
10569
10570
10573
10576
10577
10585
10586
10587
10590
10591
10597
10598
10599
10601
10604
10605
10607
10611
10622
10626
10636
10639
10646
10649
10650
10651
10653
10655
10656
10659
10660
10661
10665
10667
10668
10670
10672
10673
10679
10691
10695
10698
10702
10708
10709
10714
10715
10718
10724
10725
10734
10735
10740
10742
10745
10749
10751
10752
10756
10764
10766
10768
10769
10773
10776
10778
10782
10787
10788
10789
10812
10813
10814
10816
10820
10836
10837
10838
10842
10847
10853
10856
10857
10858
10860
10863
10865
10866
10871
10875
10877
10884
10886
10887
10893
10894
10901
10903
10906
10911
10916
10917
10926
10935
10941
10942
10944
10946
10953
10954
10955
10956
10960
10968
10969
10972
10977
10986
10988
10994
10997
11001
11003
11004
11015
11018
11019
11023
11025
11026
11027
11029
11034
11036
11039
11041
11044
11046
11048
11050
11052
11057
11058
11062
11066
11069
11073
11074
11076
11080
11085
11087
11091
11092
11095
11101
11111
11112
11122
11125
11127
11130
11137
11138
11142
11151
11153
11166
11176
11181
11183
11193
11194
11195
11196
11199
11206
11208
11211
11221
11222
11226
11227
11228
11230
11241
11242
11249
11250
11252
11256
11258
11271
11273
11283
11284
11285
11293
11295
11303
11305
11306
11308
11309
11312
11315
11316
11317
11318
11322
11325
11327
11329
11332
11337
11338
11343
11351
11358
11364
11365
11370
11372
11373
11376
11378
11387
11390
11391
11401
11403
11405
11412
11414
11415
11422
11430
11439
11440
11441
11443
11452
11454
11458
11464
11465
11467
11474
11481
11482
11490
11494
11495
11497
11499
11502
11511
11512
11514
11521
11537
11538
11552
11554
11559
11561
11562
11565
11566
11572
11574
11577
11580
11581
11583
11586
11589
11597
11598
11599
11601
11609
11610
11615
11620
11623
11624
11625
11628
11629
11635
11639
11640
11642
11646
11650
11655
11656
11658
11662
11663
11664
11679
11685
11691
11701
11702
11705
11707
11709
11710
11713
11717
11718
11719
11721
11724
11725
11728
11732
11738
11739
11742
11743
11747
11752
11753
11757
11760
11765
11776
11778
11779
11784
11787
11788
