0
1
3
6
8
10
12
13
18
21
27
30
35
37
38
39
44
46
49
50
53
56
60
62
63
65
66
67
70
71
76
77
81
83
92
93
94
95
96
97
101
103
105
111
112
114
116
118
128
129
130
131
134
137
142
149
150
151
152
155
158
161
163
166
168
170
172
173
181
182
183
186
189
190
192
196
197
199
205
207
208
213
218
220
224
228
231
232
235
237
239
240
241
242
244
245
246
247
248
250
252
253
258
259
260
262
264
265
266
271
276
277
278
280
283
288
289
292
293
296
297
303
310
311
312
314
315
318
319
320
324
325
328
330
335
336
338
340
341
345
347
348
351
353
354
358
360
364
365
366
368
370
374
376
377
379
384
385
394
398
399
400
403
407
408
410
412
413
415
416
417
418
419
422
424
426
430
432
433
440
442
443
444
451
452
459
461
462
464
467
474
475
479
481
482
483
485
486
487
489
492
495
497
498
501
502
503
504
507
508
509
520
522
527
528
529
530
533
534
536
537
540
541
543
544
546
549
554
555
556
557
559
562
564
566
567
570
573
575
577
578
579
580
581
582
583
587
592
595
598
603
604
607
610
611
613
615
618
619
620
625
626
627
629
633
635
636
638
641
642
643
645
646
647
648
649
651
654
656
658
663
664
667
670
671
677
680
681
682
683
687
689
690
691
692
693
694
696
697
698
699
701
704
705
706
710
711
714
715
716
718
719
722
723
724
725
726
727
732
733
734
735
739
740
748
750
751
752
755
756
758
761
763
765
770
772
773
774
776
777
779
781
784
785
786
789
792
793
797
800
803
804
807
808
811
812
814
817
819
822
823
832
833
836
837
838
839
841
843
848
852
859
860
862
863
864
867
869
876
877
878
879
880
885
887
889
890
892
893
894
896
902
911
917
921
922
923
925
926
927
931
933
934
935
936
942
943
945
946
947
949
953
954
955
956
957
958
960
962
964
965
967
969
971
972
976
977
978
979
981
983
984
986
989
994
996
997
999
1001
1003
1007
1008
1009
1010
1011
1012
1013
1014
1017
1019
1022
1024
1026
1029
1030
1031
1033
1034
1035
1039
1040
1047
1049
1050
1051
1052
1053
1054
1055
1057
1058
1060
1062
1063
1065
1068
1069
1070
1071
1073
1076
1079
1081
1082
1084
1087
1088
1094
1100
1102
1108
1114
1115
1121
1122
1123
1124
1125
1126
1129
1130
1135
1138
1139
1141
1142
1147
1148
1149
1151
1155
1156
1157
1158
1159
1162
1163
1164
1168
1169
1170
1172
1173
1174
1176
1179
1180
1186
1188
1193
1195
1199
1200
1203
1205
1207
1208
1210
1211
1212
1214
1215
1216
1219
1220
1225
1228
1231
1238
1239
1242
1244
1247
1248
1249
1251
1252
1253
1255
1257
1262
1264
1268
1270
1272
1274
1275
1276
1277
1278
1280
1281
1284
1286
1291
1294
1297
1299
1301
1303
1305
1308
1309
1310
1316
1317
1321
1322
1328
1330
1331
1334
1337
1340
1344
1345
1346
1347
1353
1354
1356
1357
1358
1360
1362
1366
1369
1370
1371
1373
1374
1375
1380
1381
1384
1385
1387
1393
1394
1395
1399
1401
1403
1404
1408
1412
1413
1414
1415
1416
1419
1420
1424
1425
1426
1427
1428
1429
1438
1439
1440
1441
1442
1443
1444
1446
1447
1448
1450
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1468
1469
1471
1472
1476
1477
1478
1480
1483
1485
1488
1492
1497
1503
1508
1509
1517
1519
1521
1523
1526
1527
1531
1534
1535
1538
1540
1545
1546
1548
1555
1556
1559
1562
1565
1567
1574
1576
1577
1580
1581
1582
1583
1587
1588
1589
1590
1591
1597
1600
1601
1602
1603
1604
1609
1612
1614
1616
1617
1625
1626
1627
1628
1629
1632
1634
1639
1640
1644
1645
1647
1650
1652
1653
1654
1657
1659
1660
1661
1662
1664
1666
1667
1668
1670
1674
1677
1682
1684
1685
1687
1688
1694
1697
1699
1707
1708
1709
1711
1713
1719
1720
1722
1724
1728
1731
1733
1735
1736
1739
1743
1744
1746
1747
1749
1750
1751
1752
1754
1756
1757
1758
1761
1773
1774
1775
1777
1781
1782
1783
1786
1787
1788
1789
1792
1794
1800
1809
1810
1812
1816
1817
1819
1820
1823
1824
1828
1829
1832
1834
1843
1845
1846
1847
1848
1850
1852
1855
1856
1858
1860
1861
1862
1864
1869
1870
1871
1872
1883
1884
1886
1889
1890
1891
1892
1893
1894
1895
1897
1899
1902
1903
1907
1908
1909
1910
1911
1913
1914
1916
1918
1919
1920
1922
1929
1937
1938
1940
1948
1949
1950
1951
1952
1954
1955
1957
1958
1960
1961
1964
1965
1968
1975
1976
1977
1981
1985
1986
1989
1991
1995
1999
2002
2004
2005
2008
2011
2014
2015
2016
2017
2024
2025
2026
2027
2033
2034
2037
2039
2040
2041
2042
2043
2044
2047
2051
2053
2055
2059
2062
2067
2074
2076
2077
2082
2087
2088
2090
2091
2092
2095
2098
2099
2100
2101
2103
2104
2107
2108
2114
2119
2121
2123
2128
2130
2131
2132
2136
2138
2143
2144
2151
2152
2155
2157
2159
2161
2162
2163
2164
2166
2168
2169
2173
2177
2180
2182
2186
2188
2191
2193
2196
2199
2200
2201
2202
2204
2205
2207
2213
2217
2219
2221
2222
2223
2224
2225
2227
2231
2232
2233
2235
2238
2239
2241
2245
2248
2250
2252
2253
2254
2258
2259
2262
2263
2264
2266
2269
2271
2275
2276
2279
2282
2284
2285
2286
2288
2291
2292
2298
2300
2301
2305
2308
2309
2311
2312
2313
2314
2315
2318
2319
2320
2321
2322
2327
2328
2329
2331
2333
2335
2336
2338
2339
2340
2341
2344
2346
2349
2354
2356
2358
2359
2362
2365
2366
2369
2372
2373
2374
2375
2378
2388
2389
2393
2396
2398
2400
2401
2411
2413
2416
2419
2421
2422
2424
2427
2430
2431
2432
2433
2436
2439
2440
2441
2442
2444
2448
2449
2451
2452
2455
2456
2457
2460
2462
2464
2465
2467
2469
2471
2472
2476
2477
2479
2481
2482
2483
2486
2487
2489
2490
2495
2496
2497
2498
2499
2500
2503
2505
2506
2507
2508
2509
2511
2512
2513
2515
2518
2522
2523
2542
2544
2547
2548
2549
2555
2556
2557
2559
2560
2564
2566
2567
2568
2569
2570
2571
2572
2573
2575
2576
2578
2580
2591
2592
2594
2596
2598
2605
2608
2609
2611
2612
2617
2619
2621
2622
2624
2627
2629
2630
2633
2634
2635
2642
2645
2647
2651
2652
2654
2660
2662
2668
2669
2677
2678
2679
2684
2685
2688
2690
2692
2695
2696
2697
2698
2699
2701
2702
2703
2706
2707
2710
2711
2715
2718
2719
2720
2721
2722
2724
2726
2729
2733
2736
2742
2744
2746
2747
2748
2758
2759
2763
2764
2765
2767
2768
2769
2770
2771
2773
2775
2779
2781
2785
2786
2793
2794
2797
2800
2803
2804
2807
2808
2810
2814
2816
2817
2818
2821
2823
2828
2840
2841
2844
2845
2846
2847
2848
2852
2857
2858
2862
2864
2866
2867
2868
2869
2872
2874
2878
2881
2882
2883
2886
2888
2889
2890
2891
2900
2902
2903
2909
2910
2912
2913
2914
2917
2919
2920
2923
2925
2926
2929
2930
2931
2933
2935
2936
2937
2939
2942
2943
2945
2946
2948
2949
2950
2951
2952
2955
2956
2957
2960
2965
2966
2969
2971
2972
2973
2975
2976
2977
2980
2982
2983
2986
2988
2990
2991
2993
2996
2997
2998
3000
3001
3002
3009
3010
3020
3023
3026
3031
3033
3038
3039
3041
3042
3043
3048
3049
3055
3056
3057
3059
3061
3064
3065
3066
3068
3069
3070
3080
3081
3082
3084
3085
3086
3087
3091
3095
3099
3100
3101
3102
3107
3110
3112
3113
3114
3118
3119
3124
3127
3128
3131
3133
3137
3141
3142
3143
3144
3145
3152
3156
3157
3158
3160
3163
3165
3168
3170
3172
3175
3176
3179
3180
3181
3186
3187
3190
3192
3193
3194
3196
3199
3203
3204
3205
3211
3212
3215
3216
3220
3222
3223
3224
3228
3229
3235
3237
3238
3241
3242
3247
3248
3251
3252
3254
3257
3260
3262
3263
3264
3266
3272
3276
3279
3283
3284
3286
3288
3289
3290
3292
3295
3296
3298
3301
3303
3305
3306
3309
3311
3313
3316
3318
3319
3327
3328
3329
3330
3331
3332
3337
3343
3348
3349
3351
3352
3353
3356
3359
3363
3364
3368
3369
3370
3371
3372
3373
3377
3382
3384
3385
3387
3390
3394
3395
3397
3398
3400
3401
3402
3403
3405
3409
3412
3414
3415
3420
3423
3426
3427
3429
3434
3435
3436
3437
3438
3440
3444
3448
3449
3452
3455
3458
3461
3462
3463
3464
3470
3473
3474
3477
3479
3480
3482
3483
3489
3492
3496
3497
3498
3500
3503
3506
3508
3513
3515
3518
3522
3523
3525
3526
3527
3528
3530
3531
3533
3536
3537
3540
3541
3542
3543
3547
3549
3556
3561
3563
3564
3567
3569
3570
3578
3579
3580
3581
3587
3590
3593
3594
3597
3600
3603
3604
3605
3606
3610
3614
3616
3617
3620
3622
3628
3629
3631
3633
3635
3636
3637
3638
3639
3640
3641
3643
3645
3647
3649
3651
3653
3654
3657
3662
3664
3665
3673
3675
3678
3682
3685
3686
3687
3688
3689
3690
3692
3693
3694
3695
3696
3698
3702
3703
3705
3706
3709
3711
3712
3716
3717
3718
3724
3726
3727
3729
3731
3734
3736
3737
3743
3746
3748
3752
3753
3756
3757
3758
3759
3760
3761
3762
3767
3769
3771
3773
3774
3775
3778
3780
3781
3783
3787
3788
3789
3793
3796
3801
3805
3806
3807
3808
3811
3813
3814
3817
3820
3821
3824
3825
3831
3832
3834
3835
3837
3839
3844
3845
3846
3847
3849
3851
3857
3858
3860
3862
3865
3866
3868
3869
3872
3874
3875
3884
3885
3887
3888
3889
3892
3893
3894
3899
3900
3905
3906
3907
3912
3915
3917
3919
3920
3921
3922
3923
3924
3925
3926
3929
3930
3932
3933
3934
3936
3938
3939
3945
3946
3947
3949
3950
3951
3953
3958
3959
3961
3963
3964
3965
3966
3969
3970
3971
3972
3976
3977
3981
3985
3987
3990
3992
3994
3995
3997
3999
4000
4005
4010
4012
4015
4016
4019
4020
4021
4026
4028
4030
4033
4036
4039
4040
4044
4045
4047
4050
4052
4055
4056
4059
4060
4063
4065
4068
4069
4074
4075
4076
4079
4080
4084
4085
4089
4092
4099
4100
4102
4106
4107
4108
4109
4112
4114
4115
4116
4117
4119
4120
4124
4125
4128
4130
4133
4134
4135
4137
4139
4142
4145
4147
4150
4151
4153
4154
4155
4156
4165
4170
4172
4173
4174
4175
4177
4182
4183
4186
4188
4189
4190
4191
4192
4194
4195
4199
4200
4201
4202
4203
4205
4206
4208
4209
4210
4211
4213
4214
4215
4216
4220
4221
4224
4226
4229
4231
4234
4236
4237
4241
4242
4246
4247
4249
4250
4251
4254
4255
4257
4261
4262
4263
4264
4265
4269
4275
4277
4283
4286
4287
4294
4295
4299
4300
4303
4304
4306
4312
4314
4315
4316
4317
4318
4319
4320
4321
4322
4324
4328
4329
4332
4333
4337
4340
4347
4348
4350
4354
4355
4356
4363
4364
4366
4367
4368
4370
4372
4373
4377
4378
4379
4380
4382
4383
4387
4388
4390
4391
4392
4396
4397
4398
4402
4404
4405
4406
4407
4408
4412
4414
4416
4417
4422
4426
4428
4429
4433
4436
4437
4439
4441
4442
4445
4450
4451
4455
4456
4457
4459
4460
4461
4464
4465
4468
4469
4473
4478
4481
4483
4487
4490
4491
4495
4497
4499
4501
4502
4503
4505
4506
4507
4509
4512
4515
4516
4517
4518
4519
4522
4524
4527
4531
4533
4534
4535
4537
4538
4543
4545
4546
4547
4548
4550
4552
4555
4560
4562
4567
4568
4569
4572
4573
4576
4577
4578
4581
4582
4585
4586
4589
4590
4591
4595
4596
4597
4598
4599
4600
4603
4605
4606
4608
4610
4611
4614
4619
4622
4624
4625
4631
4632
4634
4635
4636
4637
4639
4642
4643
4645
4646
4651
4652
4653
4655
4656
4664
4668
4673
4674
4675
4676
4677
4681
4683
4685
4686
4687
4692
4693
4694
4696
4698
4699
4703
4704
4712
4713
4714
4715
4716
4719
4720
4725
4726
4729
4731
4735
4736
4737
4738
4741
4743
4744
4746
4748
4749
4753
4755
4757
4758
4759
4764
4765
4767
4768
4769
4770
4776
4780
4785
4787
4788
4789
4793
4794
4795
4797
4803
4804
4806
4807
4808
4810
4811
4814
4816
4826
4829
4832
4834
4841
4843
4844
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4858
4860
4861
4862
4865
4866
4867
4868
4870
4871
4872
4873
4874
4876
4877
4879
4880
4881
4886
4888
4889
4890
4891
4892
4893
4894
4895
4897
4898
4902
4903
4904
4906
4908
4909
4910
4911
4916
4918
4919
4920
4926
4927
4928
4930
4935
4936
4937
4939
4945
4947
4951
4952
4954
4960
4961
4963
4968
4970
4972
4973
4975
4979
4981
4983
4984
4986
4989
4990
4991
4993
4994
4995
4996
4998
5000
5001
5002
5005
5007
5009
5010
5011
5012
5015
5016
5018
5019
5020
5021
5023
5024
5026
5027
5028
5029
5035
5039
5040
5041
5045
5046
5047
5051
5052
5053
5054
5057
5061
5062
5063
5065
5067
5068
5072
5074
5076
5080
5081
5083
5086
5087
5090
5093
5094
5096
5101
5104
5107
5109
5111
5113
5114
5116
5117
5119
5121
5122
5123
5124
5127
5128
5131
5132
5135
5140
5141
5142
5144
5145
5149
5150
5152
5155
5157
5160
5161
5162
5165
5166
5167
5168
5170
5171
5174
5177
5178
5179
5183
5184
5188
5189
5190
5191
5192
5194
5200
5207
5209
5210
5211
5213
5214
5217
5218
5222
5225
5226
5231
5232
5233
5237
5238
5240
5242
5243
5244
5245
5247
5251
5253
5256
5259
5264
5266
5274
5279
5281
5283
5284
5285
5288
5289
5291
5292
5298
5301
5302
5303
5304
5305
5307
5312
5314
5316
5317
5318
5320
5321
5323
5331
5334
5339
5341
5343
5347
5350
5353
5355
5361
5362
5368
5369
5370
5371
5374
5375
5377
5378
5380
5383
5384
5390
5391
5392
5394
5397
5401
5402
5403
5405
5407
5410
5413
5414
5416
5419
5420
5421
5422
5425
5426
5428
5429
5430
5431
5433
5435
5436
5437
5440
5441
5442
5443
5444
5445
5446
5447
5451
5452
5453
5458
5459
5461
5464
5468
5469
5473
5479
5480
5484
5487
5488
5490
5492
5495
5498
5500
5501
5510
5513
5516
5520
5521
5522
5523
5525
5527
5531
5532
5533
5534
5537
5542
5543
5544
5545
5551
5553
5555
5556
5558
5560
5563
5564
5566
5568
5569
5572
5576
5577
5578
5579
5581
5585
5586
5587
5589
5590
5592
5594
5596
5598
5599
5600
5601
5602
5604
5606
5607
5610
5611
5612
5615
5617
5620
5621
5623
5625
5626
5630
5634
5637
5640
5642
5643
5646
5649
5653
5654
5656
5657
5662
5663
5665
5671
5674
5675
5677
5679
5686
5689
5693
5695
5696
5697
5698
5700
5702
5705
5707
5709
5710
5712
5713
5717
5718
5723
5724
5727
5728
5729
5730
5731
5732
5734
5736
5742
5746
5747
5749
5750
5752
5754
5755
5756
5757
5761
5762
5768
5775
5777
5779
5780
5781
5782
5783
5784
5786
5787
5789
5790
5791
5792
5793
5794
5797
5800
5802
5806
5807
5809
5810
5811
5812
5813
5815
5818
5819
5820
5824
5828
5832
5833
5845
5851
5852
5854
5856
5857
5862
5863
5866
5868
5869
5871
5872
5877
5878
5879
5882
5888
5892
5894
5895
5907
5908
5910
5912
5913
5915
5916
5917
5918
5922
5925
5932
5934
5938
5941
5942
5943
5945
5947
5950
5951
5953
5956
5960
5963
5965
5967
5968
5969
5970
5971
5974
5975
5976
5978
5980
5981
5982
5984
5989
5991
5992
5993
5995
5996
5999
6001
6006
6009
6010
6013
6016
6019
6022
6023
6025
6028
6030
6033
6034
6035
6036
6037
6038
6040
6042
6043
6046
6048
6050
6051
6054
6057
6058
6061
6066
6067
6069
6071
6074
6077
6078
6079
6080
6081
6082
6085
6086
6089
6090
6095
6096
6097
6098
6099
6103
6104
6106
6107
6108
6110
6114
6115
6118
6119
6122
6125
6127
6128
6130
6131
6132
6135
6136
6142
6144
6145
6147
6148
6152
6153
6154
6159
6162
6163
6164
6166
6169
6173
6175
6176
6178
6180
6181
6185
6186
6187
6189
6190
6192
6195
6200
6205
6206
6207
6208
6209
6210
6211
6213
6215
6216
6217
6218
6219
6220
