0
2
3
4
5
7
8
9
11
12
14
15
16
17
18
20
21
22
25
26
29
30
31
32
35
37
41
42
43
44
46
48
50
53
54
55
56
58
61
67
69
70
71
74
79
80
82
84
88
89
94
97
100
106
110
112
114
115
116
119
120
122
123
125
128
129
131
132
133
135
138
140
143
149
150
153
154
155
156
157
160
161
164
165
166
167
173
174
175
179
180
183
186
187
188
193
194
195
196
197
200
202
203
204
208
209
211
214
217
218
219
224
225
229
235
239
243
246
247
248
250
251
254
255
257
260
263
264
266
269
270
273
277
281
283
287
289
293
295
296
297
298
299
300
303
308
310
311
312
314
315
317
318
320
327
328
330
332
335
338
341
342
346
349
350
352
356
362
366
371
375
378
380
383
384
386
389
392
393
395
396
398
399
400
406
407
408
411
412
413
415
416
420
422
423
424
425
427
429
430
435
439
440
442
453
455
457
458
459
465
467
470
473
474
481
482
485
488
489
490
491
493
494
495
496
497
499
503
504
505
506
511
514
517
520
521
526
529
531
532
536
537
538
539
540
541
542
543
544
551
552
553
554
557
558
560
562
563
565
566
567
569
570
571
572
573
574
575
576
577
584
586
595
597
602
605
606
610
612
613
619
620
630
632
633
635
637
638
639
641
642
643
644
645
647
648
653
654
655
658
659
661
663
664
665
667
668
670
671
675
676
680
681
683
685
688
691
693
695
698
699
702
703
704
707
709
710
714
719
720
722
723
729
734
735
737
740
744
745
746
747
752
753
757
758
763
764
765
771
772
777
783
786
798
799
800
802
803
805
808
809
811
812
813
814
815
816
817
818
820
821
823
824
832
833
834
836
839
840
844
850
851
855
864
868
869
875
878
880
881
883
887
888
892
895
896
897
902
906
909
913
917
920
924
926
928
930
931
933
938
939
940
941
942
944
945
946
947
952
953
954
955
956
957
958
959
961
969
971
972
974
975
980
983
984
985
986
989
990
991
993
999
1000
1011
1012
1013
1015
1016
1017
1018
1019
1020
1021
1026
1028
1029
1030
1031
1033
1034
1035
1039
1041
1042
1046
1047
1049
1050
1053
1054
1056
1058
1059
1061
1062
1065
1066
1067
1069
1075
1077
1078
1079
1080
1083
1086
1090
1092
1093
1100
1102
1103
1106
1107
1109
1111
1113
1115
1116
1117
1118
1119
1120
1122
1125
1126
1128
1129
1132
1134
1135
1136
1138
1140
1143
1147
1149
1150
1151
1158
1159
1160
1162
1164
1166
1168
1169
1171
1175
1176
1177
1178
1179
1181
1184
1187
1189
1190
1196
1204
1205
1206
1208
1211
1213
1217
1218
1219
1222
1225
1228
1231
1234
1237
1239
1240
1242
1243
1245
1250
1253
1254
1255
1257
1263
1264
1267
1268
1272
1277
1278
1281
1282
1283
1284
1287
1289
1290
1291
1292
1295
1296
1299
1300
1302
1303
1304
1305
1307
1309
1310
1314
1318
1319
1324
1326
1327
1331
1332
1333
1335
1336
1337
1339
1340
1342
1348
1349
1350
1353
1354
1355
1357
1358
1361
1362
1365
1368
1371
1373
1374
1375
1377
1381
1387
1389
1390
1391
1393
1394
1395
1400
1405
1406
1411
1412
1415
1416
1418
1419
1421
1423
1431
1432
1437
1441
1443
1445
1446
1447
1449
1450
1451
1457
1459
1460
1463
1466
1468
1472
1473
1475
1478
1482
1483
1484
1485
1486
1487
1489
1494
1495
1496
1498
1499
1500
1505
1510
1511
1512
1514
1515
1516
1517
1521
1528
1529
1531
1535
1536
1538
1540
1544
1545
1547
1548
1555
1556
1557
1558
1559
1561
1564
1565
1569
1575
1578
1580
1581
1582
1585
1587
1588
1589
1594
1601
1605
1606
1610
1611
1614
1625
1628
1630
1633
1634
1638
1639
1641
1643
1644
1648
1649
1650
1653
1654
1656
1662
1663
1668
1669
1672
1673
1674
1676
1679
1685
1689
1690
1692
1693
1699
1701
1703
1706
1707
1709
1710
1712
1713
1715
1716
1717
1718
1719
1720
1723
1725
1727
1728
1729
1732
1733
1737
1740
1749
1750
1751
1754
1757
1758
1759
1761
1762
1763
1764
1765
1766
1768
1770
1771
1772
1773
1774
1778
1779
1781
1782
1791
1792
1793
1800
1801
1803
1804
1805
1809
1811
1814
1816
1817
1821
1824
1825
1828
1833
1835
1836
1838
1839
1846
1849
1850
1851
1853
1854
1855
1857
1859
1860
1863
1865
1866
1870
1872
1873
1874
1875
1877
1880
1881
1885
1886
1890
1892
1893
1895
1896
1901
1903
1906
1907
1911
1912
1913
1914
1915
1917
1919
1923
1924
1929
1930
1931
1934
1935
1940
1942
1951
1953
1955
1956
1957
1961
1964
1965
1966
1971
1974
1975
1977
1982
1983
1984
1986
1990
1991
1994
2008
2010
2014
2016
2020
2021
2022
2025
2026
2029
2030
2031
2032
2034
2036
2039
2040
2041
2042
2044
2045
2046
2047
2049
2054
2056
2063
2065
2066
2073
2074
2075
2078
2080
2081
2083
2086
2087
2098
2101
2105
2107
2110
2111
2113
2114
2115
2116
2119
2121
2128
2133
2134
2138
2139
2140
2142
2143
2146
2148
2149
2151
2154
2156
2158
2159
2161
2163
2164
2169
2170
2171
2174
2175
2180
2185
2188
2192
2194
2195
2196
2197
2199
2200
2201
2203
2205
2209
2211
2213
2218
2219
2220
2224
2229
2231
2235
2237
2239
2240
2241
2245
2247
2248
2255
2257
2258
2259
2261
2262
2265
2273
2275
2278
2280
2283
2286
2289
2292
2294
2295
2296
2297
2298
2302
2305
2306
2311
2312
2313
2315
2316
2318
2319
2324
2326
2327
2331
2333
2335
2338
2341
2344
2346
2350
2351
2353
2357
2361
2362
2369
2371
2372
2374
2376
2380
2383
2386
2387
2388
2394
2395
2398
2399
2407
2417
2418
2421
2422
2424
2425
2426
2431
2432
2436
2437
2438
2439
2445
2446
2447
2448
2451
2452
2455
2459
2460
2463
2467
2468
2469
2470
2471
2472
2475
2476
2477
2478
2479
2483
2484
2485
2488
2489
2493
2494
2495
2496
2497
2498
2499
2500
2502
2507
2509
2514
2515
2516
2517
2518
2520
2521
2523
2525
2526
2528
2534
2538
2539
2541
2543
2545
2546
2548
2549
2550
2554
2555
2557
2559
2561
2565
2566
2570
2572
2575
2578
2580
2581
2582
2584
2586
2594
2595
2598
2599
2601
2607
2608
2610
2612
2613
2614
2619
2620
2621
2642
2643
2649
2650
2651
2652
2653
2654
2655
2656
2657
2659
2660
2662
2664
2667
2668
2670
2671
2672
2673
2675
2676
2679
2682
2684
2685
2689
2690
2695
2697
2701
2704
2705
2706
2707
2708
2713
2714
2716
2718
2719
2721
2722
2723
2729
2730
2738
2739
2740
2741
2743
2745
2746
2747
2748
2749
2751
2752
2754
2756
2757
2758
2759
2761
2762
2766
2767
2770
2771
2773
2774
2776
2779
2782
2785
2791
2792
2795
2796
2798
2800
2805
2806
2807
2811
2816
2818
2819
2820
2822
2823
2824
2826
2827
2831
2832
2835
2837
2843
2855
2858
2859
2864
2865
2868
2871
2872
2877
2882
2883
2884
2885
2886
2887
2889
2890
2893
2894
2895
2898
2899
2901
2903
2904
2906
2911
2912
2914
2917
2919
2924
2928
2930
2931
2932
2934
2935
2938
2940
2943
2944
2950
2952
2954
2955
2956
2957
2962
2964
2966
2967
2968
2969
2970
2973
2975
2977
2978
2979
2980
2983
2989
2991
2994
2998
3001
3003
3008
3011
3012
3015
3016
3018
3021
3027
3028
3029
3030
3037
3040
3041
3043
3046
3047
3048
3050
3051
3052
3053
3055
3056
3057
3071
3073
3074
3082
3086
3094
3095
3096
3097
3099
3100
3101
3102
3103
3104
3105
3112
3113
3114
3123
3125
3127
3129
3130
3134
3137
3139
3140
3141
3142
3143
3144
3146
3148
3149
3150
3153
3161
3164
3166
3167
3168
3169
3177
3180
3182
3186
3187
3188
3189
3190
3193
3196
3198
3201
3202
3205
3206
3207
3208
3210
3212
3213
3216
3218
3219
3220
3222
3223
3226
3229
3230
3231
3232
3236
3240
3241
3243
3249
3255
3256
3257
3260
3261
3263
3264
3265
3266
3269
3271
3272
3273
3274
3280
3282
3283
3284
3285
3288
3289
3290
3292
3295
3296
3297
3300
3302
3304
3306
3309
3310
3311
3312
3314
3315
3321
3323
3324
3327
3329
3335
3336
3339
3343
3344
3347
3351
3352
3354
3355
3358
3359
3360
3361
3362
3363
3364
3366
3368
3369
3374
3375
3377
3379
3384
3388
3389
3393
3398
3399
3401
3404
3406
3407
3408
3409
3411
3416
3417
3419
3421
3431
3432
3434
3435
3436
3438
3440
3441
3446
3455
3457
3458
3460
3461
3463
3464
3465
3466
3468
3469
3471
3476
3478
3481
3482
3483
3484
3485
3486
3490
3492
3493
3496
3498
3499
3500
3502
3505
3507
3509
3516
3520
3523
3524
3525
3526
3532
3534
3536
3544
3545
3546
3549
3550
3554
3557
3568
3569
3577
3579
3583
3584
3586
3588
3591
3594
3597
3600
3605
3606
3609
3610
3612
3616
3619
3620
3623
3630
3631
3632
3637
3644
3650
3653
3654
3656
3658
3659
3662
3665
3668
3670
3672
3676
3680
3683
3685
3686
3692
3693
3695
3697
3700
3703
3707
3708
3710
3713
3720
3724
3727
3734
3736
3738
3739
3740
3742
3744
3745
3746
3753
3754
3755
3757
3758
3764
3767
3768
3769
3772
3776
3783
3786
3787
3789
3790
3792
3793
3794
3802
3804
3805
3807
3809
3811
3817
3818
3820
3821
3825
3826
3831
3832
3834
3837
3840
3841
3844
3845
3846
3848
3853
3854
3855
3857
3858
3859
3861
3862
3863
3864
3865
3872
3873
3874
3879
3881
3882
3883
3884
3885
3887
3888
3890
3891
3892
3895
3897
3899
3903
3904
3908
3910
3912
3913
3914
3915
3916
3917
3918
3920
3924
3926
3929
3930
3931
3932
3933
3934
3935
3937
3938
3939
3944
3945
3946
3948
3949
3950
3954
3959
3960
3962
3963
3966
3969
3970
3971
3972
3973
3977
3980
3981
3985
3986
3987
3989
3994
3996
3998
3999
4002
4003
4004
4005
4006
4008
4009
4010
4011
4020
4022
4024
4025
4026
4030
4034
4035
4037
4039
4042
4043
4045
4047
4048
4049
4051
4052
4053
4054
4055
4056
4059
4062
4068
4069
4075
4076
4079
4081
4082
4084
4085
4092
4093
4099
4100
4102
4103
4104
4105
4107
4108
4111
4113
4116
4122
4128
4129
4131
4134
4135
4136
4139
4144
4145
4147
4148
4150
4151
4152
4153
4154
4158
4159
4162
4163
4164
4166
4169
4173
4175
4178
4180
4181
4182
4184
4185
4192
4194
4195
4196
4202
4203
4207
4210
4213
4214
4215
4216
4220
4221
4222
4225
4226
4228
4229
4233
4234
4235
4244
4245
4249
4253
4256
4257
4258
4259
4263
4264
4266
4269
4275
4276
4277
4280
4281
4282
4284
4287
4289
4290
4294
4295
4296
4297
4298
4301
4303
4304
4306
4312
4314
4315
4316
4317
4318
4319
4320
4325
4326
4329
4330
4332
4335
4337
4338
4339
4342
4349
4351
4355
4356
4357
4359
4361
4363
4367
4368
4375
4378
4384
4387
4388
4389
4394
4396
4397
4399
4400
4406
4410
4412
4414
4419
4421
4422
4425
4427
4429
4431
4432
4433
4436
4437
4438
4442
4445
4447
4449
4450
4451
4452
4455
4457
4458
4459
4462
4463
4468
4469
4470
4472
4475
4477
4479
4480
4482
4484
4485
4486
4487
4488
4493
4494
4501
4503
4504
4507
4517
4519
4522
4524
4525
4526
4529
4531
4533
4535
4536
4538
4542
4545
4549
4552
4554
4555
4560
4568
4572
4575
4576
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4590
4593
4594
4595
4597
4600
4601
4603
4604
4605
4608
4609
4610
4613
4616
4617
4622
4623
4624
4627
4629
4630
4633
4634
4637
4641
4645
4650
4651
4653
4655
4662
4669
4670
4672
4678
4679
4681
4686
4689
4692
4693
4694
4696
4703
4704
4705
4706
4709
4713
4714
4716
4717
4718
4719
4720
4721
4727
4729
4732
4733
4735
4736
4737
4738
4740
4741
4742
4747
4748
4749
4753
4754
4755
4756
4757
4758
4764
4765
4767
4769
4770
4775
4776
4779
4783
4787
4790
4791
4794
4796
4797
4802
4807
4811
4812
4813
4815
4817
4819
4821
4822
4823
4829
4832
4834
4839
4841
4843
4846
4847
4849
4850
4853
4858
4863
4864
4865
4866
4867
4868
4872
4877
4878
4879
4880
4882
4884
4885
4886
4887
4888
4890
4891
4892
4893
4894
4895
4902
4903
4907
4909
4914
4915
4920
4921
4923
4924
4925
4928
4935
4936
4938
4941
4942
4944
4946
4949
4951
4953
4956
4957
4958
4962
4963
4965
4967
4968
4969
4972
4975
4976
4977
4979
4982
4985
4988
4993
4995
4999
5000
5003
5005
5006
5007
5008
5012
5015
5016
5018
5019
5023
5025
5028
5032
5034
5037
5038
5047
5051
5053
5055
5056
5059
5062
5065
5069
5072
5073
5075
5077
5078
5079
5080
5084
5085
5087
5092
5096
5097
5098
5101
5104
5108
5109
5110
5112
5118
5120
5121
5123
5125
5126
5127
5128
5130
5132
5133
5134
5135
5137
5138
5139
5142
5143
5144
5145
5148
5150
5152
5153
5154
5155
5156
5159
5160
5170
5171
5172
5178
5179
5180
5181
5182
5185
5186
5187
5192
5193
5195
5196
5197
5204
5205
5207
5211
5214
5217
5218
5220
5222
5225
5226
5227
5228
5231
5233
5235
5237
5241
5245
5246
5253
5260
5261
5262
5264
5267
5268
5269
5271
5272
5275
5277
5281
5283
5284
5286
5287
5289
5290
5291
5293
5294
5296
5297
5298
5301
5302
5309
5310
5312
5313
5316
5320
5322
5324
5325
5328
5329
5330
5332
5334
5335
5347
5350
5351
5352
5356
5357
5359
5361
5363
5364
5365
5370
5372
5373
5375
5377
5378
5379
5381
5383
5385
5388
5390
5393
5399
5400
5405
5407
5414
5415
5418
5420
5423
5424
5426
5428
5429
5431
5438
5449
5451
5452
5453
5454
5458
5459
5460
5462
5463
5466
5470
5472
5475
5476
5478
5479
5481
5483
5485
5490
5492
5493
5494
5495
5499
5500
5501
5502
5505
5506
5507
5509
5510
5511
5512
5514
5515
5516
5517
5519
5523
5525
5527
5528
5530
5531
5532
5533
5534
5535
5536
5539
5542
5543
5544
5545
5546
5547
5551
5552
5554
5558
5559
5560
5561
5562
5563
5564
5568
5569
5570
5575
5578
5579
5580
5581
5582
5585
5587
5588
5589
5590
5595
5596
5597
5601
5602
5603
5604
5606
5615
5617
5618
5620
5621
5623
5624
5625
5629
5630
5631
5632
5633
5634
5635
5637
5638
5640
5643
5646
5651
5653
5657
5659
5660
5663
5664
5665
5666
5667
5670
5676
5679
5680
5685
5686
5687
5689
5690
5692
5695
5699
5700
5703
5704
5705
5707
5710
5711
5714
5715
5717
5719
5720
5722
5723
5726
5732
5733
5734
5736
5737
5738
5741
5743
5745
5746
5747
5748
5750
5752
5755
5756
5757
5758
5761
5763
5764
5766
5768
5769
5771
5772
5775
5779
5780
5781
5782
5783
5784
5787
5788
5790
5794
5795
5800
5807
5810
5813
5815
5816
5817
5818
5821
5824
5825
5831
5833
5837
5838
5839
5840
5841
5843
5847
5849
5851
5853
5859
5865
5866
5869
5873
5876
5878
5880
5887
5888
5890
5895
5898
5899
5901
5902
5903
5904
5905
5906
5909
5915
5918
5920
5921
5922
5923
5927
5934
5936
5940
5941
5948
5950
5952
5954
5959
5960
5961
5962
5973
5974
5975
5977
5980
5982
5985
5989
5995
6001
6002
6003
6004
6005
6009
6011
6012
6016
6019
6020
6021
6024
6025
6026
6027
6028
6029
6030
6032
6033
6034
6036
6038
6043
6050
6051
6053
6055
6059
6060
6061
6062
6063
6064
6065
6067
6068
6071
6072
6073
6076
6079
6082
6085
6086
6089
6091
6092
6095
6096
6097
6100
6102
6106
6107
6108
6109
6119
6126
6128
6131
6142
6143
6145
6151
6157
6161
6164
6166
6167
6169
6170
6171
6172
6175
6178
6179
6180
6184
6185
6187
6190
6191
6196
6197
6200
6201
6203
6204
6206
6209
6211
6212
6218
6219
6225
6226
6227
6234
6238
6240
6241
6245
6246
6249
6251
6252
6256
6257
6258
6259
6260
6261
6262
6267
6271
6272
6276
6278
6281
6283
6284
6285
6287
6289
6293
6297
6299
6302
6308
6313
6317
6318
6319
6320
6321
6322
6323
6327
6329
6330
6333
6335
6337
6339
6340
6341
6344
6346
6347
6352
6357
6359
6362
6363
6364
6365
6367
6371
6378
6379
6381
6383
6384
6385
6387
6388
6389
6395
6396
6401
6402
6403
6406
6407
6408
6409
6410
6411
6415
6417
6418
6419
6420
6421
6422
6423
6428
6430
6432
6433
6434
