0
2
4
5
11
14
18
19
20
21
23
24
26
28
29
31
32
33
34
35
38
39
43
44
45
47
55
56
58
65
67
69
71
74
75
76
79
81
84
89
90
91
94
97
103
106
107
112
116
119
121
124
127
129
131
134
137
143
144
145
149
154
155
157
159
161
162
163
165
166
170
174
175
176
179
182
184
186
187
188
192
193
194
196
200
205
206
209
212
216
217
219
223
224
226
227
232
234
236
239
242
245
246
247
249
250
251
252
259
260
264
265
267
273
274
278
280
284
285
291
296
299
300
301
302
303
304
306
308
309
310
314
316
318
319
323
324
325
327
331
332
334
336
339
340
347
349
353
355
356
357
358
363
364
366
367
368
369
372
376
379
380
382
386
389
394
395
397
398
399
403
406
407
408
409
410
411
419
422
433
434
436
438
439
441
443
445
450
456
462
463
464
465
474
476
479
482
484
488
489
490
492
493
496
502
504
506
507
509
510
511
512
513
515
517
518
519
521
522
523
524
526
527
528
530
531
533
534
535
537
538
543
545
546
547
548
557
558
559
560
562
563
565
569
572
575
578
579
580
583
584
588
589
592
597
598
600
602
603
608
609
611
612
616
617
619
622
624
625
635
637
638
641
644
646
649
650
653
654
657
658
659
662
669
670
671
673
674
681
686
687
688
689
690
694
695
697
698
703
710
715
719
720
722
725
726
727
728
729
730
732
734
736
737
738
739
742
744
745
746
747
753
754
755
756
757
759
761
768
771
772
774
775
777
778
780
781
782
783
784
788
789
792
793
796
797
803
808
809
810
811
812
815
817
818
820
821
830
833
835
836
837
841
842
846
848
854
858
862
863
867
868
870
878
881
884
888
891
894
895
897
905
906
907
909
914
917
920
923
927
928
929
930
931
933
934
937
938
939
940
942
945
946
947
950
951
952
953
954
959
961
966
968
972
973
974
975
977
982
983
986
987
988
991
992
993
994
995
996
997
1002
1005
1006
1009
1010
1011
1015
1016
1017
1019
1024
1030
1033
1035
1036
1037
1044
1045
1047
1048
1049
1050
1054
1060
1061
1062
1063
1065
1069
1072
1074
1076
1084
1085
1087
1089
1090
1091
1092
1094
1098
1099
1100
1101
1104
1108
1109
1110
1112
1113
1116
1119
1120
1121
1124
1126
1128
1133
1135
1136
1141
1142
1146
1147
1148
1155
1157
1164
1167
1171
1173
1174
1176
1182
1183
1185
1186
1189
1190
1192
1193
1195
1199
1202
1203
1205
1207
1208
1212
1214
1217
1222
1223
1224
1226
1227
1232
1233
1234
1235
1238
1240
1243
1245
1247
1249
1250
1251
1252
1255
1258
1262
1266
1267
1268
1270
1272
1274
1280
1281
1282
1283
1284
1286
1287
1288
1289
1291
1292
1293
1294
1295
1296
1303
1304
1306
1307
1309
1316
1317
1323
1325
1328
1333
1337
1338
1340
1341
1345
1346
1347
1350
1353
1356
1357
1358
1360
1361
1362
1363
1364
1365
1366
1367
1368
1370
1371
1373
1374
1375
1376
1380
1384
1389
1394
1397
1402
1408
1414
1416
1417
1421
1422
1424
1425
1428
1430
1431
1435
1436
1437
1439
1441
1445
1448
1452
1453
1454
1458
1460
1461
1462
1464
1470
1471
1472
1475
1476
1478
1481
1482
1483
1484
1485
1487
1490
1493
1494
1495
1496
1498
1500
1502
1503
1504
1509
1510
1513
1514
1517
1519
1520
1521
1523
1528
1531
1538
1540
1542
1544
1547
1549
1550
1553
1554
1555
1563
1566
1571
1572
1575
1576
1580
1582
1583
1586
1590
1593
1596
1599
1601
1602
1603
1607
1609
1611
1614
1617
1619
1624
1626
1627
1629
1631
1634
1639
1645
1646
1647
1648
1649
1650
1652
1653
1654
1661
1666
1669
1670
1671
1674
1677
1680
1681
1682
1684
1686
1690
1691
1693
1694
1696
1697
1698
1699
1704
1705
1706
1709
1711
1715
1717
1719
1720
1721
1722
1725
1728
1730
1731
1732
1735
1737
1739
1741
1742
1747
1749
1750
1751
1754
1756
1762
1763
1764
1767
1768
1769
1772
1774
1778
1779
1782
1783
1785
1793
1799
1800
1801
1802
1804
1806
1807
1809
1810
1818
1822
1823
1826
1828
1830
1831
1833
1835
1839
1840
1841
1843
1849
1850
1853
1861
1863
1866
1870
1872
1878
1880
1890
1897
1898
1900
1902
1905
1906
1907
1908
1914
1916
1924
1925
1926
1929
1931
1932
1933
1935
1936
1940
1941
1942
1944
1946
1947
1949
1952
1953
1961
1962
1965
1966
1967
1968
1969
1970
1972
1974
1980
1984
1985
1991
1993
1995
1997
1998
2005
2006
2009
2011
2012
2013
2018
2019
2020
2021
2028
2030
2035
2036
2039
2040
2041
2042
2044
2052
2054
2057
2059
2060
2062
2064
2065
2068
2069
2070
2075
2079
2082
2084
2085
2087
2090
2092
2093
2094
2095
2096
2100
2103
2104
2106
2107
2108
2111
2114
2115
2116
2122
2126
2135
2137
2142
2149
2153
2154
2156
2161
2162
2164
2165
2167
2168
2177
2178
2181
2185
2187
2190
2191
2197
2204
2206
2207
2208
2213
2215
2216
2218
2219
2223
2224
2225
2226
2228
2232
2233
2234
2235
2237
2241
2243
2248
2250
2251
2252
2256
2258
2261
2264
2265
2268
2274
2275
2278
2280
2282
2285
2288
2289
2291
2293
2294
2295
2299
2300
2305
2308
2311
2315
2317
2322
2323
2324
2326
2328
2333
2335
2338
2339
2341
2342
2343
2345
2348
2354
2362
2368
2373
2374
2375
2376
2377
2378
2381
2382
2383
2390
2391
2392
2395
2397
2398
2400
2401
2402
2404
2405
2406
2410
2414
2417
2420
2424
2425
2430
2431
2435
2440
2441
2443
2444
2445
2449
2450
2452
2455
2456
2457
2460
2461
2465
2466
2470
2472
2473
2477
2478
2480
2488
2490
2493
2498
2501
2503
2505
2506
2510
2513
2515
2518
2521
2522
2523
2525
2526
2527
2532
2534
2539
2543
2544
2545
2549
2550
2554
2555
2558
2559
2560
2564
2565
2567
2570
2571
2573
2576
2577
2578
2580
2581
2585
2587
2591
2592
2593
2594
2595
2599
2602
2604
2608
2612
2613
2617
2623
2624
2626
2627
2629
2633
2635
2637
2640
2641
2651
2657
2665
2666
2667
2672
2678
2681
2683
2684
2685
2688
2690
2691
2696
2697
2698
2700
2701
2702
2703
2705
2706
2707
2708
2709
2711
2712
2715
2719
2723
2727
2728
2734
2740
2741
2742
2744
2746
2749
2752
2755
2757
2762
2764
2765
2768
2769
2770
2774
2775
2776
2781
2782
2783
2788
2790
2793
2794
2796
2797
2801
2805
2806
2807
2808
2809
2812
2813
2815
2816
2817
2818
2820
2821
2827
2828
2830
2832
2837
2838
2839
2845
2849
2851
2852
2854
2855
2856
2857
2861
2862
2869
2870
2874
2876
2877
2880
2882
2883
2884
2885
2892
2896
2898
2901
2902
2903
2905
2906
2910
2912
2918
2921
2927
2928
2929
2934
2935
2940
2941
2944
2945
2946
2951
2953
2955
2962
2964
2972
2977
2979
2982
2983
2984
2985
2989
2994
3004
3008
3009
3017
3019
3022
3023
3024
3025
3027
3028
3029
3030
3032
3033
3035
3037
3038
3039
3040
3043
3046
3050
3051
3053
3054
3056
3057
3058
3059
3060
3065
3067
3071
3074
3076
3077
3080
3081
3082
3086
3087
3091
3094
3095
3096
3097
3101
3109
3117
3123
3124
3128
3130
3131
3138
3139
3141
3142
3143
3145
3148
3149
3153
3160
3163
3165
3166
3167
3168
3169
3181
3182
3185
3188
3189
3192
3193
3194
3197
3199
3201
3203
3206
3208
3209
3210
3214
3215
3216
3218
3219
3220
3221
3230
3232
3241
3242
3244
3249
3250
3253
3259
3260
3262
3264
3266
3269
3270
3274
3275
3276
3279
3281
3282
3284
3286
3288
3289
3291
3293
3294
3296
3298
3300
3303
3307
3308
3309
3311
3312
3313
3317
3323
3324
3328
3331
3332
3333
3334
3335
3337
3338
3339
3342
3345
3347
3348
3349
3355
3356
3357
3358
3359
3363
3365
3366
3368
3370
3372
3376
3379
3381
3383
3384
3390
3393
3395
3396
3397
3399
3405
3409
3414
3415
3416
3417
3419
3424
3427
3428
3433
3435
3436
3440
3441
3445
3449
3452
3455
3457
3459
3460
3461
3463
3464
3465
3467
3469
3471
3473
3478
3480
3481
3486
3487
3488
3491
3492
3495
3502
3503
3505
3507
3509
3511
3512
3516
3517
3518
3519
3521
3524
3526
3529
3531
3532
3535
3537
3538
3541
3546
3552
3553
3556
3558
3560
3563
3564
3569
3572
3573
3576
3578
3579
3580
3581
3583
3584
3586
3588
3589
3591
3595
3599
3602
3605
3606
3608
3609
3610
3612
3613
3622
3623
3624
3630
3631
3632
3634
3635
3636
3639
3645
3646
3649
3651
3652
3655
3656
3657
3660
3664
3665
3669
3672
3675
3676
3677
3680
3682
3683
3684
3685
3688
3691
3695
3696
3697
3698
3699
3700
3705
3707
3710
3711
3716
3721
3727
3731
3733
3735
3736
3737
3741
3742
3746
3749
3750
3757
3759
3760
3761
3763
3764
3768
3771
3772
3773
3774
3775
3785
3786
3790
3791
3794
3796
3798
3799
3802
3806
3807
3809
3811
3815
3816
3817
3818
3820
3828
3830
3832
3833
3834
3835
3836
3837
3840
3841
3842
3843
3848
3851
3854
3857
3860
3861
3862
3863
3864
3870
3872
3873
3874
3875
3876
3877
3878
3884
3885
3886
3888
3889
3897
3901
3902
3907
3908
3910
3912
3915
3922
3923
3924
3929
3931
3934
3936
3938
3940
3942
3943
3946
3948
3950
3951
3952
3953
3956
3958
3969
3972
3976
3979
3983
3987
3988
3989
3990
3991
3992
3994
3996
3997
3998
4000
4003
4009
4011
4013
4016
4017
4019
4021
4022
4023
4024
4026
4027
4030
4033
4034
4041
4042
4043
4044
4046
4051
4055
4057
4058
4060
4067
4068
4072
4074
4075
4077
4080
4082
4089
4091
4092
4094
4097
4098
4102
4103
4104
4106
4108
4110
4112
4115
4116
4123
4124
4128
4136
4138
4139
4140
4144
4149
4150
4151
4152
4153
4155
4156
4160
4162
4163
4165
4169
4170
4173
4175
4176
4177
4178
4179
4181
4183
4185
4187
4193
4196
4203
4206
4207
4209
4210
4211
4214
4217
4219
4226
4229
4231
4237
4238
4246
4250
4254
4255
4258
4260
4263
4264
4265
4267
4270
4273
4276
4278
4281
4283
4286
4287
4288
4290
4291
4296
4298
4300
4306
4307
4312
4314
4319
4321
4323
4325
4326
4330
4335
4338
4341
4342
4343
4344
4348
4357
4367
4368
4377
4378
4379
4381
4383
4384
4387
4389
4390
4391
4393
4394
4395
4401
4406
4409
4410
4411
4412
4415
4416
4419
4422
4423
4432
4435
4436
4442
4443
4450
4451
4453
4457
4458
4460
4465
4469
4470
4471
4473
4474
4475
4477
4480
4482
4483
4484
4485
4487
4493
4494
4496
4497
4501
4503
4504
4510
4511
4512
4513
4515
4516
4517
4518
4519
4521
4523
4524
4526
4527
4529
4531
4538
4541
4543
4544
4545
4552
4554
4556
4558
4559
4562
4564
4567
4568
4571
4575
4577
4578
4579
4585
4586
4587
4589
4590
4591
4592
4598
4601
4602
4604
4607
4610
4612
4616
4617
4619
4620
4621
4624
4627
4628
4630
4631
4637
4638
4645
4646
4649
4651
4653
4655
4658
4659
4660
4661
4662
4663
4667
4668
4671
4678
4679
4681
4687
4691
4692
4694
4696
4697
4700
4701
4704
4705
4706
4707
4708
4712
4714
4716
4718
4719
4724
4725
4727
4729
4737
4739
4741
4747
4749
4750
4752
4754
4755
4760
4761
4762
4764
4765
4768
4769
4776
4778
4780
4781
4782
4783
4788
4792
4802
4803
4807
4808
4811
4813
4815
4816
4817
4818
4819
4822
4824
4828
4831
4837
4838
4841
4844
4850
4852
4868
4872
4880
4882
4883
4887
4888
4889
4890
4891
4892
4893
4894
4899
4901
4902
4903
4904
4906
4907
4913
4914
4917
4918
4920
4921
4924
4928
4929
4931
4933
4934
4936
4938
4939
4943
4947
4952
4954
4955
4963
4967
4968
4970
4973
4974
4975
4976
4978
4982
4983
4984
4986
4987
4989
4990
4991
4993
4995
4997
5005
5007
5008
5012
5013
5014
5019
5021
5023
5024
5027
5032
5034
5036
5039
5043
5049
5050
5052
5054
5059
5060
5062
5063
5064
5065
5068
5069
5070
5074
5075
5080
5082
5083
5084
5089
5093
5099
5101
5102
5106
5107
5108
5109
5111
5112
5116
5118
5120
5121
5125
5126
5127
5128
5129
5136
5139
5141
5144
5145
5150
5152
5154
5155
5157
5159
5160
5161
5162
5163
5164
5166
5167
5168
5169
5170
5171
5174
5175
5177
5178
5181
5185
5189
5190
5191
5194
5195
5197
5200
5202
5204
5209
5211
5214
5217
5218
5220
5224
5226
5228
5230
5232
5233
5234
5235
5237
5238
5241
5245
5246
5247
5250
5253
5259
5264
5265
5266
5267
5269
5271
5272
5273
5275
5279
5280
5285
5296
5297
5299
5304
5305
5306
5312
5314
5317
5318
5320
5321
5322
5323
5327
5329
5333
5340
5342
5345
5347
5348
5349
5355
5361
5362
5363
5365
5367
5369
5370
5371
5374
5376
5379
5381
5385
5388
