3
4
8
12
14
19
23
25
27
28
31
35
36
40
42
51
52
53
54
64
73
77
79
85
87
88
90
93
94
96
100
102
103
108
119
121
122
125
133
135
138
139
141
143
144
146
155
160
164
169
171
177
179
183
187
190
191
195
205
209
213
217
225
227
231
235
239
241
242
243
247
250
256
258
262
269
273
278
280
285
292
296
298
299
300
302
311
315
317
326
327
328
330
331
333
343
344
351
352
355
358
365
369
370
371
385
389
390
391
395
396
398
399
400
407
408
416
417
420
428
434
436
437
438
442
443
444
446
452
460
468
469
473
474
475
477
479
480
483
492
493
503
507
512
519
520
524
526
527
528
529
530
531
532
534
537
538
546
548
550
554
563
569
572
574
576
578
582
584
585
592
593
598
600
605
608
609
612
613
617
620
623
626
630
632
637
638
639
641
642
643
644
649
650
654
660
661
663
664
665
669
670
678
684
685
687
692
696
697
702
711
712
713
720
724
728
730
732
733
735
741
745
752
755
758
766
767
768
769
771
776
777
778
784
785
788
795
798
800
803
804
807
808
809
811
816
820
821
823
824
829
834
841
845
847
848
851
856
858
861
862
863
867
871
873
875
876
878
884
892
893
899
901
903
915
918
920
926
931
941
949
950
953
955
973
976
986
990
992
995
998
999
1002
1008
1009
1011
1013
1018
1019
1022
1025
1035
1039
1045
1048
1054
1055
1057
1063
1064
1065
1067
1074
1085
1087
1091
1092
1100
1103
1104
1107
1112
1122
1124
1127
1136
1137
1139
1147
1148
1155
1161
1168
1170
1171
1179
1181
1182
1186
1194
1205
1206
1212
1215
1223
1228
1229
1230
1236
1237
1241
1245
1246
1248
1250
1254
1255
1262
1271
1275
1278
1279
1284
1287
1292
1295
1299
1300
1306
1308
1309
1311
1312
1314
1319
1327
1330
1332
1335
1339
1341
1344
1348
1349
1364
1371
1372
1373
1376
1378
1380
1381
1384
1385
1386
1389
1394
1405
1407
1414
1419
1421
1422
1425
1428
1430
1433
1442
1447
1448
1454
1455
1470
1482
1484
1488
1489
1490
1496
1498
1500
1501
1505
1507
1509
1517
1518
1524
1527
1532
1534
1537
1539
1541
1543
1546
1547
1551
1553
1557
1558
1572
1573
1574
1580
1581
1589
1599
1607
1608
1615
1616
1619
1624
1626
1632
1636
1640
1642
1643
1647
1648
1650
1656
1658
1660
1662
1665
1667
1673
1675
1677
1679
1680
1684
1685
1688
1691
1694
1699
1702
1703
1708
1711
1712
1715
1719
1722
1728
1732
1733
1739
1740
1750
1752
1754
1755
1759
1760
1761
1763
1764
1768
1775
1780
1786
1791
1797
1799
1801
1809
1811
1818
1820
1826
1831
1832
1834
1837
1838
1839
1841
1844
1859
1865
1868
1875
1879
1882
1891
1898
1899
1902
1903
1905
1906
1910
1913
1915
1917
1920
1927
1929
1930
1932
1933
1940
1942
1943
1949
1950
1953
1957
1958
1959
1960
1962
1967
1982
1985
1988
1993
1995
1998
1999
2007
2009
2010
2012
2033
2034
2035
2039
2043
2045
2046
2051
2052
2054
2056
2057
2065
2073
2074
2075
2076
2080
2085
2097
2102
2107
2108
2119
2120
2121
2124
2125
2126
2133
2136
2137
2140
2147
2149
2157
2161
2165
2167
2171
2175
2182
2190
2191
2192
2193
2194
2200
2201
2204
2212
2216
2217
2218
2219
2220
2227
2228
2229
2235
2238
2239
2246
2247
2248
2254
2255
2261
2263
2264
2269
2271
2272
2274
2277
2280
2281
2283
2284
2289
2291
2295
2296
2297
2305
2307
2308
2311
2312
2318
2322
2325
2334
2335
2338
2342
2348
2349
2354
2355
2359
2360
2361
2363
2366
2369
2370
2373
2375
2381
2382
2385
2388
2390
2391
2392
2394
2403
2406
2407
2418
2425
2426
2427
2430
2436
2439
2444
2455
2465
2471
2484
2491
2492
2493
2502
2503
2507
2512
2516
2520
2527
2529
2532
2533
2534
2537
2538
2542
2544
2545
2546
2549
2552
2553
2554
2560
2563
2565
2566
2567
2568
2569
2586
2588
2589
2600
2607
2610
2611
2617
2621
2622
2627
2633
2641
2645
2650
2654
2658
2660
2662
2667
2671
2681
2682
2683
2684
2685
2688
2695
2699
2703
2707
2708
2710
2712
2714
2717
2722
2725
2726
2728
2729
2731
2732
2736
2751
2755
2756
2764
2765
2768
2770
2772
2776
2777
2779
2780
2782
2786
2788
2789
2790
2801
2805
2809
2810
2811
2813
2819
2824
2826
2829
2836
2838
2839
2843
2844
2847
2848
2850
2851
2871
2873
2874
2877
2881
2895
2898
2903
2905
2910
2912
2924
2931
2937
2946
2949
2952
2953
2957
2959
2961
2974
2976
2981
2983
2988
2990
2993
3002
3006
3010
3011
3013
3015
3021
3026
3031
3033
3038
3047
3048
3049
3050
3057
3060
3062
3064
3066
3068
3083
3085
3089
3091
3094
3095
3096
3106
3112
3114
3117
3121
3123
3124
3125
3126
3131
3133
3135
3140
3145
3146
3147
3148
3161
3163
3165
3166
3170
3172
3178
3186
3194
3207
3208
3219
3229
3230
3247
3253
3262
3263
3268
3270
3271
3279
3282
3286
3288
3291
3294
3296
3297
3301
3307
3310
3311
3319
3322
3326
3333
3339
3344
3352
3355
3360
3365
3366
3376
3384
3385
3392
3393
3395
3397
3403
3404
3405
3406
3407
3411
3416
3417
3418
3427
3430
3436
3441
3447
3451
3456
3460
3465
3466
3467
3468
3469
3474
3478
3480
3486
3487
3490
3493
3494
3498
3501
3504
3507
3509
3510
3512
3513
3516
3520
3521
3529
3531
3534
3538
3549
3551
3555
3556
3558
3559
3562
3564
3566
3568
3571
3573
3576
3577
3580
3584
3587
3591
3592
3593
3597
3599
3601
3604
3606
3611
3613
3615
3616
3617
3618
3622
3626
3629
3631
3633
3637
3645
3648
3650
3655
3656
3658
3660
3661
3669
3670
3678
3681
3682
3686
3692
3701
3708
3714
3715
3722
3724
3733
3736
3742
3752
3753
3754
3755
3756
3762
3768
3769
3774
3778
3779
3794
3796
3797
3800
3802
3803
3805
3806
3807
3808
3812
3814
3816
3823
3824
3834
3838
3846
3847
3854
3869
3871
3874
3881
3883
3904
3920
3922
3927
3929
3932
3943
3944
3951
3953
3963
3965
3968
3972
3973
3984
3993
3995
3999
4000
4008
4010
4026
4028
4030
4031
4034
4037
4040
4041
4042
4043
4046
4047
4048
4050
4052
4054
4055
4057
4082
4083
4085
4086
4087
4092
4095
4099
4100
4104
4105
4112
4116
4119
4120
4128
4133
4143
4145
4147
4156
4157
4161
4162
4168
4177
4180
4192
4194
4195
4197
4199
4201
4210
4211
4214
4218
4220
4224
4231
4232
4237
4239
4240
4242
4247
4249
4250
4259
4270
4272
4282
4285
4286
4293
4316
4325
4327
4329
4338
4344
4353
4355
4357
4358
4360
4369
4371
4374
4375
4376
4380
4381
4383
4390
4393
4395
4396
4409
4411
4414
4415
4416
4417
4424
4426
4427
4435
4436
4438
4445
4446
4447
4459
4460
4463
4472
4474
4476
4479
4486
4492
4493
4501
4505
4506
4518
4519
4521
4523
4528
4535
4536
4540
4542
4545
4551
4552
4556
4557
4560
4568
4570
4576
4584
4585
4587
4598
4599
4601
4602
4603
4604
4605
4610
4611
4614
4616
4621
4622
4623
4624
4627
4628
4629
4630
4640
4644
4648
4650
4653
4655
4656
4661
4662
4663
4667
4675
4676
4677
4686
4691
4699
4701
4706
4709
4712
4714
4717
4719
4724
4725
4728
4733
4734
4744
4745
4748
4750
4753
4761
4762
4763
4764
4769
4773
4778
4779
4780
4781
4783
4785
4787
4790
4799
4810
4817
4818
4824
4831
4836
4844
4846
4861
4871
4875
4881
4889
4892
4900
4905
4906
4907
4908
4913
4915
4916
4917
4922
4927
4930
4938
4944
4945
4946
4954
4957
4959
4967
4975
4976
4977
4979
4983
4984
4995
4998
4999
5003
5007
5008
5015
5016
5019
5020
5022
5024
5036
5037
5039
5044
5046
5047
5048
5061
5067
5071
5074
5075
5079
5081
5082
5086
5088
5091
5092
5093
5095
5099
5102
5105
5107
5113
5119
5122
5123
5125
5131
5133
5137
5138
5139
5142
5148
5150
5151
5155
5158
5161
5164
5165
5171
5172
5173
5174
5182
5186
5189
5190
5195
5198
5201
5206
5207
5208
5211
5214
5215
5216
5224
5225
5226
5227
5230
5231
5234
5237
5239
5244
5247
5250
5251
5254
5256
5257
5259
5265
5268
5274
5278
5279
5283
5286
5288
5291
5293
5294
5299
5304
5306
5309
5321
5323
5324
5327
5330
5331
5332
5335
5337
5338
5341
5344
5347
5348
5353
5354
5356
5358
5364
5365
5378
5383
5384
5387
5392
5401
5402
5406
5407
5414
5416
5425
5431
5434
5438
5439
5440
5443
5444
5446
5447
5448
5449
5452
5454
5456
5458
5461
5463
5474
5476
5478
5482
5487
5494
5495
5496
5502
5508
5511
5513
5515
5516
5517
5525
5528
5538
5544
5547
5548
5549
5550
5554
5560
5561
5564
5566
5568
5569
5570
5572
5573
5574
5577
5593
5595
5596
5603
5604
5605
5607
5609
5610
5614
5616
5617
5619
5621
5625
5627
5633
5635
5638
5643
5645
5646
5653
5663
5667
5668
5669
5670
5674
5675
5676
5682
5700
5706
5707
5708
5710
5718
5719
5723
5724
5725
5726
5727
5730
5731
5733
5737
5740
5747
5748
5749
5752
5754
5760
5763
5765
5770
5771
5773
5775
5776
5779
5785
5787
5788
5789
5803
5804
5809
5813
5820
5823
5824
5826
5827
5828
5829
5838
5848
5851
5852
5857
5861
5869
5875
5881
5884
5886
5888
5889
5895
5898
5900
5907
5914
5922
5926
5928
5934
5937
5940
5941
5942
5947
5955
5956
5960
5962
5963
5970
5980
5988
5999
6002
6006
6012
6013
6016
6021
6023
6026
6029
6036
6042
6043
6047
6048
6049
6052
6054
6061
6073
6076
6079
6083
6084
6085
6087
6090
6091
6103
6104
6106
6108
6109
6111
6116
6119
6124
6128
6133
6134
6136
6138
6140
6141
6142
6143
6146
6148
6149
6150
6151
6155
6164
6166
6167
6168
6170
6173
6177
6182
6183
6188
6189
6190
6195
6198
6201
6203
6207
6215
6218
6220
6222
6225
6232
6233
6234
6237
6239
6241
6246
6249
6251
6252
6255
6257
6264
6274
6283
6284
6286
6291
6294
6297
6298
6300
6303
6304
6316
6318
6322
6331
6337
6343
6347
6350
6351
6352
6353
6354
6355
6356
6358
6359
6361
6362
6368
6371
6373
6374
6380
6390
6392
6396
6397
6399
6400
6405
6406
6408
6410
6411
6412
6417
6422
6424
6431
6434
6435
6436
6439
6440
6447
6453
6458
6460
6466
6470
6471
6476
6483
6485
6487
6488
6490
6493
6497
6500
6502
6511
6513
6519
6522
6524
6529
6531
6533
6537
6538
6539
6540
6542
6543
6549
6551
6553
6555
6556
6567
6570
6577
6578
6579
6583
6587
6588
6591
6595
6598
6602
6605
6612
6613
6614
6617
6623
6625
6629
6630
6632
6633
6637
6640
6646
6649
6653
6656
6663
6665
6666
6670
6680
6681
6694
6695
6701
6705
6715
6717
6719
6723
6725
6727
6728
6730
6731
6732
6741
6746
6750
6753
6755
6758
6760
6763
6773
6775
6782
6788
6792
6794
6797
6803
6806
6807
6811
6815
6817
6819
6823
6830
6831
6838
6839
6842
6843
6845
6847
6849
6853
6855
6856
6865
6869
6870
6875
6882
6884
6886
6887
6892
6893
6894
6897
6901
6910
6913
6914
6915
6918
6920
6927
6930
6936
6940
6941
6943
6950
6952
6953
6954
6959
6964
6973
6976
6979
6985
6987
7003
7005
7006
7012
7013
7015
7018
7031
7033
7037
7041
7042
7057
7062
7064
7065
7066
7067
7068
7069
7078
7082
7083
7084
7088
7097
7098
7101
7102
7104
7105
7109
7110
7113
7114
7120
7127
7128
7129
7130
7133
7135
7137
7159
7160
7161
7164
7171
7176
7180
7185
7186
7188
7190
7195
7196
7206
7209
7214
7219
7221
7223
7225
7226
7230
7232
7234
7236
7250
7256
7257
7260
7267
7269
7274
7275
7278
7289
7291
7293
7297
7300
7304
7305
7306
7307
7309
7310
7312
7321
7324
7326
7327
7331
7332
7334
7338
7341
7352
7354
7356
7359
7361
7367
7375
7377
7379
7380
7383
7387
7390
7391
7392
7397
7399
7408
7409
7410
7415
7416
7418
7420
7429
7433
7438
7439
7440
7450
7457
7458
7459
7461
7469
7472
7473
7477
7479
7484
7498
7499
7503
7504
7507
7512
7517
7523
7526
7527
7529
7530
7531
7534
7537
7538
7548
7550
7556
7565
7567
7573
7574
7577
7585
7594
7599
7603
7606
7610
7617
7618
7620
7621
7622
7632
7633
7634
7638
7640
7641
7645
7646
7647
7651
7653
7659
7663
7666
7668
7673
7676
7686
7688
7690
7700
7703
7705
7713
7714
7717
7719
7724
7730
7732
7738
7740
7741
7751
7753
7760
7762
7764
7767
7769
7773
7775
7782
7786
7797
7802
7805
7807
7810
7814
7815
7816
7819
7825
7836
7838
7840
7845
7847
7853
7857
7858
7861
7863
7867
7872
7878
7879
7881
7884
7885
7887
7889
7890
7892
7894
7895
7899
7924
7928
7929
7933
7938
7942
7948
7949
7950
7953
7958
7964
7967
7971
7974
7976
7983
7989
7990
7991
7997
7998
8001
8003
8005
8010
8013
8016
8020
8029
8031
8033
8046
8048
8051
8055
8061
8063
8070
8075
8082
8084
8087
8090
8094
8104
8105
8106
8110
8113
8114
8116
8118
8120
8122
8127
8129
8130
8131
8134
8138
8142
8144
8147
8149
8151
8155
8157
8158
8160
8162
8164
8167
8171
8173
8175
8181
8187
8197
8214
8216
8223
8224
8226
8230
8232
8237
8238
8239
8242
8254
8259
8262
8264
8266
8267
8271
8272
8282
8283
8288
8293
8302
8304
8314
8316
8323
8324
8326
8338
8341
8342
8344
8346
8347
8351
8352
8357
8358
8359
8368
8376
8377
8383
8388
8393
8394
8396
8397
8400
8402
8403
8404
8408
8413
8416
8421
8426
8429
8432
8433
8434
8436
8437
8439
8443
8445
8451
8468
8470
8476
8490
8491
8496
8497
8499
8501
8503
8507
8509
8518
8524
8528
8531
8532
8533
8541
8543
8546
8549
8552
8556
8557
8559
8560
8563
8564
8567
8568
8569
8570
8571
8572
8574
8579
8580
8581
8589
8590
8594
8597
8606
8607
8610
8614
8619
8620
8621
8626
8630
8631
8632
8633
8634
8636
8638
8639
8642
8648
8649
8650
8652
8657
8664
8671
8672
8675
8679
8680
8682
8686
8690
8692
8696
8699
8700
8705
8708
8715
8717
8719
8722
8723
8724
8732
8737
8739
8741
8744
8747
8751
8752
8755
8757
8758
8762
8765
8769
8771
8776
8785
8786
8790
8797
8803
8807
8810
8814
8815
8818
8825
8830
8839
8842
8851
8853
8859
8860
8861
8864
8869
8873
8876
8891
8894
8897
8899
8913
8914
8922
8923
8924
8926
8927
8930
8932
8938
8939
8940
8942
8944
8949
8952
8961
8963
8968
8969
8980
8984
8988
8999
9001
9008
9023
9025
9027
9028
9029
9038
9040
9041
9044
9048
9049
9052
9058
9062
9065
9067
9070
9071
9079
9080
9083
9090
9093
9094
9096
9104
9105
9107
9108
9110
9112
9114
9117
9119
9121
9123
9124
9126
9127
9130
9138
9144
9157
9165
9166
9172
9173
9177
9182
9185
9196
9198
9202
9204
9205
9208
9215
9218
9219
9222
9228
9232
9233
9237
9238
9239
9245
9247
9249
9250
9254
9260
9262
9271
9274
9280
9281
9285
9288
9289
9294
9296
9306
9308
9311
9314
9315
9320
9326
9327
9331
9334
9339
9341
9348
9350
9355
9357
9361
9363
9366
9372
9375
9384
9385
9389
9399
9400
9401
9408
9409
9410
9413
9414
9417
9423
9426
9427
9428
9429
9435
9437
9444
9448
9453
9454
9456
9457
9461
9462
9466
9467
9469
9473
9475
9479
9481
9483
9490
9496
9500
9501
9503
9505
9512
9513
9514
9516
9518
9521
9531
9534
9535
9536
9539
9544
9545
9548
9549
9551
9552
9553
9560
9563
9566
9570
9573
9574
9579
9598
9599
9602
9605
9606
9614
9631
9632
9636
9637
9639
9641
9649
9663
9666
9667
9669
9676
9677
9685
9690
9691
9695
9700
9703
9704
9705
9709
9717
9719
9725
9728
9736
9739
9741
9743
9746
9757
9758
9764
9769
9776
9779
9781
9787
9788
9791
9793
9799
9802
9803
9806
9807
9808
9812
9815
9820
9828
9838
9839
9841
9850
9852
9853
9865
9871
9872
9873
9878
9879
9883
9890
9895
9899
9904
9905
9906
9907
9918
9922
9924
9927
9929
9934
9936
