0
1
3
4
6
10
11
12
13
17
20
23
24
27
28
30
33
36
38
41
44
47
49
51
56
58
60
62
63
66
69
71
75
88
91
94
102
103
104
112
113
116
119
120
121
125
126
132
137
139
140
147
151
152
153
158
161
162
163
166
168
173
179
182
186
187
190
194
202
203
209
210
211
217
227
230
231
245
247
250
251
255
257
260
261
263
264
269
270
271
273
275
279
280
281
284
285
287
295
300
301
305
306
309
314
324
329
341
344
346
349
355
363
371
372
374
377
379
385
387
390
391
392
395
402
406
408
416
421
422
423
427
429
434
441
442
445
446
448
452
456
457
466
467
469
477
478
479
487
489
490
502
504
505
508
510
513
521
524
525
527
529
532
537
540
541
542
545
550
551
555
557
560
564
567
569
570
575
578
579
580
589
599
608
609
619
620
628
629
630
635
637
642
643
644
647
648
649
650
658
659
664
667
668
669
670
673
678
680
683
687
688
716
722
724
727
730
731
734
738
740
743
745
746
749
750
752
758
762
771
773
774
775
779
781
783
785
786
788
795
800
803
807
811
825
833
835
839
844
851
854
861
863
866
871
873
875
877
882
885
889
895
901
912
916
918
919
929
932
938
939
940
942
946
949
950
951
953
956
957
959
964
966
970
971
974
975
976
979
981
982
983
988
991
993
994
1002
1003
1004
1009
1010
1011
1018
1023
1026
1027
1030
1033
1038
1039
1040
1042
1043
1047
1049
1061
1064
1067
1073
1075
1080
1086
1087
1088
1089
1095
1099
1102
1104
1109
1112
1118
1126
1127
1129
1130
1134
1136
1140
1141
1142
1143
1152
1153
1159
1163
1166
1175
1179
1180
1182
1184
1185
1190
1193
1196
1203
1210
1217
1222
1231
1233
1236
1245
1246
1247
1249
1253
1262
1264
1265
1269
1274
1279
1286
1288
1292
1306
1314
1315
1317
1318
1326
1329
1332
1334
1335
1339
1341
1343
1344
1345
1350
1353
1355
1356
1358
1359
1360
1361
1375
1377
1387
1394
1396
1397
1398
1402
1407
1408
1410
1411
1421
1433
1437
1442
1444
1446
1450
1461
1464
1467
1468
1473
1475
1478
1483
1484
1492
1494
1497
1498
1499
1500
1501
1502
1506
1510
1513
1517
1518
1521
1527
1530
1531
1533
1538
1540
1546
1547
1553
1559
1564
1568
1571
1575
1579
1581
1583
1595
1596
1597
1598
1601
1603
1604
1609
1613
1615
1621
1623
1627
1628
1631
1634
1636
1642
1643
1653
1654
1658
1659
1660
1667
1669
1670
1674
1679
1681
1684
1689
1692
1697
1698
1701
1703
1705
1706
1717
1726
1727
1728
1733
1737
1740
1744
1748
1750
1751
1757
1766
1768
1770
1777
1779
1782
1783
1784
1790
1791
1802
1804
1815
1818
1823
1824
1827
1830
1835
1838
1840
1843
1846
1850
1853
1854
1855
1856
1861
1862
1874
1876
1881
1882
1885
1886
1888
1890
1894
1900
1902
1909
1919
1920
1922
1928
1930
1931
1933
1936
1941
1957
1958
1960
1972
1973
1975
1980
1983
1986
1989
1992
1996
2002
2004
2009
2011
2012
2020
2021
2022
2026
2027
2042
2045
2050
2054
2056
2060
2074
2075
2078
2084
2090
2095
2097
2099
2101
2102
2103
2108
2110
2113
2114
2115
2122
2125
2134
2136
2145
2148
2150
2152
2155
2157
2158
2164
2165
2170
2172
2174
2178
2184
2190
2193
2204
2208
2211
2219
2227
2229
2231
2240
2241
2242
2247
2251
2258
2260
2262
2266
2268
2270
2276
2277
2284
2294
2295
2297
2303
2308
2311
2316
2317
2318
2322
2328
2329
2330
2340
2342
2348
2349
2351
2353
2362
2363
2372
2373
2377
2378
2381
2383
2392
2394
2395
2400
2404
2410
2411
2412
2420
2422
2427
2432
2433
2437
2439
2447
2449
2450
2454
2456
2465
2467
2468
2474
2478
2483
2488
2489
2490
2492
2498
2500
2501
2504
2507
2509
2510
2518
2522
2527
2531
2532
2533
2539
2540
2541
2547
2549
2552
2557
2559
2561
2565
2566
2568
2570
2574
2576
2580
2582
2583
2587
2594
2595
2598
2599
2601
2603
2606
2608
2611
2618
2624
2625
2634
2643
2648
2650
2651
2656
2658
2661
2663
2670
2672
2689
2694
2695
2700
2701
2703
2708
2709
2710
2712
2713
2715
2718
2719
2722
2727
2729
2733
2736
2738
2739
2741
2742
2744
2745
2747
2748
2749
2751
2753
2754
2764
2767
2777
2778
2781
2782
2785
2786
2789
2790
2794
2796
2797
2799
2800
2804
2808
2813
2832
2842
2853
2854
2855
2867
2877
2878
2880
2882
2885
2889
2891
2897
2902
2909
2910
2911
2915
2916
2929
2931
2942
2955
2957
2958
2959
2961
2967
2968
2969
2971
2972
2981
2983
2987
2990
2994
2998
3000
3001
3003
3010
3013
3018
3019
3022
3025
3026
3029
3030
3034
3035
3048
3052
3053
3054
3060
3061
3062
3067
3068
3073
3074
3076
3078
3083
3084
3085
3086
3087
3088
3090
3091
3095
3099
3102
3107
3108
3110
3111
3112
3114
3115
3117
3118
3123
3124
3129
3136
3137
3140
3141
3143
3146
3150
3152
3155
3163
3169
3178
3187
3192
3194
3198
3204
3205
3206
3207
3218
3220
3227
3229
3231
3232
3233
3237
3249
3251
3254
3260
3262
3266
3267
3271
3272
3276
3280
3293
3294
3297
3300
3306
3307
3312
3322
3327
3329
3337
3339
3340
3341
3342
3343
3347
3348
3353
3354
3362
3364
3367
3369
3371
3377
3378
3382
3385
3386
3388
3390
3398
3400
3405
3418
3420
3431
3435
3436
3445
3449
3452
3454
3458
3460
3463
3467
3475
3485
3486
3497
3499
3502
3521
3525
3531
3540
3544
3552
3556
3561
3565
3567
3568
3569
3570
3574
3576
3578
3581
3582
3583
3586
3590
3594
3601
3610
3615
3620
3625
3633
3634
3638
3641
3642
3644
3649
3650
3657
3661
3662
3663
3668
3670
3671
3675
3681
3682
3683
3685
3686
3688
3689
3693
3695
3700
3703
3704
3706
3715
3718
3728
3729
3734
3736
3737
3739
3740
3741
3744
3747
3748
3756
3757
3769
3771
3772
3779
3787
3788
3795
3801
3803
3804
3808
3809
3813
3817
3820
3821
3822
3831
3832
3833
3834
3836
3842
3845
3847
3850
3853
3854
3855
3857
3861
3862
3864
3870
3873
3876
3877
3878
3879
3880
3884
3885
3886
3888
3893
3894
3896
3897
3900
3905
3910
3915
3933
3935
3937
3938
3941
3945
3946
3949
3954
3955
3958
3967
3975
3987
3991
4001
4004
4005
4011
4014
4017
4018
4022
4031
4034
4035
4041
4045
4047
4048
4051
4052
4053
4056
4060
4061
4068
4073
4075
4080
4081
4083
4086
4087
4088
4092
4093
4097
4108
4111
4115
4123
4124
4133
4137
4140
4143
4144
4150
4151
4154
4156
4158
4159
4161
4168
4176
4178
4180
4181
4183
4184
4192
4193
4194
4195
4197
4201
4204
4208
4214
4215
4217
4222
4227
4229
4236
4238
4239
4242
4243
4244
4248
4253
4257
4259
4273
4278
4287
4288
4293
4294
4301
4304
4317
4320
4327
4331
4333
4337
4340
4341
4349
4354
4355
4359
4361
4367
4369
4371
4376
4380
4383
4384
4389
4390
4393
4403
4405
4407
4409
4411
4416
4424
4429
4430
4432
4434
4435
4443
4456
4457
4464
4468
4472
4473
4474
4475
4476
4481
4487
4497
4502
4504
4505
4506
4509
4515
4517
4518
4523
4524
4529
4531
4532
4533
4534
4537
4539
4544
4548
4557
4564
4569
4572
4574
4579
4584
4586
4588
4592
4595
4596
4598
4599
4601
4603
4604
4606
4622
4624
4626
4631
4634
4637
4638
4640
4642
4650
4651
4657
4662
4664
4665
4673
4679
4682
4693
4694
4695
4697
4698
4708
4709
4715
4722
4725
4728
4731
4739
4744
4752
4756
4758
4761
4763
4764
4766
4767
4771
4780
4783
4784
4790
4792
4796
4797
4800
4803
4804
4805
4814
4823
4834
4835
4847
4850
4851
4855
4856
4859
4864
4865
4867
4872
4874
4876
4877
4878
4881
4884
4885
4887
4891
4893
4894
4896
4899
4902
4905
4911
4913
4925
4928
4929
4930
4932
4933
4934
4936
4943
4945
4947
4950
4951
4954
4958
4963
4967
4969
4972
4973
4976
4978
4981
4987
4988
4993
4995
4996
5000
5001
5002
5004
5005
5006
5009
5011
5012
5016
5017
5022
5024
5030
5031
5036
5038
5041
5045
5050
5061
5066
5069
5080
5083
5086
5087
5090
5092
5093
5094
5097
5098
5104
5117
5120
5121
5122
5128
5129
5131
5135
5137
5146
5149
5152
5154
5159
5161
5172
5179
5184
5191
5192
5203
5208
5213
5214
5220
5225
5228
5231
5232
5234
5238
5239
5241
5243
5246
5254
5258
5259
5264
5266
5272
5273
5274
5275
5278
5288
5298
5302
5306
5310
5311
5317
5322
5327
5332
5333
5334
5339
5340
5353
5354
5355
5356
5357
5360
5369
5372
5376
5377
5380
5382
5385
5387
5388
5389
5394
5395
5401
5406
5409
5416
5417
5418
5419
5421
5429
5430
5431
5436
5439
5441
5443
5444
5455
5457
5459
5461
5463
5468
5471
5473
5482
5484
5489
5503
5504
5506
5508
5512
5519
5521
5522
5525
5528
5529
5530
5531
5538
5539
5541
5542
5547
5548
5550
5560
5579
5582
5588
5593
5600
5603
5605
5607
5609
5617
5619
5620
5623
5631
5633
5641
5643
5644
5645
5647
5649
5650
5656
5657
5659
5661
5662
5664
5665
5667
5669
5675
5677
5688
5690
5691
5704
5705
5707
5708
5710
5714
5720
5722
5725
5733
5757
5760
5761
5762
5765
5768
5769
5770
5777
5780
5782
5784
5787
5801
5802
5808
5809
5812
5816
5817
5823
5830
5831
5852
5855
5859
5865
5877
5878
5882
5883
5885
5886
5887
5889
5890
5892
5894
5897
5902
5907
5911
5914
5924
5929
5932
5934
5937
5939
5941
5945
5946
5947
5949
5953
5955
5957
5960
5967
5969
5975
5981
5984
5990
5991
5994
5995
5997
6000
6005
6011
6015
6018
6020
6022
6023
6024
6030
6037
6039
6045
6048
6055
6064
6067
6068
6079
6086
6089
6092
6093
6096
6099
6109
6113
6114
6120
6122
6126
6128
6130
6146
6154
6159
6173
6174
6176
6183
6190
6193
6196
6198
6199
6201
6203
6205
6206
6207
6209
6215
6220
6221
6229
6231
6233
6236
6237
6238
6244
6247
6249
6255
6259
6266
6272
6275
6276
6278
6285
6286
6290
6296
6297
6299
6300
6303
6306
6309
6310
6311
6314
6315
6319
6323
6324
6325
6328
6329
6330
6336
6337
6343
6344
6345
6346
6358
6359
6364
6369
6375
6377
6379
6384
6386
6390
6391
6392
6395
6401
6404
6416
6417
6424
6426
6431
6435
6437
6439
6457
6458
6459
6461
6467
6469
6471
6484
6487
6490
6493
6497
6505
6508
6517
6520
6526
6530
6531
6533
6538
6540
6541
6543
6553
6562
6566
6567
6569
6578
6582
6584
6585
6590
6593
6594
6595
6599
6603
6606
6607
6610
6611
6617
6620
6622
6624
6625
6637
6642
6645
6646
6648
6651
6652
6656
6660
6663
6666
6668
6671
6679
6683
6691
6693
6694
6698
6701
6708
6709
6716
6720
6730
6731
6735
6740
6743
6745
6748
6749
6750
6751
6753
6756
6757
6770
6774
6775
6779
6780
6782
6787
6789
6791
6793
6794
6798
6801
6803
6808
6812
6813
6814
6818
6826
6830
6833
6837
6838
6841
6843
6844
6846
6855
6858
6865
6868
6870
6874
6875
6895
6897
6901
6906
6909
6911
6913
6914
6917
6918
6928
6929
6930
6931
6932
6934
6938
6951
6957
6968
6969
6970
6973
6985
6994
6995
7001
7003
7005
7011
7012
7014
7015
7031
7035
7039
7044
7047
7050
7054
7062
7065
7067
7068
7069
7078
7080
7088
7089
7095
7098
7102
7108
7114
7115
7118
7119
7120
7121
7123
7124
7133
7134
7135
7138
7139
7141
7142
7145
7147
7150
7154
7160
7167
7170
7177
7180
