2
3
5
7
10
12
14
17
18
19
23
26
31
33
34
36
38
39
42
43
45
46
52
53
56
57
58
59
64
66
68
70
72
73
74
76
77
78
80
82
83
84
86
87
88
89
92
97
99
100
101
104
105
108
110
113
114
116
117
119
120
121
122
125
131
132
135
140
141
143
144
146
149
154
156
157
158
161
165
168
169
171
174
177
180
184
186
187
189
192
194
195
196
197
199
200
201
202
203
204
205
208
209
210
212
217
221
222
224
225
227
228
229
230
238
240
243
244
248
250
256
257
258
259
260
261
263
266
268
273
274
275
277
280
281
282
283
284
285
288
289
291
292
293
295
296
297
298
299
304
305
306
309
310
311
314
317
319
320
321
323
325
336
337
338
341
342
345
346
347
348
349
350
351
352
353
354
357
358
363
364
366
367
368
370
375
376
378
381
385
387
390
392
394
395
396
398
399
400
405
406
411
412
414
415
416
418
419
420
422
425
427
430
431
432
433
434
436
439
440
443
444
446
447
448
452
454
456
460
461
463
464
465
466
469
473
475
477
480
481
482
483
485
488
490
493
496
500
501
502
503
505
506
512
513
514
516
517
518
520
522
523
525
526
528
530
531
534
535
537
541
544
546
547
548
550
551
554
556
558
559
561
562
563
564
566
570
573
575
577
578
579
581
585
587
589
590
591
593
594
595
597
600
603
604
608
609
611
613
615
616
617
619
620
622
623
624
628
630
631
633
634
636
638
642
643
646
647
648
651
652
654
655
656
657
659
660
663
665
666
667
668
672
674
675
676
678
680
682
689
690
691
693
694
695
696
698
699
703
704
707
708
709
710
712
714
716
717
719
723
724
725
726
729
733
736
740
741
743
744
745
749
753
757
766
770
771
773
774
777
778
779
781
783
786
788
791
792
793
795
796
797
800
801
802
804
805
806
807
808
810
813
815
818
822
823
824
835
840
842
843
844
845
852
853
854
855
857
858
860
862
863
865
871
872
875
878
881
883
885
887
888
890
891
895
899
904
905
907
908
909
910
913
914
916
920
921
924
925
926
929
931
934
938
939
941
945
950
952
956
958
960
961
963
964
969
973
976
977
978
980
981
986
987
989
992
993
994
996
997
1003
1004
1007
1008
1009
1010
1011
1013
1014
1019
1020
1022
1023
1024
1034
1037
1038
1039
1041
1044
1045
1048
1049
1050
1052
1053
1055
1056
1058
1059
1060
1061
1062
1064
1067
1070
1071
1076
1079
1082
1085
1086
1092
1093
1095
1100
1103
1105
1108
1109
1110
1111
1112
1115
1116
1117
1118
1120
1124
1125
1128
1130
1132
1133
1134
1136
1138
1140
1141
1142
1145
1146
1147
1148
1150
1151
1153
1154
1156
1158
1160
1161
1162
1163
1164
1168
1172
1173
1175
1177
1178
1181
1182
1183
1190
1192
1194
1197
1198
1201
1206
1207
1208
1209
1211
1212
1214
1215
1216
1219
1223
1224
1225
1227
1228
1229
1231
1232
1234
1236
1238
1239
1241
1242
1243
1245
1249
1251
1253
1255
1256
1258
1259
1261
1262
1263
1269
1270
1271
1272
1277
1278
1279
1284
1285
1286
1287
1289
1290
1291
1292
1294
1296
1298
1299
1301
1302
1304
1305
1306
1307
1308
1310
1311
1313
1315
1316
1317
1322
1324
1325
1329
1330
1331
1333
1336
1337
1339
1340
1341
1343
1344
1347
1348
1350
1352
1353
1354
1355
1358
1362
1364
1365
1367
1368
1369
1370
1371
1373
1374
1375
1377
1379
1381
1382
1384
1385
1386
1387
1388
1390
1392
1393
1395
1396
1397
1399
1400
1401
1402
1404
1405
1407
1409
1410
1411
1413
1422
1425
1426
1427
1429
1432
1435
1436
1438
1439
1440
1443
1444
1447
1449
1454
1457
1458
1459
1462
1468
1471
1475
1476
1480
1481
1483
1486
1489
1491
1492
1494
1496
1497
1499
1501
1502
1503
1504
1505
1508
1510
1511
1513
1515
1517
1521
1522
1523
1526
1527
1529
1530
1531
1533
1534
1539
1545
1546
1547
1553
1554
1555
1556
1557
1559
1561
1562
1563
1564
1566
1567
1568
1570
1573
1574
1575
1578
1579
1580
1582
1583
1584
1587
1589
1590
1593
1594
1596
1597
1598
1601
1602
1604
1605
1607
1609
1610
1611
1614
1616
1617
1618
1624
1629
1631
1632
1633
1635
1636
1640
1643
1646
1647
1648
1649
1651
1653
1654
1656
1659
1660
1663
1665
1667
1669
1670
1671
1673
1674
1675
1677
1681
1682
1683
1690
1691
1692
1693
1696
1699
1700
1705
1706
1707
1709
1710
1711
1713
1714
1715
1716
1719
1720
1722
1723
1724
1727
1728
1729
1734
1735
1736
1739
1740
1742
1743
1747
1748
1749
1751
1756
1757
1758
1760
1761
1762
1763
1764
1765
1768
1769
1771
1772
1773
1774
1775
1777
1778
1779
1780
1781
1783
1784
1786
1791
1792
1793
1797
1798
1801
1803
1804
1805
1813
1817
1818
1819
1820
1821
1823
1824
1827
1831
1833
1835
1838
1840
1844
1845
1846
1848
1851
1853
1854
1856
1857
1858
1865
1866
1867
1868
1870
1871
1872
1873
1874
1875
1876
1877
1882
1884
1886
1888
1890
1891
1892
1893
1898
1900
1901
1902
1904
1905
1909
1911
1912
1914
1915
1917
1921
1923
1926
1927
1929
1932
1933
1934
1935
1936
1940
1941
1942
1943
1944
1946
1947
1948
1949
1954
1956
1959
1960
1961
1962
1964
1965
1966
1967
1968
1969
1971
1976
1980
1981
1982
1983
1986
1987
1988
1989
1990
1991
1994
1996
1998
2000
2001
2002
2007
2008
2010
2012
2015
2019
2021
2022
2025
2026
2027
2029
2032
2033
2034
2035
2038
2040
2045
2047
2048
2050
2052
2055
2058
2059
2060
2063
2064
2069
2071
2072
2074
2075
2080
2082
2084
2086
2090
2092
2094
2095
2096
2098
2099
2100
2105
2110
2118
2119
2121
2123
2125
2126
2129
2130
2132
2136
2137
2141
2145
2147
2148
2150
2151
2152
2155
2157
2158
2160
2166
2167
2168
2169
2171
2175
2178
2180
2182
2184
2185
2192
2193
2194
2195
2197
2198
2199
2201
2202
2203
2204
2206
2208
2209
2211
2214
2215
2216
2217
2221
2223
2225
2226
2229
2231
2232
2235
2236
2237
2238
2239
2241
2244
2247
2248
2249
2250
2253
2254
2255
2256
2257
2260
2263
2264
2266
2270
2272
2275
2278
2282
2285
2286
2287
2288
2290
2291
2292
2295
2296
2297
2298
2299
2302
2304
2306
2307
2309
2314
2318
2321
2322
2324
2326
2327
2328
2329
2331
2333
2335
2337
2340
2341
2343
2344
2347
2348
2349
2350
2351
2354
2358
2359
2361
2362
2363
2369
2373
2374
2378
2379
2380
2381
2382
2383
2384
2386
2388
2389
2393
2394
2396
2399
2401
2403
2404
2405
2409
2410
2411
2414
2415
2417
2418
2420
2421
2422
2424
2426
2427
2429
2430
2431
2433
2434
2436
2437
2438
2439
2440
2443
2444
2446
2447
2448
2449
2450
2451
2452
2453
2456
2457
2458
2460
2461
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2474
2475
2477
2480
2483
2486
2487
2488
2490
2491
2493
2495
2497
2499
2503
2505
2507
2508
2514
2516
2517
2519
2521
2523
2525
2526
2527
2532
2533
2534
2538
2540
2543
2545
2546
2547
2548
2549
2550
2554
2557
2558
2560
2562
2564
2566
2567
2568
2569
2571
2572
2576
2578
2580
2583
2585
2586
2587
2588
2589
2593
2596
2597
2598
2599
2600
2601
2602
2606
2607
2608
2609
2610
2614
2616
2618
2619
2620
2621
2622
2623
2627
2631
2632
2635
2638
2639
2642
2646
2647
2649
2651
2653
2654
2655
2659
2662
2663
2665
2667
2669
2672
2673
2676
2677
2678
2681
2682
2684
2686
2687
2688
2690
2691
2693
2697
2699
2700
2701
2702
2703
2704
2705
2708
2709
2710
2711
2713
2714
2717
2718
2719
2720
2721
2724
2725
2726
2732
2733
2734
2738
2741
2744
2747
2750
2751
2756
2758
2760
2764
2765
2766
2772
2773
2776
2782
2784
2786
2790
2791
2792
2793
2794
2796
2801
2802
2803
2804
2805
2806
2807
2812
2814
2815
2817
2818
2819
2820
2822
2828
2829
2830
2833
2836
2837
2838
2841
2843
2845
2846
2847
2849
2850
2851
2852
2854
2855
2857
2865
2866
2868
2869
2870
2873
2875
2877
2879
2882
2885
2886
2887
2888
2890
2892
2894
2895
2896
2897
2901
2905
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2918
2919
2921
2923
2925
2926
2928
2929
2931
2933
2934
2936
2937
2938
2940
2941
2942
2943
2945
2946
2947
2949
2950
2951
2953
2955
2960
2964
2965
2966
2968
2969
2972
2974
2976
2978
2979
2980
2981
2982
2983
2984
2985
2987
2988
2991
2993
2994
2996
2997
3000
3002
3008
3009
3010
3012
3016
3018
3025
3026
3027
3029
3034
3037
3038
3041
3046
3047
3049
3051
3052
3053
3055
3057
3058
3059
3060
3061
3062
3063
3065
3067
3072
3073
3075
3076
3077
3078
3079
3080
3085
3087
3090
3091
3093
3094
3095
3096
3097
3098
3099
3100
3101
3104
3107
3108
3110
3111
3112
3113
3115
3117
3121
3122
3123
3124
3125
3128
3129
3130
3132
3135
3136
3137
3138
3145
3148
3150
3151
3153
3154
3156
3157
3158
3159
3160
3162
3163
3165
3166
3168
3169
3171
3173
3176
3177
3178
3179
3181
3183
3184
3190
3191
3193
3195
3196
3199
3201
3202
3203
3204
3208
3210
3211
3214
3215
3216
3220
3221
3223
3225
3226
3227
3228
3230
3232
3233
3238
3239
3240
3241
3243
3246
3249
3251
3252
3253
3254
3255
3257
3259
3261
3262
3266
3268
3270
3271
3272
3274
3275
3276
3277
3281
3282
3286
3288
3289
3291
3292
3293
3297
3302
3305
3306
3310
3311
3312
3313
3314
3315
3316
3317
3324
3327
3330
3331
3332
3333
3335
3338
3339
3343
3344
3346
3347
3348
3354
3355
3356
3358
3359
3362
3364
3365
3366
3368
3369
3372
3373
3374
3375
3376
3377
3379
3380
3382
3384
3387
3388
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3404
3406
3407
3408
3409
3413
3414
3415
3416
3417
3419
3420
3421
3423
3424
3426
3429
3431
3432
3435
3437
3438
3442
3452
3453
3455
3456
3457
3458
3462
3463
3465
3466
3469
3470
3475
3478
3480
3481
3484
3485
3486
3488
3489
3490
3491
3495
3496
3497
3499
3501
3502
3503
3506
3507
3509
3513
3515
3518
3520
3524
3525
3526
3529
3530
3536
3537
3539
3540
3543
3545
3547
3550
3551
3552
3555
3557
3560
3562
3563
3564
3565
3567
3569
3570
3571
3573
3575
3577
3578
3579
3580
3581
3583
3584
3586
3587
3590
3592
3594
3595
3596
3599
3600
3602
3605
3610
3611
3612
3613
3614
3615
3616
3618
3619
3622
3624
3625
3626
3628
3629
3630
3631
3633
3634
3635
3636
3637
3640
3641
3643
3644
3647
3649
3654
3659
3663
3664
3665
3666
3668
3669
3675
3676
3679
3681
3682
3683
3694
3702
3704
3705
3706
3707
3708
3712
3715
3716
3717
3723
3724
3725
3727
3728
3729
3732
3733
3734
3735
3737
3739
3742
3744
3748
3749
3751
3752
3753
3754
3755
3756
3757
3760
3762
3764
3765
3769
3770
3771
3773
3774
3776
3777
3780
3786
3787
3788
3790
3793
3794
3797
3798
3799
3800
3803
3805
3806
3807
3810
3812
3813
3814
3815
3816
3817
3821
3822
3826
3828
3831
3833
3835
3837
3839
3840
3841
3842
3844
3846
3850
3855
3856
3858
3859
3860
3861
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3876
3879
3882
3883
3884
3887
3888
3890
3891
3892
3893
3894
3897
3898
3899
3900
3902
3906
3907
3909
3912
3914
3915
3916
3917
3920
3923
3924
3926
3929
3932
3933
3934
3936
3941
3942
3944
3945
3948
3949
3952
3953
3954
3957
3958
3959
3961
3962
3964
3967
3968
3969
3970
3971
3974
3975
3978
3979
3980
3983
3984
3985
3986
3987
3989
3991
3992
3993
3996
3999
4002
4003
4006
4008
4011
4012
4016
4017
4018
4019
4020
4022
4023
4026
4027
4030
4032
4033
4034
4039
4040
4041
4044
4045
4046
4048
4056
4059
4060
4062
4063
4065
4066
4067
4069
4071
4073
4077
4078
4079
4080
4081
4083
4084
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4101
4102
4104
4106
4108
4109
4110
4112
4113
4115
4117
4120
4121
4125
4128
4129
4131
4132
4133
4142
4143
4144
4145
4147
4148
4150
4152
4154
4155
4156
4157
4158
4159
4161
4162
4164
4167
4168
4171
4172
4175
4176
4178
4179
4180
4181
4185
4188
4190
4193
4194
4195
4196
4197
4198
4199
4200
4202
4204
4208
4213
4215
4216
4217
4218
4219
4220
4221
4224
4225
4229
4230
4231
4236
4237
4238
4242
4243
4244
4250
4254
4255
4259
4260
4262
4264
4265
4266
4267
4268
4270
4273
4278
4279
4280
4281
4284
4285
4286
4288
4289
4291
4292
4295
4297
4299
4300
4301
4302
4303
4308
4309
4310
4313
4315
4316
4321
4322
4328
4337
4338
4342
4345
4346
4347
4350
4353
4354
4355
4356
4357
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4374
4379
4380
4381
4382
4384
4386
4387
4388
4389
4393
4394
4395
4397
4398
4400
4401
4402
4405
4406
4407
4408
4411
4413
4414
4415
4417
4419
4427
4428
4431
4432
4433
4434
4436
4437
4440
4441
4442
4444
4446
4447
4450
4453
4454
4456
4458
4460
4463
4466
4468
4473
4474
4475
4476
4477
4484
4486
4489
4493
4496
4497
4499
4503
4504
4505
4507
4509
4512
4514
4515
4516
4520
4521
4522
4523
4526
4527
4528
4529
4531
4538
4539
4541
4544
4547
4548
4549
4552
4553
4556
4558
4561
4567
4570
4571
4572
4573
4574
4576
4579
4580
4584
4586
4593
4595
4597
4600
4603
4606
4607
4609
4611
4612
4614
4616
4617
4619
4622
4625
4626
4627
4629
4634
4635
4636
4637
4643
4644
4645
4647
4650
4651
4652
4654
4655
4656
4657
4658
4659
4660
4661
4666
4668
4669
4671
4673
4674
4675
4680
4681
4682
4683
4684
4685
4686
4689
4691
4695
4698
4700
4704
4705
4707
4710
4714
4716
4717
4720
4721
4724
4725
4726
4729
4731
4732
4735
4736
4737
4738
4739
4743
4744
4745
4748
4749
4751
4752
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4770
4773
4774
4779
4780
4782
4783
4785
4786
4788
4789
4790
4793
4794
4797
4800
4802
4804
4805
4806
4807
4811
4813
4814
4815
4816
4817
4818
4820
4821
4822
4825
4826
4827
4831
4832
4833
4834
4836
4840
4841
4842
4843
4845
4846
4847
4848
4849
4850
4852
4855
4856
4858
4859
4861
4862
4865
4866
4867
4868
4869
4872
4874
4877
4880
4881
4882
4883
4888
4889
4890
4891
4892
4893
4894
4896
4897
4899
4900
4901
4902
4905
4908
4909
4911
4912
4913
4914
4916
4918
4920
4922
4923
4924
4925
4926
4928
4929
4931
4932
4934
4936
4937
4938
4939
4941
4942
4945
4947
4949
4950
4951
4952
4954
4958
4960
4961
4962
4965
4966
4967
4971
4974
4975
4978
4980
4981
4982
4984
4985
4986
4988
4989
4990
4992
4993
4995
4998
4999
5000
5002
5004
5010
5012
5013
5014
5015
5016
5019
5021
5022
5026
5028
5032
5033
5037
5038
5039
5043
5045
5048
5049
5050
5052
5053
5054
5057
5058
5059
5060
5063
5064
5065
5066
5068
5069
5070
5071
5075
5078
5079
5080
5081
5084
5085
5086
5088
5089
5090
5091
5093
5094
5095
5096
5097
5099
5100
5101
5102
5103
5104
5106
5108
5109
5110
5111
5112
5113
5114
5117
5118
5121
5123
5127
5128
5129
5131
5132
5133
5134
5135
5142
5146
5149
5151
5152
5154
5156
5161
5166
5168
5170
5171
5172
5173
5174
5177
5178
5180
5183
5184
5185
5188
5190
5193
5194
5196
5200
5201
5203
5204
5206
5209
5212
5215
5219
5220
5221
5222
5224
5229
5230
5231
5232
5233
5236
5238
5239
5241
5243
5244
5245
5247
5248
5250
5251
5252
5256
5257
5258
5259
5262
5263
5266
5267
5268
5269
5270
5271
5273
5274
5275
5276
5277
5279
5280
5281
5284
5285
5286
5288
5289
5290
5291
5299
5302
5303
5306
5307
5309
5310
5311
5312
5315
5316
5317
5321
5322
5326
5331
5332
5334
5335
5336
5346
5347
5348
5350
5351
5352
5353
5355
5360
5361
5362
5363
5365
5367
5369
5370
5373
5375
5376
5378
5380
5381
5385
5387
5388
5389
5390
5392
5393
5394
5395
5396
5397
5400
5401
5402
5403
5404
5407
5408
5409
5412
5413
5414
5415
5420
5421
5422
5423
5427
5428
5429
5431
5432
5433
5434
5436
5437
5439
5440
5441
5446
5449
5450
5451
5452
5456
5457
5459
5461
5462
5464
5465
5467
5468
5470
5471
5472
5473
5476
5478
5479
5480
5482
5484
5487
5488
5490
5492
5493
5498
5499
5500
5502
5506
5508
5511
5512
5517
5522
5523
5528
5530
5531
5533
5535
5537
5540
5541
5542
5545
5547
5551
5554
5556
5557
5558
5560
5561
5563
5564
5565
5569
5570
5571
5572
5577
5578
5579
5580
5581
5582
5584
5589
5590
5591
5593
5595
5599
5601
5602
5603
5604
5608
5612
5613
5616
5621
5623
5625
5626
5627
5629
5630
5631
5632
5633
5638
5639
5640
5641
5642
5643
5644
5646
5647
5648
5650
5651
5655
5656
5658
5660
5664
5668
5671
5674
5675
5678
5679
5681
5684
5686
5689
5691
5692
5693
5695
5696
5697
5698
5700
5703
5704
5705
5711
5712
5713
5714
5716
5717
5718
5720
5721
5722
5724
5725
5726
5727
5728
5730
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5745
5746
5747
5750
5751
5752
5754
5757
5758
5759
5761
5763
5764
5766
5769
5770
5772
5774
5776
5777
5778
5780
5781
5785
5786
5794
5795
5797
5798
5800
5803
5804
5805
5809
5810
5813
5815
5816
5819
5820
5823
5825
5828
5831
5835
5836
5838
5840
5841
5843
5845
5846
5847
5848
5849
5850
5851
5853
5855
5856
5859
5862
5863
5865
5866
5869
5870
5873
5876
5877
5878
5880
5882
5883
5884
5885
5887
5889
5892
5893
5894
5895
5896
5897
5898
5903
5904
5905
5906
5907
5908
5909
5913
5915
5917
5919
5920
5921
5922
5924
5927
5928
5929
5932
5933
5934
5935
5936
5938
5939
5940
5944
5945
5948
5949
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5962
5963
5964
5965
5967
5969
5970
5971
5974
5975
5977
5978
5980
5981
5982
5986
5988
5991
5992
5993
5994
5996
5997
5998
5999
6000
6001
6002
6004
6005
6007
6008
6009
6010
6011
6012
6013
6014
6020
6021
6022
6027
6028
6030
6031
6032
6033
6035
6038
6039
6040
6042
6044
6045
6046
6047
6048
6050
6055
6056
6057
6060
6062
6063
6065
6066
6068
6070
6071
6074
6075
6077
6078
6079
6080
6082
6084
6085
6086
6088
6090
6092
6094
6095
6096
6097
6098
6099
6101
6103
6106
6107
6109
6110
6111
6113
6115
6116
6119
6120
6121
6122
6124
6127
6129
6130
6131
6139
6140
6143
6145
6146
6149
6150
6152
6153
6160
6166
6172
6176
6177
6184
6187
6192
6193
6195
6196
6199
6200
6201
6204
6205
6207
6209
6212
6214
6215
6217
6218
6219
6220
6222
6223
6225
6232
6234
6236
6238
6240
6241
6246
6249
6255
6256
6261
6263
6265
6266
6269
6270
6272
6274
6276
6278
6279
6280
6283
6286
6291
6293
6294
6295
6298
6301
6303
6305
6306
6307
6309
6311
6312
6313
6314
6317
6321
6323
6325
6328
6329
6330
6333
6335
6336
6337
6338
6342
6344
6346
6349
6353
6354
6355
6356
6358
6360
6361
6362
6363
6365
6366
6370
6371
6375
6379
6380
6383
6384
6385
6387
