1
5
9
13
14
15
16
17
18
20
21
25
28
29
30
33
35
36
37
38
40
42
44
45
49
51
57
59
62
64
66
69
71
75
76
81
82
84
85
88
89
91
93
94
97
99
101
102
104
110
111
112
114
117
118
123
124
125
126
127
128
129
130
133
134
135
137
142
143
145
146
147
149
150
151
152
153
154
155
157
160
162
163
164
165
166
167
168
170
172
173
174
178
180
182
184
186
188
189
190
191
192
196
200
203
204
207
208
211
214
215
216
217
220
221
224
225
226
227
229
230
232
234
235
236
237
238
239
241
242
245
246
248
253
254
255
256
258
261
262
263
267
269
270
272
273
274
278
279
280
282
283
284
285
286
289
290
291
292
293
294
296
297
299
302
304
306
307
308
309
310
311
312
314
316
317
318
323
324
329
330
332
335
338
341
343
344
346
348
350
351
352
353
357
360
361
362
363
364
366
367
368
370
378
381
382
383
384
386
387
388
389
390
392
397
398
400
401
404
405
408
409
410
412
413
414
415
417
419
420
421
422
423
424
425
426
429
435
436
438
439
441
442
443
444
445
446
449
451
452
454
455
456
457
458
460
461
463
464
465
467
468
469
470
471
472
473
474
475
478
480
481
482
483
484
485
486
488
489
490
491
492
493
495
496
497
499
501
502
503
506
507
508
509
512
513
514
516
518
519
520
523
524
527
528
529
530
532
534
535
538
542
543
545
546
547
548
549
551
552
553
555
556
557
558
559
560
561
564
565
567
569
570
571
572
573
574
578
580
581
583
585
586
587
589
590
591
595
596
598
599
600
601
602
603
604
605
607
609
610
611
612
613
615
616
617
618
619
621
622
623
625
627
630
631
632
633
637
638
639
640
641
642
644
645
647
648
652
653
655
656
659
660
661
662
664
665
667
669
672
676
677
679
680
681
682
685
687
688
690
694
695
696
697
699
700
701
702
703
705
706
707
708
709
710
712
717
718
719
722
724
726
727
729
731
732
733
735
736
738
740
742
744
746
747
749
751
754
755
756
757
758
759
760
761
764
765
770
771
772
774
776
777
779
780
781
783
784
786
787
788
790
791
792
794
796
797
798
799
801
802
806
807
808
809
810
811
813
816
820
822
823
824
825
826
828
829
833
836
837
843
844
848
850
851
852
853
857
859
860
862
865
867
871
872
874
875
877
878
879
881
882
883
885
886
887
889
896
897
898
899
900
902
903
906
907
909
914
916
917
918
920
921
922
923
924
925
926
928
930
932
934
936
937
938
939
941
942
943
944
945
946
948
949
950
951
953
954
955
956
957
958
959
960
961
964
967
968
973
976
977
981
982
985
986
988
989
990
992
994
998
1000
1001
1005
1007
1009
1010
1012
1014
1015
1016
1017
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1030
1031
1032
1035
1037
1038
1039
1040
1041
1042
1043
1044
1047
1050
1052
1053
1054
1055
1057
1061
1063
1064
1070
1074
1076
1078
1079
1080
1081
1082
1083
1086
1089
1092
1093
1094
1095
1096
1098
1099
1101
1103
1104
1105
1106
1107
1109
1110
1111
1112
1113
1118
1119
1120
1121
1125
1127
1128
1129
1130
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1147
1150
1155
1157
1159
1160
1161
1162
1163
1164
1166
1167
1168
1169
1170
1173
1176
1177
1178
1179
1184
1187
1188
1190
1191
1197
1198
1200
1204
1205
1207
1208
1209
1211
1213
1214
1215
1216
1218
1220
1223
1225
1229
1231
1235
1237
1238
1239
1240
1241
1243
1245
1246
1247
1250
1251
1252
1253
1254
1255
1257
1258
1260
1261
1262
1263
1267
1269
1274
1275
1276
1279
1281
1282
1283
1285
1288
1289
1290
1291
1292
1293
1294
1296
1298
1299
1300
1302
1303
1304
1306
1307
1308
1311
1312
1314
1316
1318
1319
1320
1321
1322
1324
1326
1327
1329
1330
1331
1332
1334
1335
1337
1338
1339
1341
1342
1343
1344
1348
1351
1352
1353
1358
1359
1360
1361
1362
1365
1367
1369
1371
1372
1378
1379
1380
1381
1382
1383
1384
1385
1388
1390
1393
1395
1397
1398
1399
1400
1401
1402
1404
1405
1407
1408
1412
1413
1416
1417
1419
1422
1425
1427
1428
1429
1433
1435
1436
1438
1439
1442
1443
1444
1445
1446
1450
1451
1454
1455
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1468
1469
1470
1472
1474
1475
1479
1480
1481
1482
1484
1486
1487
1488
1492
1495
1496
1497
1499
1500
1501
1502
1503
1504
1505
1506
1509
1510
1511
1512
1513
1514
1517
1518
1519
1522
1525
1526
1528
1530
1533
1534
1536
1538
1539
1540
1543
1544
1545
1546
1548
1549
1551
1552
1555
1556
1557
1558
1559
1560
1561
1563
1565
1566
1571
1574
1576
1577
1578
1579
1580
1581
1582
1583
1585
1586
1590
1591
1592
1593
1594
1595
1596
1599
1600
1602
1603
1604
1605
1606
1607
1608
1610
1613
1614
1615
1616
1625
1628
1630
1631
1635
1638
1639
1644
1645
1646
1648
1649
1650
1651
1652
1654
1656
1657
1659
1660
1661
1662
1663
1665
1669
1670
1673
1674
1675
1677
1679
1681
1683
1685
1686
1687
1688
1689
1691
1692
1694
1695
1696
1697
1698
1699
1700
1702
1703
1704
1705
1709
1710
1711
1712
1713
1714
1716
1719
1721
1722
1723
1724
1728
1729
1730
1732
1734
1735
1740
1741
1742
1743
1745
1746
1749
1750
1751
1752
1753
1756
1757
1760
1761
1762
1763
1764
1765
1766
1767
1768
1771
1772
1773
1776
1777
1778
1779
1781
1782
1783
1784
1786
1788
1789
1794
1796
1797
1798
1799
1803
1805
1807
1808
1809
1812
1814
1821
1825
1827
1828
1829
1831
1832
1833
1834
1836
1838
1840
1843
1844
1847
1848
1849
1850
1852
1853
1854
1855
1856
1857
1858
1859
1861
1862
1863
1864
1867
1868
1869
1872
1873
1874
1875
1876
1877
1880
1881
1884
1885
1886
1887
1888
1889
1892
1893
1894
1895
1896
1897
1902
1904
1908
1909
1910
1912
1914
1915
1916
1918
1921
1925
1926
1929
1930
1931
1934
1936
1938
1939
1942
1945
1947
1948
1949
1950
1953
1954
1955
1957
1958
1959
1960
1961
1963
1964
1966
1967
1968
1969
1970
1972
1973
1976
1978
1981
1982
1983
1984
1987
1988
1990
1992
1993
1994
1995
1996
2000
2001
2006
2008
2010
2015
2016
2020
2023
2025
2028
2029
2030
2034
2039
2042
2043
2045
2048
2050
2051
2052
2054
2055
2056
2058
2060
2062
2063
2066
2068
2069
2072
2073
2075
2076
2077
2078
2080
2081
2084
2085
2086
2089
2091
2093
2097
2098
2100
2101
2104
2105
2106
2107
2108
2110
2111
2112
2116
2119
2121
2123
2126
2127
2129
2130
2132
2136
2137
2141
2144
2145
2146
2147
2148
2152
2153
2154
2156
2157
2158
2161
2162
2164
2165
2166
2167
2170
2176
2177
2178
2181
2182
2183
2188
2189
2190
2191
2192
2195
2197
2198
2201
2202
2204
2205
2210
2212
2213
2215
2216
2218
2219
2220
2222
2226
2231
2232
2233
2234
2235
2236
2237
2242
2248
2250
2252
2255
2259
2260
2261
2265
2268
2272
2274
2275
2276
2277
2278
2279
2280
2281
2282
2284
2285
2286
2287
2290
2292
2294
2297
2299
2300
2304
2305
2306
2307
2308
2309
2310
2311
2313
2316
2317
2319
2322
2325
2327
2328
2330
2331
2333
2336
2337
2341
2342
2344
2345
2346
2347
2351
2354
2355
2356
2357
2358
2360
2361
2362
2363
2365
2366
2370
2371
2372
2374
2375
2377
2378
2379
2383
2384
2385
2387
2388
2389
2391
2392
2393
2395
2396
2397
2398
2400
2406
2409
2410
2411
2412
2414
2415
2416
2420
2423
2424
2426
2427
2429
2430
2431
2434
2438
2439
2441
2442
2443
2445
2452
2454
2456
2457
2458
2459
2461
2463
2464
2466
2468
2469
2470
2471
2472
2473
2478
2484
2485
2488
2489
2491
2493
2494
2497
2498
2500
2501
2503
2504
2507
2508
2509
2513
2516
2517
2518
2519
2521
2522
2523
2524
2525
2526
2527
2528
2530
2532
2534
2536
2537
2538
2540
2541
2542
2545
2546
2547
2548
2549
2552
2554
2557
2559
2562
2563
2566
2568
2572
2573
2574
2577
2579
2580
2582
2583
2584
2587
2595
2596
2597
2601
2602
2613
2614
2616
2618
2621
2622
2624
2627
2628
2629
2630
2631
2632
2635
2639
2640
2642
2645
2650
2651
2654
2655
2656
2660
2661
2662
2663
2665
2666
2667
2675
2676
2677
2683
2684
2685
2686
2688
2691
2693
2694
2697
2701
2703
2706
2707
2710
2712
2716
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2730
2731
2733
2737
2738
2742
2744
2745
2747
2748
2749
2750
2751
2753
2754
2755
2756
2757
2760
2762
2763
2764
2767
2768
2769
2772
2773
2774
2775
2777
2778
2779
2782
2783
2784
2785
2786
2791
2793
2795
2796
2797
2800
2802
2803
2804
2805
2806
2810
2812
2814
2815
2817
2818
2819
2823
2825
2826
2828
2829
2830
2831
2833
2834
2835
2836
2838
2839
2840
2842
2843
2845
2846
2849
2850
2851
2853
2854
2855
2857
2858
2859
2862
2863
2864
2866
2867
2869
2872
2875
2878
2880
2881
2883
2884
2885
2886
2890
2892
2893
2896
2899
2900
2902
2905
2906
2908
2914
2915
2916
2919
2920
2921
2924
2925
2927
2928
2929
2930
2932
2933
2934
2938
2939
2940
2944
2945
2946
2947
2951
2955
2956
2957
2958
2959
2961
2962
2964
2965
2966
2967
2968
2970
2972
2973
2974
2976
2977
2978
2980
2981
2985
2986
2989
2991
2992
2993
2997
2998
2999
3000
3001
3002
3005
3007
3008
3009
3010
3011
3012
3013
3014
3017
3019
3020
3022
3023
3025
3026
3027
3028
3029
3030
3031
3034
3039
3041
3046
3047
3048
3049
3050
3051
3052
3054
3055
3056
3057
3058
3059
3060
3062
3063
3064
3065
3068
3070
3073
3074
3076
3077
3078
3080
3082
3083
3085
3086
3087
3090
3091
3093
3094
3096
3101
3102
3103
3105
3108
3110
3111
3115
3117
3118
3119
3120
3123
3124
3125
3126
3128
3129
3130
3131
3132
3133
3135
3137
3138
3139
3140
3142
3143
3145
3146
3148
3149
3153
3154
3155
3156
3158
3159
3164
3166
3169
3171
3172
3174
3182
3184
3185
3186
3187
3188
3189
3190
3192
3194
3197
3198
3199
3201
3203
3204
3205
3206
3209
3210
3211
3212
3219
3222
3223
3227
3230
3231
3233
3234
3238
3241
3244
3245
3248
3249
3252
3253
3254
3256
3257
3258
3259
3260
3262
3267
3270
3272
3275
3276
3277
3278
3279
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3298
3299
3301
3309
3310
3312
3313
3314
3315
3316
3317
3318
3323
3324
3326
3327
3332
3334
3335
3339
3340
3342
3343
3345
3348
3350
3351
3353
3354
3355
3356
3357
3359
3361
3362
3365
3366
3367
3371
3375
3376
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3391
3392
3393
3395
3396
3397
3398
3401
3402
3403
3404
3406
3407
3409
3410
3413
3414
3415
3418
3419
3420
3422
3425
3427
3428
3430
3434
3435
3436
3441
3442
3446
3447
3448
3449
3454
3456
3457
3459
3461
3462
3464
3465
3466
3469
3472
3473
3474
3476
3477
3478
3479
3480
3484
3485
3488
3489
3490
3495
3497
3499
3500
3501
3503
3505
3507
3510
3511
3512
3517
3518
3520
3521
3522
3523
3524
3530
3531
3532
3536
3538
3539
3544
3546
3550
3551
3554
3555
3556
3557
3558
3559
3560
3563
3565
3568
3569
3573
3582
3584
3585
3586
3588
3589
3590
3592
3593
3596
3597
3598
3599
3600
3602
3604
3605
3608
3610
3611
3612
3617
3618
3619
3623
3624
3625
3626
3627
3628
3629
3630
3633
3635
3638
3639
3641
3642
3643
3645
3648
3649
3652
3653
3654
3655
3656
3657
3658
3661
3662
3664
3665
3666
3668
3671
3672
3675
3676
3679
3680
3681
3682
3683
3684
3687
3690
3691
3692
3693
3694
3695
3696
3699
3700
3702
3703
3706
3707
3710
3713
3714
3715
3716
3717
3721
3722
3723
3724
3725
3729
3732
3733
3734
3736
3737
3739
3741
3743
3746
3747
3748
3750
3751
3752
3753
3755
3756
3757
3758
3759
3762
3763
3765
3769
3770
3774
3775
3777
3778
3779
3784
3785
3787
3792
3794
3795
3800
3802
3804
3806
3807
3808
3809
3812
3815
3816
3817
3818
3819
3820
3821
3822
3824
3825
3826
3828
3829
3830
3831
3832
3833
3834
3835
3836
3840
3845
3847
3849
3850
3852
3855
3856
3861
3863
3864
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3881
3882
3883
3884
3886
3888
3890
3891
3893
3894
3896
3897
3898
3899
3900
3902
3904
3905
3906
3908
3909
3910
3912
3914
3915
3916
3918
3920
3921
3922
3925
3926
3928
3929
3933
3934
3937
3938
3939
3940
3942
3943
3944
3946
3947
3950
3951
3953
3954
3956
3957
3961
3964
3969
3970
3971
3972
3974
3975
3976
3977
3978
3979
3980
3981
3982
3984
3985
3986
3987
3988
3989
3990
3992
3993
3995
3998
4000
4001
4002
4003
4005
4007
4010
4011
4012
4013
4014
4015
4016
4018
4019
4023
4025
4028
4029
4030
4034
4035
4037
4038
4039
4044
4045
4047
4048
4051
4052
4053
4054
4056
4057
4059
4060
4061
4062
4064
4065
4066
4069
4070
4071
4073
4075
4078
4080
4081
4083
4084
4085
4090
4093
4096
4097
4099
4100
4102
4106
4107
4108
4110
4111
4114
4115
4116
4118
4119
4128
4129
4130
4131
4134
4137
4138
4140
4141
4142
4143
4146
4147
4148
4150
4151
4152
4153
4158
4160
4161
4163
4167
4168
4169
4170
4171
4172
4174
4177
4178
4180
4183
4187
4188
4191
4194
4195
4198
4199
4203
4205
4207
4208
4213
4214
4215
4216
4217
4219
4220
4224
4225
4226
4228
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4247
4249
4250
4256
4258
4261
4262
4264
4265
4266
4268
4275
4278
4279
4280
4287
4288
4290
4291
4293
4298
4299
4301
4302
4303
4306
4309
4312
4313
4314
4315
4316
4318
4319
4320
4321
4324
4325
4326
4327
4328
4330
4331
4332
4334
4338
4339
4340
4341
4342
4344
4346
4347
4352
4353
4354
4355
4357
4358
4360
4365
4366
4367
4369
4370
4372
4374
4375
4377
4378
4379
4381
4382
4387
4389
4390
4391
4392
4397
4398
4399
4403
4405
4406
4407
4409
4412
4414
4415
4416
4419
4420
4422
4423
4426
4428
4429
4430
4433
4434
4435
4437
4442
4447
4448
4449
4450
4454
4455
4456
4457
4460
4465
4468
4475
4476
4478
4479
4480
4482
4483
4484
4485
4486
4487
4490
4494
4498
4500
4501
4503
4504
4505
4507
4508
4509
4510
4511
4512
4513
4514
4516
4520
4522
4523
4529
4530
4532
4533
4534
4535
4537
4538
4539
4540
4541
4544
4546
4548
4549
4550
4552
4553
4554
4555
4556
4559
4560
4561
4562
4563
4564
4565
4567
4570
4571
4572
4577
4578
4579
4581
4586
4587
4588
4589
4592
4593
4595
4598
4599
4600
4603
4604
4605
4606
4607
4608
4609
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4625
4626
4630
4631
4633
4634
4635
4636
4637
4638
4640
4641
4642
4645
4646
4647
4649
4651
4652
4657
4660
4663
4664
4665
4667
4670
4671
4673
4674
4675
4679
4680
4681
4683
4684
4685
4686
4687
4691
4692
4693
4696
4700
4702
4704
4709
4712
4713
4714
4716
4717
4719
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4732
4733
4734
4735
4736
4739
4740
4741
4743
4745
4746
4747
4750
4757
4759
4760
4762
4763
4765
4766
4769
4771
4774
4776
4778
4779
4780
4783
4786
4787
4789
4791
4794
4795
4796
4799
4809
4811
4812
4813
4814
4815
4818
4819
4821
4822
4824
4826
4828
4829
4830
4831
4832
4835
4836
4837
4838
4840
4841
4842
4843
4845
4846
4848
4849
4850
4852
4853
4854
4857
4858
4863
4864
4868
4870
4871
4872
4873
4877
4879
4881
4882
4883
4889
4890
4891
4893
4894
4895
4898
4900
4901
4903
4906
4907
4909
4910
4911
4912
4913
4915
4916
4919
4920
4924
4925
4926
4927
4928
4930
4931
4932
4935
4936
4939
4940
4942
4944
4947
4948
4949
4952
4953
4955
4956
4958
4960
4965
4966
4967
4968
4969
4970
4971
4972
4976
4980
4984
4986
4989
4990
4991
4994
4995
4998
4999
5000
5001
5002
5007
5008
5009
5010
5013
5015
5016
5022
5023
5024
5025
5028
5030
5031
5033
5036
5037
5038
5040
5043
5047
5048
5049
5050
5051
5052
5053
5054
5056
5057
5059
5061
5062
5064
5065
5066
5069
5071
5073
5077
5080
5081
5085
5087
5088
5089
5090
5091
5093
5094
5096
5097
5099
5101
5102
5103
5105
5106
5108
5109
5110
5111
5113
5115
5116
5117
5120
5121
5124
5127
5128
5129
5131
5132
5133
5137
5138
5141
5146
5147
5152
5154
5155
5156
5157
5160
5162
5166
5168
5169
5171
5173
5175
5176
5178
5181
5182
5184
5185
5187
5188
5189
5193
5194
5195
5197
5200
5201
5203
5204
5206
5207
5209
5212
5214
5215
5217
5220
5223
5224
5225
5228
5229
5230
5231
5233
5234
5235
5238
5239
5242
5243
5249
5251
5252
5253
5254
5256
5258
5260
5264
5265
5267
5268
5269
5270
5271
5272
5274
5275
5276
5277
5278
5279
5281
5282
5283
5287
5288
5289
5292
5294
5296
5297
5298
5299
5300
5304
5306
5307
5309
5310
5312
5313
5314
5315
5316
5318
5320
5321
5322
5325
5326
5332
5333
5336
5337
5338
5340
5341
5346
5348
5349
5350
5352
5353
5356
5359
5360
5366
5368
5369
5371
5373
5375
5377
5378
5380
5382
5383
5385
5386
5387
5389
5390
5391
5392
5396
5397
5398
5400
5401
5403
5405
