2
7
8
9
11
23
24
25
26
27
28
29
30
31
32
33
34
36
38
39
40
41
42
45
46
47
48
50
51
54
55
58
60
62
64
67
68
70
71
72
75
78
79
80
84
87
88
90
93
98
102
105
108
113
114
115
116
117
118
122
125
131
134
137
138
139
145
146
149
151
156
158
159
160
161
162
166
167
168
170
172
173
174
175
177
178
187
188
189
191
193
195
197
199
200
201
204
206
207
208
210
212
213
214
219
220
235
237
240
243
246
247
253
266
272
273
274
275
276
277
278
282
283
284
287
294
300
303
305
306
307
309
311
312
313
316
318
320
321
322
323
325
326
327
329
331
332
334
336
338
339
340
342
343
344
346
348
351
353
355
356
357
358
359
360
361
362
363
364
365
367
369
371
372
373
374
375
376
377
378
379
381
383
384
386
387
388
391
392
393
394
395
396
397
398
403
407
408
413
414
418
421
427
432
433
434
439
440
443
445
446
447
450
451
452
453
461
462
465
466
467
476
479
480
483
484
488
492
494
503
504
506
507
508
509
512
513
514
519
520
523
524
525
526
527
539
541
542
543
544
545
555
558
568
571
573
575
576
577
578
580
581
582
584
585
590
598
604
606
608
609
610
611
612
615
617
618
620
623
625
626
627
628
629
631
632
636
638
643
645
646
649
650
652
654
657
658
659
660
661
662
672
676
677
678
681
682
683
684
687
688
694
696
697
699
701
703
704
707
708
709
713
717
720
721
722
723
725
726
728
729
731
734
735
738
743
744
746
748
749
750
752
753
760
761
764
765
766
769
771
776
778
779
780
785
787
789
793
796
798
802
807
814
820
824
828
832
839
843
846
850
853
854
855
856
857
858
860
863
865
866
869
870
872
873
880
881
882
890
891
892
894
897
899
900
901
902
903
904
905
906
907
908
910
911
912
914
915
920
922
924
925
930
931
936
937
938
942
943
946
947
948
949
950
951
952
953
954
956
957
958
959
964
968
970
972
973
974
978
981
983
985
986
987
990
992
995
996
997
1000
1002
1004
1005
1006
1007
1008
1009
1012
1016
1017
1027
1029
1031
1032
1033
1039
1041
1042
1043
1044
1045
1051
1057
1058
1060
1061
1062
1064
1067
1072
1076
1084
1085
1094
1097
1098
1099
1102
1103
1104
1106
1108
1111
1113
1117
1118
1124
1125
1126
1127
1128
1130
1131
1132
1133
1135
1136
1137
1139
1143
1145
1153
1155
1157
1159
1160
1161
1162
1163
1164
1167
1168
1172
1174
1176
1179
1180
1181
1182
1183
1186
1188
1189
1191
1196
1200
1206
1208
1209
1210
1211
1212
1213
1215
1218
1222
1223
1224
1226
1227
1228
1229
1230
1231
1233
1236
1238
1240
1245
1252
1253
1254
1255
1258
1260
1267
1289
1290
1291
1292
1294
1296
1297
1302
1307
1308
1310
1311
1312
1313
1318
1322
1323
1324
1328
1331
1333
1334
1337
1341
1342
1343
1344
1345
1346
1347
1348
1349
1354
1360
1362
1363
1364
1366
1368
1369
1371
1377
1381
1382
1383
1384
1385
1387
1388
1391
1393
1396
1398
1400
1401
1403
1405
1406
1407
1408
1410
1413
1415
1419
1421
1424
1425
1427
1428
1429
1430
1431
1432
1433
1434
1435
1437
1438
1439
1442
1443
1444
1446
1450
1454
1459
1460
1461
1463
1470
1471
1472
1473
1474
1475
1476
1478
1479
1483
1491
1496
1506
1507
1508
1509
1512
1521
1522
1523
1532
1533
1536
1537
1538
1540
1543
1548
1553
1554
1564
1569
1570
1571
1578
1579
1581
1584
1585
1587
1588
1589
1590
1591
1592
1595
1596
1602
1604
1607
1608
1610
1611
1612
1615
1621
1623
1625
1626
1628
1629
1630
1631
1632
1634
1636
1638
1643
1644
1649
1650
1651
1652
1653
1667
1668
1669
1673
1675
1679
1681
1683
1684
1685
1687
1688
1689
1691
1692
1693
1694
1695
1696
1697
1698
1699
1703
1704
1711
1719
1722
1727
1728
1729
1730
1731
1732
1738
1740
1743
1758
1759
1764
1765
1768
1773
1774
1775
1776
1777
1780
1781
1787
1788
1789
1798
1799
1801
1802
1806
1807
1808
1810
1811
1815
1816
1820
1821
1827
1828
1829
1830
1832
1833
1834
1838
1839
1842
1843
1849
1853
1854
1856
1858
1862
1867
1868
1874
1875
1876
1879
1882
1895
1901
1904
1910
1912
1913
1914
1915
1916
1926
1927
1928
1929
1931
1932
1937
1941
1942
1943
1946
1951
1956
1962
1963
1964
1967
1972
1973
1974
1975
1976
1977
1978
1979
1981
1983
1986
1988
1989
1990
1992
1993
1996
2001
2002
2005
2006
2010
2011
2013
2014
2015
2016
2017
2018
2020
2023
2024
2025
2029
2030
2031
2032
2033
2035
2036
2037
2038
2039
2040
2044
2046
2051
2059
2062
2063
2065
2075
2079
2080
2081
2088
2090
2091
2099
2106
2109
2111
2113
2120
2121
2126
2129
2130
2131
2133
2134
2138
2141
2146
2151
2152
2157
2158
2161
2162
2164
2166
2170
2171
2173
2178
2182
2184
2185
2188
2189
2190
2193
2200
2204
2209
2212
2216
2217
2221
2222
2226
2227
2228
2230
2234
2235
2237
2239
2240
2241
2242
2245
2246
2247
2248
2249
2250
2251
2252
2254
2256
2260
2264
2265
2268
2270
2274
2280
2281
2288
2296
2301
2302
2306
2309
2311
2312
2319
2320
2333
2335
2338
2340
2341
2346
2350
2356
2357
2358
2361
2362
2364
2365
2371
2372
2382
2385
2388
2391
2392
2393
2394
2395
2396
2400
2402
2403
2404
2405
2406
2410
2411
2412
2413
2419
2431
2435
2439
2442
2444
2445
2447
2448
2450
2453
2454
2459
2460
2463
2464
2465
2468
2469
2472
2476
2477
2478
2479
2480
2481
2482
2483
2484
2488
2492
2493
2495
2497
2503
2504
2506
2508
2509
2511
2523
2529
2533
2534
2537
2540
2541
2545
2549
2554
2555
2557
2559
2560
2561
2563
2564
2565
2566
2569
2577
2584
2596
2597
2598
2601
2603
2604
2605
2606
2607
2608
2611
2623
2624
2631
2632
2636
2637
2638
2639
2640
2644
2645
2646
2647
2648
2649
2650
2655
2657
2658
2659
2660
2663
2664
2665
2673
2675
2677
2680
2682
2683
2685
2694
2696
2704
2705
2706
2707
2708
2709
2717
2718
2719
2723
2725
2726
2727
2728
2729
2730
2731
2733
2736
2740
2743
2744
2746
2749
2750
2754
2755
2756
2758
2764
2765
2766
2769
2776
2778
2787
2789
2790
2792
2793
2795
2796
2799
2802
2805
2806
2809
2812
2815
2816
2817
2818
2819
2822
2825
2827
2831
2844
2858
2860
2865
2872
2875
2876
2877
2878
2885
2889
2891
2892
2894
2896
2898
2901
2906
2907
2909
2910
2911
2914
2916
2917
2918
2921
2922
2923
2924
2927
2928
2929
2930
2933
2934
2935
2936
2938
2940
2941
2946
2960
2961
2963
2966
2967
2974
2975
2978
2979
2980
2982
2983
2985
2989
2992
2993
2995
2996
2999
3003
3004
3005
3006
3007
3009
3013
3016
3018
3019
3021
3024
3026
3031
3033
3034
3036
3039
3041
3042
3043
3044
3046
3048
3049
3050
3051
3052
3054
3055
3058
3062
3063
3076
3079
3080
3081
3082
3084
3085
3086
3088
3089
3092
3094
3095
3096
3098
3099
3104
3105
3106
3107
3109
3111
3114
3115
3116
3121
3125
3126
3127
3129
3131
3132
3134
3135
3136
3137
3141
3143
3146
3149
3152
3154
3156
3157
3159
3160
3161
3163
3166
3172
3173
3175
3177
3180
3188
3189
3194
3195
3196
3208
3209
3210
3212
3214
3215
3216
3217
3220
3223
3224
3225
3231
3232
3233
3235
3242
3245
3247
3248
3249
3250
3252
3256
3257
3258
3259
3261
3262
3265
3267
3269
3271
3273
3274
3277
3279
3281
3290
3297
3299
3307
3308
3309
3311
3312
3313
3318
3320
3323
3327
3328
3330
3331
3332
3335
3337
3338
3339
3340
3344
3348
3349
3350
3351
3352
3353
3357
3362
3364
3366
3374
3376
3378
3379
3382
3383
3384
3385
3386
3388
3389
3393
3396
3397
3399
3400
3404
3405
3406
3407
3411
3413
3417
3418
3422
3423
3426
3430
3432
3433
3437
3438
3440
3441
3444
3445
3446
3449
3452
3453
3463
3464
3465
3467
3468
3471
3472
3473
3474
3476
3479
3481
3482
3483
3484
3485
3486
3491
3494
3495
3497
3508
3509
3510
3511
3512
3513
3514
3515
3516
3518
3525
3526
3531
3538
3540
3548
3549
3550
3551
3552
3557
3558
3561
3564
3565
3566
3574
3575
3576
3577
3585
3587
3588
3589
3590
3595
3610
3612
3613
3615
3618
3619
3620
3622
3627
3628
3630
3632
3635
3636
3637
3638
3641
3642
3644
3648
3649
3650
3651
3652
3654
3655
3657
3661
3663
3664
3666
3669
3670
3675
3676
3677
3681
3683
3686
3690
3696
3704
3712
3717
3719
3722
3724
3726
3728
3731
3740
3743
3744
3745
3747
3753
3754
3757
3759
3760
3761
3763
3766
3767
3772
3773
3774
3776
3777
3778
3779
3782
3783
3784
3786
3787
3788
3790
3791
3793
3796
3798
3803
3805
3811
3813
3814
3815
3818
3820
3821
3824
3836
3837
3839
3840
3842
3843
3844
3845
3847
3848
3849
3852
3853
3859
3862
3863
3865
3866
3867
3874
3878
3882
3888
3892
3895
3896
3897
3898
3899
3903
3906
3907
3909
3911
3915
3918
3919
3920
3921
3922
3924
3926
3927
3928
3930
3934
3938
3940
3941
3942
3945
3947
3950
3952
3963
3966
3967
3968
3970
3976
3977
3980
3985
3989
3990
3992
3993
3994
3998
4000
4004
4006
4009
4012
4014
4017
4019
4021
4023
4035
4044
4048
4052
4055
4056
4057
4059
4060
4062
4064
4065
4067
4081
4084
4085
4086
4087
4088
4089
4090
4092
4097
4100
4102
4106
4107
4110
4111
4112
4113
4115
4116
4117
4119
4121
4123
4127
4128
4129
4130
4134
4137
4138
4139
4143
4145
4151
4166
4184
4185
4186
4188
4189
4190
4193
4197
4199
4202
4208
4209
4210
4212
4214
4216
4217
4218
4219
4220
4221
4223
4227
4229
4230
4231
4235
4236
4237
4238
4241
4243
4245
4247
4251
4252
4253
4254
4266
4267
4272
4273
4276
4277
4279
4283
4284
4288
4291
4292
4294
4295
4296
4298
4303
4304
4305
4306
4310
4312
4313
4314
4317
4318
4323
4329
4332
4339
4340
4356
4361
4364
4366
4374
4378
4381
4387
4388
4389
4390
4391
4393
4396
4397
4398
4401
4405
4410
4413
4418
4422
4425
4427
4428
4429
4431
4433
4435
4445
4450
4452
4455
4456
4457
4462
4466
4473
4474
4475
4482
4483
4485
4487
4488
4489
4491
4498
4500
4501
4502
4504
4506
4507
4508
4511
4512
4513
4514
4515
4516
4517
4518
4521
4522
4527
4528
4529
4530
4531
4532
4534
4535
4536
4538
4540
4542
4543
4544
4548
4549
4550
4551
4558
4559
4560
4561
4568
4569
4571
4572
4573
4574
4577
4579
4582
4593
4595
4598
4600
4601
4602
4603
4609
4612
4615
4618
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4635
4636
4637
4642
4643
4644
4646
4647
4650
4660
4662
4663
4664
4667
4669
4670
4672
4673
4681
4682
4684
4686
4691
4692
4694
4695
4696
4698
4699
4703
4704
4706
4715
4718
4719
4720
4721
4724
4733
4734
4741
4742
4743
4747
4748
4751
4755
4756
4757
4758
4759
4760
4762
4767
4769
4770
4773
4774
4775
4783
4784
4785
4786
4789
4791
4792
4797
4798
4800
4802
4819
4827
4829
4831
4833
4837
4838
4841
4842
4843
4844
4846
4849
4850
4851
4852
4857
4858
4860
4861
4864
4865
4866
4869
4876
4877
4880
4882
4892
4894
4895
4896
4898
4901
4904
4906
4908
4909
4910
4911
4919
4920
4921
4922
4923
4924
4927
4929
4933
4936
4937
4938
4941
4942
4943
4949
4953
4955
4956
4958
4959
4960
4962
4963
4968
4973
4976
4977
4979
4980
4982
4983
4984
4985
4986
4990
4998
4999
5005
5009
5014
5015
5017
5020
5021
5024
5026
5027
5028
5029
5031
5032
5035
5036
5040
5041
5045
5048
5049
5057
5059
5063
5065
5066
5079
5085
5086
5087
5088
5089
5091
5092
5093
5094
5095
5096
5099
5101
5104
5105
5108
5111
5114
5115
5116
5118
5119
5120
5121
5123
5124
5125
5126
5127
5128
5129
5134
5136
5144
5147
5149
5151
5153
5154
5158
5159
5163
5166
5168
5170
5172
5179
5181
5186
5191
5192
5195
5196
5197
5198
5199
5201
5202
5203
5204
5205
5206
5207
5210
5211
5212
5214
5216
5217
5219
5220
5221
5224
5226
5227
5228
5230
5231
5232
5233
5234
5235
5237
5240
5241
5242
5243
5244
5246
5248
5249
5252
5253
5267
5268
5269
5271
5274
5275
5276
5281
5283
5296
5297
5303
5309
5311
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5331
5332
5333
5334
5335
5336
5337
5339
5340
5341
5342
5343
5344
5345
5346
5350
5351
5352
5353
5354
5355
5359
5368
5369
5370
5374
5375
5376
5378
5382
5383
5384
5388
5390
5392
5394
5396
5399
5400
5406
5409
5414
5415
5416
5417
5418
5420
5421
5422
5423
5426
5427
5433
5440
5441
5442
5445
5448
5450
5451
5455
5456
5457
5459
5460
5461
5462
5463
5465
5466
5468
5469
5470
5471
5473
5484
5485
5486
5488
5489
5492
5493
5497
5502
5508
5510
5513
5516
5517
5527
5537
5538
5539
5547
5548
5551
5552
5554
5556
5558
5562
5563
5567
5568
5569
5570
5571
5572
5573
5574
5575
5584
5585
5586
5587
5589
5590
5594
5598
5600
5601
5603
5604
5605
5606
5607
5608
5609
5613
5614
5618
5622
5623
5626
5635
5636
5642
5643
5644
5648
5651
5653
5655
5659
5662
5663
5665
5668
5669
5677
5679
5687
5688
5691
5702
5703
5705
5709
5710
5712
5716
5717
5722
5727
5729
5737
5739
5740
5743
5744
5745
5746
5747
5749
5750
5751
5752
5753
5755
5757
5761
5765
5768
5769
5770
5771
5772
5773
5774
5777
5779
5780
5783
5784
5785
5786
5787
5789
5791
5792
5802
5804
5805
5806
5807
5809
5810
5812
5813
5815
5820
5828
5830
5834
5835
5841
5843
5844
5845
5846
5847
5849
5851
5852
5853
5854
5864
5865
5866
5867
5872
5873
5886
5887
5888
5892
5893
5896
5899
5900
5901
5902
5903
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5924
5929
5930
5932
5933
5937
5939
5940
5941
5942
5947
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5967
5970
5971
5973
5974
5976
5980
5981
5982
5983
5986
5988
5989
5990
5991
5993
5997
6000
6001
6003
6009
6010
6012
6015
6016
6017
6019
6020
6021
6022
6024
6026
6027
6029
6040
6043
6045
6047
6048
6051
6057
6059
6060
6068
6075
6083
6084
6087
6088
6089
6092
6102
6103
6104
6105
6107
6108
6118
6132
6134
6139
6140
6141
6142
6151
6153
6154
6159
6161
6165
6166
6167
6168
6172
6178
6181
6185
6187
6188
6191
6192
6193
6195
6202
6203
6205
6207
6208
6209
6211
6212
6213
6214
6215
6216
6217
6219
6221
6222
6223
6224
6226
6228
6229
6230
6232
6234
6236
6237
6238
6242
6244
6251
6252
6256
6258
6260
6266
6267
6268
6274
6277
6281
6282
6284
6294
6295
6296
6297
6298
6299
6301
6302
6303
6304
6308
6309
6311
6315
6319
6320
6322
6323
6324
6325
6326
6327
6328
6333
6338
6340
6342
6347
6349
6350
6351
6352
6356
6358
6361
6364
6367
6368
6380
6387
6396
6398
6399
6401
6403
6404
6407
6408
6409
6411
6413
6415
6416
6419
6422
6424
6425
6426
6427
6428
6429
6430
6431
6433
6435
6438
6439
6440
6441
6442
6443
6445
6450
6451
6452
6453
6459
6460
6461
6462
6463
6465
6466
6468
6472
6473
6474
6478
6479
6480
6481
6482
6483
6484
6485
6486
6491
6494
6499
6500
6502
6505
6507
6511
6512
6513
6516
6518
6519
6520
6522
6524
6525
6528
6535
6547
6551
6559
6560
6568
6571
6577
6579
6586
6589
6592
6594
6595
6600
6601
6604
6606
6615
6616
6617
6623
6624
6627
6628
6634
6639
6640
6645
6646
6647
6648
6649
6653
6654
6656
6657
6663
6672
6675
6677
6678
6679
6682
6687
6688
6697
6698
6700
6702
6709
6711
6712
6716
6718
6720
6722
6726
6729
6731
6732
6735
6742
6744
6747
6749
6754
6758
6759
6761
6762
6764
6765
6772
6773
6776
6792
6793
6798
6800
6804
6810
6811
6812
6813
6815
6816
6817
6818
6819
6820
6821
6823
6824
6826
6828
6830
6833
6834
6835
6841
6842
6843
6846
6847
6848
6849
6850
6857
6858
6861
6862
6863
6864
6866
6870
6871
6873
6881
6886
6892
6893
6894
6895
6900
6902
6903
6904
6905
6906
6907
6909
6910
6911
6912
6916
6922
6926
6930
6931
6934
6935
6936
6937
6938
6940
6941
6949
6952
6955
6956
6957
6958
6959
6961
6963
6964
6965
6972
6973
6975
6986
6988
6994
6995
7000
7002
7005
7006
7007
7008
7009
7010
7022
7023
7025
7026
7037
7041
7050
7051
7062
7063
7065
7069
7071
7075
7076
7077
7078
7079
7080
7082
7092
7095
7099
7101
7105
7107
7108
7110
7111
7113
7114
7119
7122
7123
7126
7127
7130
7131
7132
7134
7135
7141
7142
7145
7146
7147
7150
7152
7154
7158
7159
7164
7170
7171
7173
7174
7176
7177
7179
7180
7182
7185
7187
7189
7190
7191
7193
7194
7200
7208
7209
7225
7226
7228
7229
7230
7236
7241
7242
7248
7250
7251
7255
7258
7262
7263
7266
7268
7269
7271
7272
7274
7275
7277
7279
7281
7282
7285
7286
7287
7290
7291
7292
7294
7303
7310
7313
7316
7322
7323
7324
7326
7328
7329
7331
7332
7334
7338
7344
7345
7346
7350
7353
7357
7360
7361
7362
7363
7364
7365
7366
7367
7369
7370
7374
7376
7377
7378
7379
7380
7381
7382
7383
7385
7387
7389
7390
7391
7397
7401
7402
7403
7406
7409
7411
7417
7418
7419
7420
7421
7422
7423
7426
7428
7429
7430
7431
7432
7433
7435
7436
7438
7440
7441
7444
7445
7446
7447
7449
7450
7453
7455
7470
7477
7478
7479
7480
7482
7487
7491
7492
7493
7495
7497
7501
7503
7506
7508
7509
7510
7511
7514
7515
7517
7518
7519
7521
7524
7526
7527
7529
7530
7532
7533
7534
7537
7538
7540
7543
7544
7545
7546
7549
7550
7551
7555
7556
7557
7559
7563
7567
7569
7572
7598
7604
7605
7606
7609
7613
7616
7627
7628
7632
7634
7635
7637
7639
7640
7641
7642
7643
7645
7646
7648
7649
7650
7652
7653
7654
7658
7660
7665
7672
7673
7675
7677
7682
7685
7686
7687
7692
7693
7699
7704
7709
7710
7711
7713
7715
7718
7720
7721
7722
7723
7724
7736
7746
7748
7751
7752
7754
7755
7756
7757
7758
7759
7762
7763
7764
7767
7770
7772
7778
7779
7783
7784
7785
7788
7790
7791
7792
7793
7794
7796
7805
7807
7810
7811
7813
7814
7817
7818
7819
7828
7830
7834
7835
7842
7844
7845
7846
7847
7849
7851
7858
7859
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7874
7875
7876
7877
7878
7880
7885
7886
7888
7890
7893
7894
7897
7898
7899
7900
7902
7903
7904
7906
7907
7909
7912
7914
7917
7919
7920
7921
7922
7924
7925
7927
7928
7929
7932
7934
7936
7938
7939
7940
7941
7942
7944
7945
7947
7948
7949
7952
7955
7957
7965
7967
7968
7970
7971
7978
7981
7983
7988
7989
7994
7995
7996
7998
8000
8004
8005
8007
8010
8011
8016
8017
8022
8023
8027
8028
8030
8031
8032
8037
8038
8040
8042
8048
8053
8058
8059
8060
8062
8066
8069
8070
8071
8072
8074
8076
8077
8078
8079
8082
8083
8085
8087
8088
8089
8090
8093
8094
8097
8099
8112
8113
8114
8115
8117
8118
8121
8127
8135
8136
8141
8143
8145
8146
8149
8151
8153
8154
8156
8157
8158
8159
8161
8163
8165
8179
8181
8182
8183
8184
8187
8188
8189
8190
8197
8210
8211
8212
8213
8214
8218
8219
8220
8221
8225
8226
8227
8228
8229
8230
8231
8234
8235
8238
8239
8240
8243
8261
8263
8266
8268
8270
8271
8277
8282
8284
8289
8292
8294
8295
8299
8301
8302
8303
8304
8305
8311
8312
8313
8314
8316
8319
8321
8323
8324
8326
8327
8329
8330
8338
8345
8346
8349
8358
8360
8361
8362
8363
8366
8371
8372
8379
8382
8383
8388
8396
8397
8401
8402
8403
8404
8410
8412
8413
8414
8415
