0
3
4
5
6
8
13
14
15
16
19
23
29
31
32
33
36
37
38
39
40
41
42
43
46
48
51
54
55
56
57
59
60
66
68
69
70
74
75
77
78
80
81
82
87
89
90
92
94
98
99
100
101
103
105
108
109
111
112
114
115
116
117
119
121
122
123
126
127
129
131
132
134
136
139
142
143
144
146
148
149
151
153
154
155
157
166
167
168
172
174
175
177
178
180
181
185
189
190
191
193
194
195
198
199
201
202
203
204
207
210
212
213
216
220
227
228
238
241
243
245
247
248
249
254
256
261
263
264
265
266
271
272
275
277
278
279
280
286
287
290
292
295
297
298
301
302
303
304
308
315
324
325
326
330
332
333
334
336
339
342
343
345
348
353
355
357
358
359
360
362
365
366
367
371
372
373
374
377
378
380
381
382
385
387
388
390
391
394
396
406
407
410
411
413
414
415
419
420
428
431
432
433
435
443
447
449
453
455
456
458
460
461
464
465
466
467
469
470
471
472
474
476
477
481
482
488
489
490
496
497
498
499
500
501
502
504
506
508
509
514
515
518
519
520
521
522
525
526
528
529
530
532
535
537
538
540
541
542
544
545
547
548
549
550
553
556
557
558
561
563
564
565
566
567
569
570
572
573
576
578
579
581
582
583
585
586
588
590
596
599
600
601
606
609
611
613
614
615
616
617
619
620
621
622
625
627
630
631
634
639
640
643
651
653
655
656
657
658
663
665
666
668
672
675
677
678
681
683
684
685
687
689
690
692
693
695
696
697
700
704
705
706
709
712
713
720
722
724
726
727
729
731
735
737
738
739
740
743
744
745
746
749
754
755
756
758
759
761
763
767
770
773
774
780
781
782
783
785
788
790
791
794
799
803
807
808
809
810
811
812
817
819
820
823
826
829
837
838
840
841
843
844
846
847
848
849
850
853
854
859
862
863
865
866
867
869
874
878
879
881
882
883
889
890
891
894
895
898
904
905
906
907
909
911
912
916
923
926
927
928
929
931
932
934
935
936
939
941
943
945
946
947
950
953
954
955
958
959
961
966
967
968
969
973
974
976
982
983
984
985
986
987
990
993
995
998
999
1002
1005
1007
1008
1010
1012
1016
1021
1022
1029
1031
1034
1035
1036
1037
1038
1039
1040
1043
1044
1046
1047
1048
1051
1052
1053
1054
1056
1059
1060
1061
1064
1066
1067
1068
1070
1071
1072
1074
1075
1076
1081
1082
1083
1086
1087
1088
1090
1091
1094
1096
1097
1098
1099
1103
1104
1106
1107
1108
1112
1113
1117
1119
1122
1127
1129
1130
1133
1134
1136
1140
1143
1144
1147
1149
1153
1155
1156
1157
1158
1159
1161
1165
1166
1168
1171
1172
1173
1174
1175
1178
1180
1185
1186
1187
1189
1190
1191
1192
1194
1196
1197
1199
1200
1201
1204
1205
1206
1207
1211
1214
1216
1219
1221
1222
1223
1225
1231
1233
1235
1238
1239
1240
1242
1243
1244
1246
1247
1248
1249
1250
1251
1252
1254
1256
1257
1259
1262
1268
1272
1274
1275
1280
1282
1288
1290
1291
1293
1295
1297
1298
1300
1301
1302
1303
1307
1308
1310
1311
1314
1315
1316
1317
1320
1323
1329
1330
1331
1332
1334
1335
1337
1340
1341
1342
1344
1345
1346
1349
1351
1353
1354
1355
1357
1359
1360
1361
1362
1363
1365
1367
1368
1371
1377
1381
1382
1383
1388
1391
1394
1396
1398
1399
1400
1403
1404
1405
1411
1413
1421
1424
1426
1430
1432
1434
1435
1436
1438
1442
1443
1444
1445
1446
1447
1448
1450
1452
1455
1459
1460
1461
1462
1463
1464
1466
1469
1473
1477
1478
1479
1480
1481
1484
1489
1491
1493
1494
1497
1503
1504
1507
1511
1512
1514
1518
1519
1520
1522
1527
1528
1531
1532
1533
1535
1540
1541
1542
1546
1547
1548
1549
1551
1554
1556
1560
1561
1564
1566
1567
1568
1571
1575
1576
1577
1578
1579
1583
1592
1593
1594
1595
1596
1598
1600
1603
1604
1605
1612
1615
1617
1618
1620
1621
1622
1624
1625
1626
1627
1628
1629
1630
1631
1632
1635
1636
1643
1647
1652
1653
1654
1656
1657
1659
1660
1661
1665
1668
1671
1672
1673
1675
1676
1678
1679
1681
1682
1689
1690
1693
1697
1698
1700
1701
1702
1705
1706
1709
1714
1717
1720
1721
1722
1723
1729
1730
1732
1737
1738
1742
1744
1750
1751
1752
1753
1754
1758
1759
1762
1763
1767
1769
1770
1771
1773
1774
1780
1781
1783
1784
1785
1787
1790
1791
1793
1794
1795
1796
1798
1799
1801
1803
1804
1805
1806
1808
1811
1813
1816
1817
1818
1822
1824
1825
1826
1827
1828
1830
1833
1834
1836
1837
1838
1839
1840
1841
1845
1848
1849
1852
1853
1855
1856
1862
1864
1866
1870
1873
1875
1877
1880
1881
1882
1887
1888
1889
1891
1892
1903
1904
1905
1906
1907
1911
1913
1914
1915
1916
1917
1919
1920
1921
1922
1923
1925
1926
1929
1933
1934
1938
1939
1940
1941
1943
1948
1950
1951
1954
1956
1958
1960
1963
1964
1966
1968
1971
1975
1977
1980
1982
1985
1987
1989
1991
1992
1993
1997
1999
2001
2002
2003
2005
2006
2007
2010
2012
2014
2019
2020
2022
2024
2025
2027
2028
2030
2031
2032
2036
2039
2040
2042
2045
2046
2047
2049
2051
2052
2055
2056
2057
2058
2060
2061
2062
2065
2067
2071
2072
2076
2077
2078
2079
2080
2083
2086
2087
2089
2092
2093
2095
2096
2100
2105
2106
2107
2108
2109
2110
2112
2115
2118
2123
2124
2127
2129
2137
2142
2146
2147
2153
2154
2155
2156
2158
2159
2162
2163
2165
2167
2168
2173
2174
2177
2182
2188
2189
2191
2194
2197
2198
2203
2204
2206
2207
2208
2209
2211
2212
2213
2221
2224
2225
2226
2230
2232
2233
2235
2236
2238
2239
2241
2242
2243
2248
2249
2250
2254
2256
2257
2258
2267
2269
2272
2273
2274
2275
2276
2279
2280
2281
2283
2284
2287
2289
2292
2293
2294
2295
2297
2303
2305
2307
2310
2313
2314
2316
2319
2320
2325
2326
2327
2328
2330
2335
2338
2340
2344
2348
2350
2352
2354
2359
2361
2362
2364
2365
2368
2370
2371
2372
2374
2376
2377
2380
2384
2385
2386
2387
2389
2393
2398
2399
2400
2401
2402
2403
2404
2406
2408
2410
2413
2414
2415
2417
2418
2420
2422
2427
2429
2431
2432
2439
2440
2441
2445
2448
2449
2450
2451
2452
2455
2456
2457
2463
2464
2465
2466
2468
2470
2471
2473
2476
2480
2481
2484
2488
2491
2495
2497
2498
2500
2501
2502
2505
2506
2507
2508
2509
2510
2512
2513
2515
2516
2518
2520
2521
2524
2525
2526
2530
2531
2533
2534
2535
2537
2538
2540
2544
2545
2546
2548
2549
2552
2553
2555
2556
2558
2559
2562
2564
2565
2567
2568
2570
2571
2573
2578
2579
2580
2581
2586
2587
2589
2592
2593
2595
2596
2601
2603
2604
2607
2609
2610
2612
2613
2615
2616
2621
2622
2627
2629
2630
2632
2634
2635
2636
2638
2642
2644
2645
2647
2649
2651
2652
2653
2655
2656
2657
2659
2660
2665
2671
2673
2678
2680
2681
2684
2685
2687
2691
2693
2694
2696
2697
2700
2702
2705
2706
2708
2709
2713
2718
2720
2721
2722
2723
2724
2725
2727
2728
2729
2730
2732
2735
2737
2740
2742
2745
2747
2749
2750
2753
2756
2758
2761
2763
2764
2765
2766
2770
2771
2773
2775
2779
2780
2783
2784
2786
2789
2794
2798
2800
2801
2802
2803
2804
2805
2807
2809
2810
2812
2813
2814
2815
2819
2824
2825
2827
2833
2834
2836
2838
2840
2842
2845
2847
2850
2851
2852
2854
2855
2857
2858
2862
2863
2864
2869
2872
2874
2875
2876
2878
2883
2887
2890
2891
2893
2894
2895
2899
2901
2902
2903
2904
2907
2910
2917
2919
2922
2924
2927
2930
2932
2933
2934
2936
2939
2944
2945
2948
2949
2950
2958
2959
2960
2961
2963
2966
2967
2968
2969
2970
2971
2972
2974
2977
2978
2981
2982
2983
2987
2988
2990
2994
2995
2996
2998
2999
3001
3003
3005
3006
3010
3011
3016
3018
3028
3030
3031
3032
3033
3037
3038
3039
3042
3045
3049
3057
3058
3059
3060
3064
3066
3069
3071
3073
3077
3080
3083
3087
3089
3090
3091
3092
3095
3096
3098
3099
3102
3103
3104
3105
3107
3109
3110
3114
3115
3116
3120
3121
3123
3126
3127
3129
3130
3132
3133
3135
3137
3138
3139
3141
3142
3143
3146
3148
3150
3151
3153
3154
3155
3156
3157
3159
3160
3161
3163
3164
3165
3166
3171
3177
3179
3181
3182
3185
3186
3187
3188
3191
3193
3196
3198
3199
3200
3201
3202
3205
3206
3207
3209
3211
3213
3214
3216
3217
3218
3221
3224
3226
3228
3229
3231
3233
3234
3237
3242
3243
3244
3248
3258
3262
3263
3264
3265
3271
3272
3273
3274
3276
3279
3280
3281
3282
3286
3289
3291
3292
3294
3296
3297
3298
3300
3302
3304
3306
3308
3309
3310
3312
3314
3315
3322
3324
3326
3327
3329
3330
3331
3334
3336
3337
3342
3346
3349
3351
3352
3354
3356
3357
3360
3364
3369
3372
3374
3376
3378
3379
3380
3382
3386
3387
3388
3392
3393
3394
3395
3396
3397
3399
3401
3402
3406
3410
3411
3412
3413
3419
3420
3421
3422
3424
3425
3426
3428
3429
3431
3432
3438
3439
3445
3446
3447
3451
3452
3453
3454
3455
3459
3463
3466
3472
3478
3479
3481
3484
3488
3489
3490
3491
3493
3494
3495
3497
3498
3499
3500
3501
3502
3503
3504
3506
3507
3508
3513
3515
3523
3524
3527
3531
3532
3536
3539
3542
3544
3547
3548
3550
3551
3552
3555
3556
3558
3559
3564
3565
3567
3568
3569
3570
3572
3575
3577
3578
3580
3582
3586
3587
3588
3589
3590
3591
3593
3594
3596
3598
3601
3602
3605
3606
3607
3608
3609
3610
3611
3612
3615
3616
3620
3621
3622
3623
3625
3627
3628
3629
3632
3633
3635
3638
3640
3645
3649
3653
3657
3659
3666
3668
3669
3675
3676
3677
3678
3679
3680
3681
3683
3687
3692
3693
3696
3697
3698
3699
3700
3701
3703
3706
3711
3713
3714
3715
3716
3717
3722
3724
3729
3730
3733
3738
3740
3741
3744
3745
3746
3748
3749
3754
3758
3759
3760
3764
3765
3766
3770
3771
3774
3777
3778
3779
3785
3788
3790
3791
3792
3793
3794
3796
3798
3800
3801
3804
3805
3808
3812
3814
3815
3816
3817
3819
3821
3824
3825
3826
3831
3832
3833
3834
3838
3840
3842
3843
3846
3848
3850
3853
3854
3855
3856
3858
3859
3861
3865
3867
3869
3870
3872
3874
3876
3879
3880
3882
3884
3888
3890
3891
3892
3896
3897
3905
3907
3908
3909
3912
3913
3914
3917
3918
3921
3924
3926
3927
3928
3929
3935
3939
3941
3947
3949
3950
3951
3952
3953
3957
3958
3959
3961
3962
3966
3969
3970
3971
3972
3975
3976
3977
3978
3979
3980
3981
3983
3984
3985
3986
3987
3990
3995
3997
3998
4002
4003
4005
4006
4007
4008
4009
4012
4014
4016
4018
4019
4021
4024
4025
4026
4027
4029
4033
4035
4038
4039
4041
4044
4048
4053
4056
4059
4063
4066
4069
4071
4074
4075
4080
4081
4082
4083
4085
4087
4090
4092
4098
4099
4100
4101
4102
4103
4104
4105
4106
4115
4116
4118
4119
4123
4124
4125
4128
4129
4131
4132
4134
4135
4139
4140
4143
4144
4145
4146
4150
4151
4153
4154
4159
4160
4165
4166
4168
4169
4172
4174
4175
4176
4187
4188
4190
4192
4193
4194
4195
4197
4204
4205
4207
4209
4211
4212
4213
4216
4217
4218
4220
4221
4225
4226
4229
4230
4231
4233
4234
4238
4239
4241
4242
4243
4244
4247
4248
4250
4252
4254
4255
4256
4257
4258
4260
4261
4263
4264
4265
4266
4267
4269
4270
4274
4275
4276
4277
4283
4284
4285
4286
4288
4289
4291
4293
4294
4295
4296
4297
4303
4308
4310
4312
4316
4317
4321
4325
4327
4328
4329
4330
4335
4343
4347
4349
4353
4354
4356
4357
4361
4362
4373
4375
4376
4377
4378
4380
4382
4383
4387
4388
4391
4395
4397
4398
4399
4401
4404
4411
4412
4416
4418
4420
4421
4424
4427
4430
4432
4435
4436
4437
4439
4441
4442
4443
4449
4451
4453
4454
4455
4457
4458
4459
4460
4462
4463
4464
4465
4466
4471
4473
4477
4478
4483
4484
4485
4488
4490
4491
4492
4493
4494
4496
4498
4499
4500
4501
4502
4504
4505
4507
4509
4510
4514
4515
4517
4520
4521
4522
4523
4524
4527
4529
4530
4532
4535
4538
4539
4541
4544
4547
4550
4554
4556
4557
4558
4559
4560
4561
4562
4563
4564
4569
4570
4572
4574
4577
4580
4582
4583
4586
4590
4592
4593
4596
4598
4600
4601
4603
4605
4606
4611
4612
4616
4617
4619
4620
4622
4623
4624
4625
4626
4632
4633
4634
4635
4638
4642
4643
4644
4645
4648
4649
4650
4651
4652
4654
4655
4656
4658
4660
4662
4663
4664
4668
4669
4676
4677
4678
4679
4680
4681
4682
4683
4685
4687
4689
4692
4693
4698
4701
4703
4705
4706
4707
4713
4715
4718
4723
4728
4732
4733
4735
4737
4739
4740
4741
4742
4743
4744
4745
4746
4751
4752
4756
4757
4758
4762
4765
4766
4769
4771
4772
4776
4779
4781
4782
4783
4785
4787
4788
4793
4797
4798
4805
4806
4808
4810
4811
4812
4814
4815
4816
4821
4822
4823
4827
4828
4831
4833
4834
4836
4838
4841
4845
4848
4849
4850
4851
4852
4853
4855
4858
4859
4861
4863
4864
4866
4870
4875
4877
4879
4880
4885
4886
4888
4890
4891
4892
4894
4895
4898
4900
4901
4902
4903
4904
4905
4906
4907
4908
4915
4918
4919
4921
4922
4928
4932
4937
4942
4944
4950
4959
4963
4966
4967
4968
4972
4973
4977
4979
4980
4981
4983
4984
4989
4991
4995
4996
4997
5000
5001
5004
5006
5008
5009
5011
5014
5016
5017
5018
5021
5023
5024
5027
5028
5029
5030
5031
5033
5035
5037
5038
5042
5046
5049
5050
5060
5061
5062
5064
5067
5068
5069
5071
5073
5074
5075
5078
5079
5080
5083
5084
5086
5088
5090
5093
5094
5096
5097
5102
5103
5107
5108
5109
5111
5112
5115
5122
5123
5126
5129
5130
5131
5133
5134
5140
5141
5142
5143
5144
5146
5149
5152
5154
5158
5162
5164
5167
5168
5175
5176
5179
5180
5181
5182
5184
5186
5188
5189
5193
5194
5195
5199
5202
5204
5207
5208
5210
5211
5214
5216
5218
5221
5222
5223
5225
5226
5227
5229
5231
5234
5235
5236
5238
5240
5241
5242
5243
5248
5249
5252
5253
5259
5263
5264
5265
5266
5267
5268
5272
5273
5275
5277
5279
5280
5281
5282
5286
5289
5290
5292
5297
5298
5300
5302
5308
5312
5318
5319
5320
5323
5325
5326
5327
5329
5330
5331
5332
5333
5337
5338
5341
5342
5345
5347
5350
5356
5359
5360
5361
5364
5365
5371
5372
5373
5375
5376
5379
5382
5387
5390
5394
5396
5397
5399
5405
5408
5410
5411
5415
5416
5417
5419
5420
5423
5424
5426
5434
5436
5437
5439
5441
5443
5450
5456
5457
5458
5459
5461
5462
5463
5464
5465
5467
5469
5470
5471
5472
5480
5482
5483
5484
5489
5490
5491
5495
5497
5498
5502
5503
5504
5505
5506
5509
5513
5516
5517
5519
5520
5525
5526
5527
5530
5532
5533
5536
5538
5539
5540
5542
5543
5544
5545
5546
5549
5550
5553
5557
5558
5560
5561
5568
5570
5571
5572
5580
5581
5582
5587
5588
5590
5592
5596
5597
5598
5602
5603
5604
5607
5608
5609
5612
5613
5614
5615
5616
5617
5619
5620
5623
5624
5625
5626
5627
5631
5634
5636
5637
5638
5640
5641
5642
5643
5644
5646
5647
5651
5653
5654
5657
5659
5662
5663
5668
5669
5676
5678
5680
5681
5683
5684
5686
5687
5689
5693
5694
5696
5697
5700
5701
5706
5711
5712
5713
5714
5716
5717
5718
5722
5723
5724
5725
5728
5730
5731
5732
5735
5737
5738
5742
5745
5746
5749
5753
5755
5756
5757
5761
5763
5765
5766
5767
5768
5769
5771
5776
5785
5786
5787
5790
5791
5793
5795
5800
5801
5804
5807
5808
5812
5813
5814
5815
5816
5818
5824
5825
5826
5827
5828
5829
5834
5835
5837
5838
5839
5841
5842
5843
5844
5846
5847
5852
5860
5861
5864
5865
5868
5869
5870
5875
5877
5878
5879
5880
5886
5891
5892
5894
5896
5897
5898
5899
5900
5903
5907
5908
5910
5913
5914
5916
5917
5918
5921
5924
5927
5930
5936
5939
5940
5942
5943
5945
5946
5948
5951
5952
5954
5956
5958
5959
5961
5962
5963
5964
5965
5966
5967
5969
5975
5978
5979
5980
5982
5984
5987
5988
5990
5991
5994
5995
5996
5997
5998
6004
6007
6010
6014
6017
6018
6019
6020
6021
6023
6025
6027
6031
6038
6039
6041
6044
6047
6048
6049
6050
6051
6054
6058
6070
6071
6072
6075
6076
6077
6078
6081
6090
6096
6100
6101
6106
6108
6116
6121
6122
6124
6125
6128
6129
6130
6134
6135
6136
6138
6139
6141
6144
6146
6147
6154
6155
6156
6157
6159
6160
6162
6163
6165
6169
6170
6172
6174
6178
6181
6183
6185
6187
6188
6191
6192
6197
6199
6200
6201
6202
6203
6206
6208
6209
6211
6212
6213
6216
6220
6224
6226
6228
6229
6233
6235
6237
6239
6247
6249
6251
6253
6256
6261
6262
6263
6265
6268
6269
6270
6271
6272
6278
6279
6284
6285
6290
6291
6295
6296
6300
6301
6302
6306
6307
6315
6317
6321
6324
6326
6328
6331
6332
6333
6335
6336
6340
6341
6342
6349
6350
6352
6356
6358
6361
6363
6365
6366
6369
6371
6372
6374
6376
6377
6378
6379
6384
6388
6389
6390
6392
6393
6395
6398
6400
6402
6403
6405
6406
6407
6409
6410
6411
6415
6416
6417
6419
6420
6423
6424
6425
6426
6429
6430
6432
6436
6438
6439
6441
6442
6443
6447
6448
6451
6452
6453
6456
6458
6462
6463
6470
6471
6473
6475
6479
6483
6485
6489
6493
6494
6495
6496
6497
