-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path108_SortedListToBST.py
110 lines (83 loc) · 54.6 KB
/
108_SortedListToBST.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#-------------------------------------------------------------------------------
#
#-------------------------------------------------------------------------------
# By Will Shin
#
#-------------------------------------------------------------------------------
# LeetCode prompt
#-------------------------------------------------------------------------------
"""
108. Convert Sorted Array to Binary Search Tree
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by more than 1.
Example:
Given the sorted array: [-10,-3,0,5,9],
One possible answer is: [0,-3,9,-10,null,5], which represents the following height balanced BST:
0
/ \
-3 9
/ /
-10 5
"""
#-------------------------------------------------------------------------------
# Approach
#-------------------------------------------------------------------------------
"""
This should be pretty straight forward. A few things to do think about though:
* since it is a sorted list, we can take the mid-point, and then create a smaller subtree, and then keep going
*
"""
#-------------------------------------------------------------------------------
# Soluton
#-------------------------------------------------------------------------------
# Definition for a binary tree node.
class TreeNode(object):
def __init__(self, x):
self.val = x
self.left = None
self.right = None
from mymodules import BinaryTree as bt
def my_build_BST(nums, low, high):
if low is high:
return TreeNode(nums[low])
elif low < high:
mid = (low + high)//2
node = TreeNode(nums[mid])
node.left = my_build_BST(nums, low, mid-1)
node.right = my_build_BST(nums, mid+1, high)
return node
def my_sortedArrayToBST(nums):
return my_build_BST(nums, 0, len(nums)-1)
#-------------------------------------------------------------------------------
# Main Leetcode Input Driver
#-------------------------------------------------------------------------------
class Solution(object):
def sortedArrayToBST(self, nums):
"""
:type nums: List[int]
:rtype: TreeNode
"""
return my_sortedArrayToBST(nums)
#-------------------------------------------------------------------------------
# Unit Test
#-------------------------------------------------------------------------------
import unittest
from mymodules import BinaryTree as bt
class TestSolution(unittest.TestCase):
def test_solution(self):
test_tree = bt.Tree()
test_tree.insert(0)
test_tree.insert(-3)
test_tree.insert(-10)
test_tree.insert(9)
test_tree.insert(5)
test_tree.printtree(test_tree.root)
returned_node = Solution().sortedArrayToBST([-10, -3, 0, 5, 9])
built_tree = bt.Tree()
built_tree.setRoot(returned_node)
built_tree.printtree(test_tree.root)
#self.assertEquals(Solution().diameterOfBinaryTree(test_tree.root), 4)
unittest.main()
"""
[0,1,2,5,7,8,9,10,11,12,13,15,16,19,21,22,23,24,26,27,28,31,32,38,39,40,41,42,43,44,45,46,47,48,49,51,52,53,54,56,58,61,62,63,64,65,66,68,69,73,74,75,76,77,78,80,82,83,84,85,87,88,91,92,93,94,96,97,98,99,102,103,105,106,108,111,112,115,117,118,123,124,125,126,127,128,130,131,132,133,134,136,137,138,139,140,144,145,147,148,151,152,153,154,155,158,160,162,165,166,168,170,171,172,173,174,176,178,179,180,181,182,183,187,188,189,192,197,198,199,200,202,203,204,205,206,207,208,209,210,212,213,214,215,217,219,221,223,225,226,229,232,235,236,237,238,243,244,246,248,249,251,252,253,254,255,256,257,258,259,262,263,264,265,268,269,270,272,273,274,275,277,278,279,282,283,284,285,286,288,289,290,291,292,293,294,295,296,297,298,299,300,301,303,304,308,310,311,313,315,316,318,320,321,322,323,324,326,328,329,331,332,333,335,336,337,339,340,341,342,343,345,346,347,348,349,350,351,353,354,355,356,358,360,361,362,363,364,365,367,368,369,370,371,372,373,374,376,378,379,381,384,385,386,387,389,393,394,395,396,397,398,399,402,403,404,406,407,408,409,411,413,414,417,421,422,424,426,428,429,431,432,433,436,437,438,439,441,443,444,445,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,463,464,465,466,468,469,474,475,476,477,479,480,482,483,486,487,489,490,492,493,495,497,498,499,500,502,503,504,505,507,510,511,512,513,514,515,516,519,521,523,524,525,526,527,528,530,533,535,536,538,539,540,542,543,545,546,547,548,549,552,555,557,560,562,563,564,566,568,569,570,571,572,574,576,577,579,580,581,582,583,584,585,586,587,588,589,590,591,593,594,596,597,599,600,601,603,604,605,607,608,609,611,613,614,616,618,620,621,623,625,626,628,629,630,632,633,634,635,636,637,638,641,644,645,649,650,651,652,653,654,655,656,657,659,660,662,663,664,665,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,688,689,690,691,692,693,694,695,700,701,702,704,706,707,709,710,711,713,715,717,721,722,723,724,725,726,727,728,729,735,737,738,740,741,742,743,744,745,746,750,751,752,753,754,757,759,763,764,765,766,768,770,771,772,773,775,776,777,778,780,781,782,783,784,787,790,791,792,793,795,796,798,799,800,801,802,803,804,805,806,807,808,809,810,812,813,814,817,818,820,821,822,823,824,826,828,829,830,832,833,834,835,838,840,841,842,845,846,847,848,850,851,852,853,855,856,858,860,862,865,866,867,868,869,871,872,874,876,877,878,881,883,886,887,889,892,894,895,896,897,898,899,901,902,903,904,905,906,908,909,910,911,912,915,917,918,919,920,924,925,928,929,932,934,935,936,937,938,939,942,944,946,947,949,950,952,953,956,958,959,960,961,962,965,966,969,972,973,977,980,981,983,985,987,989,990,992,993,994,996,997,999,1000,1001,1003,1004,1007,1008,1009,1012,1013,1014,1015,1016,1018,1019,1020,1022,1023,1024,1025,1026,1027,1028,1031,1032,1035,1036,1038,1040,1041,1042,1044,1045,1046,1049,1050,1051,1052,1053,1054,1055,1057,1058,1059,1060,1061,1062,1063,1064,1065,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1081,1084,1085,1086,1087,1088,1093,1094,1096,1097,1098,1099,1101,1102,1104,1107,1109,1111,1112,1114,1116,1117,1119,1120,1121,1123,1124,1125,1126,1128,1129,1130,1131,1134,1135,1136,1137,1138,1140,1141,1142,1144,1145,1146,1147,1148,1149,1156,1157,1158,1159,1161,1165,1168,1170,1171,1174,1175,1177,1178,1181,1183,1184,1185,1186,1188,1190,1191,1193,1194,1195,1196,1197,1198,1201,1202,1203,1205,1207,1209,1210,1211,1213,1214,1216,1217,1218,1220,1221,1222,1223,1225,1226,1228,1233,1235,1236,1237,1240,1242,1243,1244,1246,1247,1248,1249,1251,1252,1253,1254,1256,1258,1259,1260,1261,1263,1265,1267,1268,1272,1273,1275,1276,1277,1279,1282,1283,1288,1289,1290,1291,1292,1294,1295,1296,1297,1298,1299,1301,1302,1305,1307,1309,1310,1311,1313,1314,1315,1317,1318,1319,1320,1321,1323,1325,1326,1327,1328,1329,1331,1332,1333,1334,1335,1336,1338,1340,1343,1345,1349,1350,1352,1353,1355,1356,1357,1358,1359,1361,1362,1363,1365,1366,1368,1369,1370,1372,1373,1374,1376,1377,1378,1382,1384,1385,1386,1388,1389,1390,1391,1392,1393,1394,1396,1397,1398,1399,1401,1404,1405,1406,1408,1410,1411,1412,1413,1414,1416,1419,1420,1421,1422,1423,1424,1425,1426,1428,1433,1435,1436,1437,1438,1442,1443,1447,1452,1454,1455,1456,1457,1459,1460,1461,1462,1464,1465,1467,1469,1470,1472,1473,1475,1476,1477,1479,1480,1481,1482,1483,1485,1487,1488,1489,1490,1491,1492,1493,1494,1498,1499,1500,1502,1504,1505,1506,1507,1511,1512,1514,1516,1517,1520,1521,1523,1524,1527,1530,1531,1532,1534,1535,1536,1537,1539,1541,1543,1544,1546,1547,1549,1551,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1569,1570,1571,1572,1573,1574,1578,1580,1581,1582,1583,1586,1587,1588,1589,1590,1591,1593,1597,1598,1599,1600,1601,1602,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1616,1617,1619,1620,1621,1622,1624,1625,1626,1630,1632,1633,1634,1635,1636,1637,1639,1640,1642,1645,1646,1647,1649,1652,1653,1658,1659,1660,1661,1662,1663,1665,1666,1667,1670,1671,1672,1673,1674,1678,1679,1680,1681,1682,1683,1684,1686,1687,1688,1692,1693,1694,1696,1697,1698,1701,1702,1703,1706,1707,1709,1713,1714,1715,1716,1717,1721,1724,1726,1727,1728,1729,1730,1731,1732,1733,1734,1735,1739,1741,1743,1744,1745,1747,1749,1750,1753,1754,1755,1757,1758,1759,1760,1765,1766,1767,1768,1770,1774,1775,1776,1777,1780,1781,1782,1783,1784,1786,1787,1789,1790,1792,1794,1795,1796,1797,1800,1801,1802,1803,1805,1807,1815,1816,1817,1818,1819,1820,1821,1824,1825,1826,1827,1829,1830,1832,1833,1836,1837,1838,1839,1840,1841,1842,1843,1844,1845,1846,1847,1848,1849,1851,1852,1853,1857,1858,1861,1862,1865,1867,1868,1870,1871,1872,1873,1876,1879,1880,1881,1883,1884,1885,1886,1887,1889,1890,1891,1893,1894,1895,1896,1898,1899,1900,1901,1903,1904,1905,1910,1911,1912,1913,1915,1916,1917,1918,1919,1921,1922,1924,1926,1928,1929,1930,1931,1933,1935,1938,1941,1942,1943,1944,1949,1951,1952,1953,1955,1957,1958,1959,1963,1964,1965,1969,1970,1972,1973,1974,1975,1976,1979,1982,1983,1985,1987,1992,1993,1996,1997,1998,1999,2000,2001,2003,2004,2005,2006,2007,2009,2010,2011,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2025,2031,2032,2033,2035,2039,2040,2041,2043,2044,2045,2046,2047,2048,2049,2052,2053,2056,2060,2061,2062,2063,2064,2065,2069,2071,2072,2073,2074,2076,2077,2078,2079,2080,2082,2083,2085,2086,2087,2088,2090,2092,2093,2094,2095,2099,2101,2102,2104,2105,2106,2107,2109,2110,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2123,2124,2125,2126,2127,2129,2130,2132,2133,2134,2136,2137,2138,2141,2142,2143,2145,2146,2148,2152,2153,2154,2155,2156,2158,2159,2160,2161,2163,2169,2170,2171,2172,2173,2174,2175,2176,2177,2178,2179,2182,2183,2184,2185,2186,2187,2188,2191,2193,2195,2196,2198,2199,2200,2202,2204,2205,2206,2208,2209,2210,2212,2213,2214,2217,2219,2220,2221,2222,2223,2224,2225,2226,2228,2229,2231,2233,2234,2237,2238,2239,2240,2241,2242,2244,2245,2247,2250,2251,2252,2253,2257,2259,2260,2261,2262,2263,2267,2269,2270,2271,2272,2273,2275,2276,2277,2278,2279,2280,2283,2284,2285,2286,2290,2291,2292,2294,2296,2297,2299,2300,2301,2302,2304,2305,2306,2307,2308,2309,2310,2311,2314,2315,2317,2319,2320,2321,2322,2323,2324,2326,2327,2328,2329,2330,2331,2333,2334,2337,2338,2340,2343,2344,2347,2348,2350,2351,2358,2361,2362,2363,2364,2365,2366,2367,2368,2370,2371,2372,2377,2378,2379,2382,2383,2384,2385,2387,2389,2390,2391,2392,2393,2394,2396,2397,2398,2402,2403,2404,2405,2406,2407,2408,2409,2411,2413,2414,2416,2417,2418,2419,2420,2421,2422,2423,2424,2426,2428,2429,2430,2432,2433,2434,2435,2436,2438,2439,2441,2444,2448,2449,2450,2451,2453,2454,2455,2456,2457,2458,2459,2462,2463,2464,2466,2467,2470,2471,2472,2473,2474,2477,2478,2479,2481,2483,2484,2486,2487,2488,2489,2490,2491,2492,2494,2496,2497,2498,2499,2500,2501,2504,2505,2506,2507,2508,2510,2511,2512,2514,2515,2517,2518,2520,2521,2523,2526,2528,2529,2531,2532,2533,2539,2541,2545,2548,2550,2551,2552,2553,2554,2555,2556,2557,2559,2561,2564,2565,2566,2568,2569,2570,2571,2572,2573,2574,2575,2576,2577,2578,2579,2580,2581,2582,2584,2586,2587,2588,2591,2592,2595,2596,2597,2598,2599,2600,2601,2603,2604,2605,2607,2608,2609,2610,2612,2613,2614,2615,2616,2617,2619,2620,2622,2623,2625,2627,2631,2632,2633,2634,2635,2636,2637,2638,2639,2640,2641,2642,2644,2645,2646,2647,2648,2649,2650,2651,2652,2653,2655,2657,2659,2661,2662,2665,2666,2667,2668,2669,2672,2673,2674,2675,2676,2679,2682,2683,2684,2685,2686,2688,2689,2690,2693,2694,2695,2696,2699,2700,2701,2702,2703,2704,2708,2711,2712,2715,2716,2717,2718,2719,2720,2721,2723,2725,2726,2727,2730,2731,2732,2733,2734,2736,2737,2738,2740,2741,2742,2743,2746,2748,2749,2750,2752,2753,2755,2756,2757,2758,2759,2763,2766,2767,2769,2770,2773,2775,2776,2777,2778,2779,2780,2781,2783,2785,2786,2787,2793,2794,2795,2796,2800,2801,2803,2805,2806,2807,2808,2809,2810,2812,2817,2818,2819,2821,2825,2827,2829,2830,2831,2834,2836,2837,2838,2841,2842,2843,2844,2845,2846,2847,2848,2849,2850,2851,2854,2855,2856,2857,2859,2860,2861,2863,2865,2866,2867,2868,2869,2871,2872,2874,2876,2877,2879,2880,2881,2882,2883,2885,2886,2887,2888,2889,2890,2891,2892,2893,2895,2897,2899,2900,2902,2903,2905,2906,2907,2910,2911,2913,2916,2917,2918,2920,2921,2922,2924,2925,2926,2927,2928,2929,2930,2931,2934,2938,2939,2941,2942,2943,2947,2949,2951,2952,2954,2955,2957,2958,2960,2961,2963,2965,2967,2968,2969,2970,2971,2972,2973,2974,2977,2980,2982,2985,2986,2987,2989,2990,2991,2992,2993,2994,2995,2996,2997,3000,3001,3005,3006,3009,3010,3011,3012,3013,3014,3015,3019,3022,3024,3025,3026,3028,3029,3031,3032,3034,3035,3036,3037,3038,3039,3042,3044,3045,3046,3049,3050,3051,3052,3056,3058,3059,3061,3062,3063,3065,3066,3067,3068,3069,3070,3071,3072,3076,3077,3078,3079,3080,3084,3085,3088,3089,3090,3092,3093,3095,3097,3098,3099,3101,3102,3104,3105,3107,3108,3109,3111,3113,3115,3116,3122,3123,3127,3128,3129,3130,3132,3134,3137,3138,3139,3140,3141,3142,3144,3148,3150,3151,3152,3154,3155,3156,3158,3159,3160,3162,3163,3164,3168,3170,3172,3173,3175,3176,3177,3180,3184,3186,3189,3191,3192,3194,3197,3198,3199,3201,3202,3203,3204,3205,3208,3209,3211,3212,3214,3215,3216,3218,3220,3221,3222,3224,3225,3226,3228,3229,3230,3231,3232,3235,3238,3239,3241,3242,3245,3247,3248,3249,3250,3251,3255,3256,3257,3258,3261,3263,3264,3265,3268,3269,3270,3271,3272,3273,3274,3275,3276,3278,3279,3280,3282,3285,3287,3288,3289,3290,3291,3293,3294,3295,3298,3300,3301,3303,3304,3305,3308,3309,3310,3311,3312,3313,3314,3316,3318,3320,3321,3322,3324,3325,3326,3327,3329,3330,3331,3332,3333,3336,3338,3339,3341,3343,3344,3345,3346,3347,3348,3349,3350,3351,3355,3356,3357,3360,3361,3365,3366,3367,3368,3369,3370,3371,3372,3374,3375,3377,3378,3380,3381,3382,3384,3385,3387,3388,3391,3392,3393,3394,3396,3397,3399,3400,3402,3403,3404,3405,3406,3408,3409,3410,3412,3414,3415,3416,3418,3421,3424,3425,3426,3427,3429,3430,3432,3433,3434,3435,3436,3440,3441,3442,3443,3444,3445,3448,3449,3452,3453,3454,3455,3456,3458,3459,3460,3463,3464,3466,3467,3468,3469,3470,3471,3474,3475,3476,3477,3478,3480,3481,3482,3484,3485,3486,3487,3489,3490,3491,3493,3495,3496,3497,3498,3499,3500,3503,3504,3505,3506,3508,3510,3511,3514,3515,3517,3518,3519,3520,3522,3524,3526,3527,3528,3529,3530,3535,3538,3539,3541,3543,3545,3546,3547,3548,3549,3550,3551,3553,3554,3555,3556,3557,3558,3559,3561,3562,3563,3564,3565,3568,3569,3570,3572,3573,3575,3577,3578,3579,3580,3581,3582,3583,3584,3586,3592,3593,3594,3595,3596,3598,3599,3600,3601,3603,3604,3607,3608,3609,3610,3611,3612,3613,3615,3620,3621,3622,3623,3624,3625,3626,3628,3631,3632,3634,3636,3637,3638,3639,3640,3641,3643,3644,3646,3652,3654,3655,3657,3659,3660,3662,3663,3664,3665,3669,3670,3671,3672,3673,3674,3675,3676,3677,3678,3680,3681,3684,3686,3687,3688,3689,3692,3693,3694,3695,3696,3697,3699,3700,3701,3704,3705,3706,3707,3708,3709,3710,3711,3713,3715,3716,3718,3719,3720,3721,3722,3723,3725,3727,3731,3732,3733,3734,3735,3736,3737,3738,3740,3741,3743,3744,3745,3746,3747,3748,3749,3751,3753,3754,3755,3756,3757,3758,3759,3760,3761,3762,3763,3764,3768,3769,3770,3771,3772,3775,3776,3779,3780,3781,3783,3785,3787,3788,3789,3791,3793,3794,3795,3796,3797,3799,3800,3801,3802,3804,3806,3808,3809,3811,3815,3816,3818,3819,3820,3821,3822,3823,3826,3827,3828,3829,3830,3831,3832,3833,3834,3840,3841,3842,3843,3844,3845,3846,3847,3848,3849,3851,3853,3854,3855,3856,3857,3859,3860,3861,3864,3865,3866,3867,3868,3869,3871,3873,3874,3877,3879,3881,3883,3884,3885,3889,3890,3891,3892,3893,3894,3895,3900,3901,3902,3903,3905,3906,3907,3908,3909,3910,3911,3912,3913,3914,3915,3917,3919,3920,3923,3924,3925,3927,3929,3930,3931,3932,3933,3934,3935,3936,3937,3938,3939,3940,3942,3944,3946,3947,3948,3949,3950,3953,3954,3956,3957,3958,3960,3961,3962,3964,3966,3967,3968,3969,3970,3971,3972,3973,3975,3976,3977,3979,3980,3981,3982,3984,3986,3989,3990,3991,3992,3993,3995,3996,3998,4000,4001,4002,4003,4005,4009,4011,4016,4017,4018,4021,4022,4024,4025,4026,4027,4029,4030,4031,4032,4033,4034,4035,4038,4039,4040,4042,4043,4044,4045,4046,4047,4049,4050,4051,4052,4054,4055,4056,4058,4059,4062,4063,4064,4065,4066,4067,4068,4069,4072,4073,4074,4076,4078,4079,4080,4083,4086,4090,4091,4092,4094,4095,4096,4100,4101,4102,4104,4109,4110,4112,4113,4114,4115,4117,4119,4120,4121,4122,4123,4124,4125,4126,4127,4128,4129,4131,4134,4135,4137,4138,4140,4142,4143,4145,4147,4148,4149,4150,4151,4152,4153,4154,4156,4157,4158,4160,4161,4163,4165,4166,4167,4170,4171,4176,4179,4180,4181,4182,4184,4186,4187,4188,4190,4191,4192,4193,4194,4195,4197,4198,4199,4202,4203,4206,4209,4210,4211,4213,4214,4215,4216,4217,4218,4219,4220,4221,4222,4224,4225,4226,4228,4232,4233,4234,4235,4237,4238,4239,4242,4244,4245,4246,4247,4248,4249,4251,4252,4255,4257,4258,4261,4262,4265,4268,4269,4271,4272,4274,4276,4277,4278,4279,4281,4282,4284,4285,4286,4287,4288,4289,4290,4291,4292,4295,4296,4299,4300,4301,4303,4304,4307,4308,4309,4310,4311,4313,4314,4315,4318,4319,4320,4321,4322,4324,4326,4329,4330,4331,4332,4334,4335,4336,4338,4341,4342,4343,4345,4346,4349,4350,4351,4352,4353,4354,4356,4359,4362,4363,4365,4366,4369,4371,4377,4378,4380,4381,4382,4383,4384,4389,4392,4393,4394,4397,4400,4402,4403,4406,4410,4412,4414,4415,4416,4417,4418,4420,4423,4425,4426,4427,4429,4431,4432,4433,4434,4435,4436,4438,4439,4440,4441,4442,4443,4444,4446,4447,4449,4450,4452,4453,4455,4456,4457,4458,4459,4460,4462,4464,4465,4466,4467,4468,4469,4471,4472,4474,4476,4477,4478,4484,4485,4486,4487,4488,4491,4492,4494,4495,4496,4497,4498,4499,4500,4502,4503,4504,4506,4508,4510,4513,4514,4515,4516,4517,4518,4519,4521,4522,4523,4524,4526,4527,4528,4530,4531,4532,4533,4534,4535,4536,4537,4538,4539,4540,4541,4542,4546,4547,4548,4550,4552,4553,4554,4555,4556,4557,4558,4559,4560,4561,4562,4563,4564,4565,4567,4568,4569,4573,4574,4575,4576,4577,4578,4579,4580,4581,4583,4584,4590,4591,4592,4594,4595,4596,4597,4598,4599,4602,4603,4605,4606,4607,4608,4609,4611,4614,4615,4617,4621,4623,4625,4627,4628,4630,4631,4632,4633,4634,4636,4637,4638,4641,4644,4645,4647,4653,4656,4657,4658,4659,4660,4662,4666,4667,4668,4669,4670,4671,4673,4674,4676,4677,4678,4679,4680,4681,4683,4684,4685,4686,4688,4691,4692,4693,4695,4698,4700,4702,4704,4705,4706,4710,4711,4713,4715,4716,4717,4718,4719,4723,4725,4726,4727,4728,4730,4731,4732,4733,4734,4737,4738,4739,4740,4741,4742,4743,4744,4746,4749,4751,4752,4753,4754,4756,4757,4758,4760,4761,4765,4766,4767,4768,4769,4770,4771,4772,4773,4774,4775,4776,4777,4780,4781,4782,4783,4785,4786,4787,4788,4789,4790,4793,4794,4796,4797,4798,4800,4801,4802,4803,4804,4805,4806,4807,4808,4810,4811,4813,4814,4815,4817,4818,4819,4821,4822,4823,4824,4825,4826,4827,4828,4829,4831,4832,4833,4834,4835,4836,4837,4839,4840,4841,4842,4843,4846,4848,4849,4851,4852,4854,4856,4857,4858,4859,4860,4861,4866,4868,4870,4871,4872,4873,4875,4876,4881,4882,4883,4884,4885,4886,4887,4888,4889,4890,4892,4893,4895,4897,4899,4900,4901,4903,4904,4907,4908,4910,4911,4912,4913,4914,4916,4918,4919,4920,4921,4922,4923,4925,4927,4928,4929,4930,4932,4933,4934,4935,4937,4938,4939,4940,4941,4942,4944,4945,4946,4947,4948,4949,4950,4951,4952,4953,4954,4955,4956,4957,4959,4961,4963,4965,4966,4968,4969,4971,4972,4973,4974,4975,4978,4982,4983,4986,4989,4990,4991,4993,4995,4996,5000,5001,5004,5005,5007,5008,5009,5010,5011,5012,5013,5014,5015,5016,5017,5019,5020,5021,5022,5023,5024,5025,5026,5027,5031,5032,5033,5034,5035,5038,5039,5040,5041,5043,5044,5045,5046,5047,5050,5051,5052,5055,5057,5058,5059,5061,5064,5065,5067,5068,5070,5071,5073,5074,5076,5077,5079,5081,5083,5084,5088,5089,5093,5095,5097,5099,5100,5101,5103,5104,5105,5108,5111,5114,5116,5118,5120,5121,5122,5123,5125,5128,5131,5132,5133,5134,5138,5139,5140,5142,5143,5144,5145,5148,5149,5150,5151,5152,5155,5157,5158,5160,5161,5162,5163,5164,5165,5167,5168,5169,5170,5171,5172,5173,5175,5177,5179,5180,5181,5184,5186,5187,5188,5189,5191,5193,5194,5195,5196,5197,5198,5199,5201,5204,5206,5207,5209,5212,5213,5214,5216,5220,5223,5225,5226,5227,5228,5230,5231,5233,5235,5236,5238,5239,5241,5242,5243,5244,5246,5247,5248,5249,5250,5251,5253,5256,5257,5258,5259,5260,5261,5262,5263,5264,5266,5268,5269,5270,5271,5272,5273,5274,5276,5277,5279,5280,5282,5283,5286,5287,5288,5289,5292,5293,5294,5295,5297,5298,5300,5301,5302,5303,5305,5306,5307,5308,5311,5312,5313,5314,5315,5316,5317,5318,5320,5325,5327,5328,5329,5331,5332,5333,5334,5335,5336,5337,5338,5340,5341,5342,5345,5346,5347,5348,5349,5351,5352,5354,5355,5357,5358,5359,5360,5361,5363,5364,5365,5369,5371,5372,5373,5374,5375,5376,5378,5379,5380,5381,5382,5383,5384,5385,5386,5387,5388,5389,5390,5391,5392,5393,5395,5396,5397,5400,5401,5404,5405,5406,5407,5411,5413,5414,5415,5417,5418,5419,5420,5421,5422,5423,5424,5425,5426,5427,5428,5431,5432,5433,5434,5435,5436,5437,5438,5441,5442,5444,5445,5446,5447,5448,5449,5450,5453,5454,5455,5457,5458,5459,5461,5462,5463,5464,5465,5466,5467,5470,5471,5473,5474,5475,5477,5478,5479,5481,5483,5484,5485,5486,5489,5490,5491,5492,5493,5496,5497,5499,5500,5501,5502,5504,5506,5507,5509,5510,5511,5512,5513,5515,5516,5519,5520,5523,5524,5525,5526,5528,5529,5530,5531,5533,5534,5536,5538,5539,5542,5544,5545,5546,5548,5549,5550,5552,5554,5556,5557,5559,5561,5563,5564,5566,5567,5568,5570,5571,5573,5576,5578,5579,5581,5582,5583,5584,5586,5587,5588,5590,5591,5593,5594,5598,5600,5602,5604,5605,5608,5611,5612,5613,5616,5617,5618,5619,5620,5622,5624,5626,5628,5629,5631,5633,5634,5636,5637,5638,5639,5640,5643,5644,5645,5646,5647,5650,5651,5652,5653,5655,5656,5658,5659,5660,5661,5663,5664,5665,5666,5668,5671,5672,5673,5678,5680,5681,5684,5686,5689,5690,5692,5693,5695,5696,5697,5698,5699,5700,5702,5703,5704,5705,5706,5709,5710,5711,5712,5714,5715,5716,5717,5720,5721,5723,5724,5727,5728,5729,5730,5732,5734,5737,5738,5739,5740,5741,5742,5743,5745,5746,5747,5748,5750,5751,5752,5753,5754,5757,5758,5759,5760,5761,5762,5763,5764,5767,5768,5769,5771,5772,5774,5775,5776,5777,5778,5779,5780,5781,5782,5784,5785,5786,5787,5788,5789,5791,5792,5793,5794,5795,5796,5797,5798,5799,5801,5802,5803,5804,5805,5806,5807,5810,5811,5813,5815,5816,5817,5818,5819,5820,5822,5823,5824,5825,5828,5829,5831,5832,5834,5836,5837,5839,5840,5842,5843,5845,5846,5848,5849,5850,5851,5852,5853,5854,5855,5856,5857,5860,5863,5864,5865,5867,5868,5869,5870,5872,5874,5875,5878,5879,5880,5881,5882,5883,5884,5886,5889,5890,5892,5893,5894,5896,5897,5898,5900,5901,5908,5909,5911,5912,5913,5916,5917,5918,5919,5920,5921,5923,5926,5927,5928,5929,5931,5933,5934,5936,5938,5939,5940,5942,5943,5948,5951,5952,5953,5954,5955,5956,5957,5958,5960,5962,5963,5964,5965,5966,5969,5970,5971,5972,5974,5976,5978,5980,5981,5982,5984,5985,5986,5987,5988,5989,5990,5991,5992,5993,5994,5995,5996,5997,5998,6000,6001,6002,6003,6006,6007,6008,6009,6015,6017,6018,6019,6023,6025,6026,6028,6032,6035,6037,6038,6040,6041,6042,6043,6046,6048,6049,6050,6051,6053,6054,6055,6056,6057,6058,6059,6060,6061,6062,6063,6065,6067,6068,6070,6071,6072,6073,6074,6075,6076,6077,6078,6079,6080,6081,6083,6086,6087,6089,6090,6091,6093,6095,6096,6097,6098,6099,6101,6103,6105,6106,6109,6112,6114,6116,6117,6118,6120,6122,6123,6125,6126,6127,6128,6131,6138,6139,6140,6141,6142,6143,6145,6146,6147,6148,6150,6151,6153,6154,6155,6157,6159,6160,6161,6165,6167,6169,6172,6173,6174,6176,6178,6180,6181,6184,6185,6186,6187,6189,6191,6193,6194,6195,6196,6197,6198,6202,6203,6204,6205,6206,6208,6212,6213,6215,6217,6218,6219,6220,6221,6222,6226,6227,6228,6234,6235,6236,6237,6241,6242,6244,6246,6248,6250,6251,6252,6257,6258,6259,6261,6262,6263,6264,6266,6267,6268,6269,6270,6271,6272,6273,6274,6275,6276,6277,6278,6279,6282,6283,6285,6286,6288,6290,6293,6294,6296,6297,6299,6301,6303,6304,6305,6306,6307,6311,6313,6314,6317,6318,6319,6320,6321,6322,6323,6324,6325,6327,6328,6329,6330,6331,6332,6333,6334,6335,6336,6338,6340,6341,6342,6343,6344,6346,6348,6349,6350,6351,6353,6354,6355,6356,6357,6358,6359,6361,6362,6365,6366,6367,6370,6371,6374,6375,6376,6377,6378,6379,6380,6382,6383,6384,6385,6386,6387,6388,6390,6392,6393,6394,6396,6398,6399,6400,6401,6402,6406,6407,6410,6411,6412,6413,6414,6415,6416,6418,6424,6425,6426,6427,6428,6429,6430,6431,6434,6436,6437,6438,6441,6442,6443,6446,6448,6452,6454,6456,6457,6458,6459,6462,6466,6467,6470,6471,6474,6475,6476,6477,6479,6480,6483,6484,6485,6486,6488,6489,6490,6492,6494,6495,6497,6500,6502,6503,6504,6505,6507,6510,6512,6513,6514,6515,6516,6517,6519,6520,6521,6522,6523,6525,6526,6527,6528,6529,6530,6532,6533,6534,6536,6537,6538,6539,6541,6542,6543,6544,6545,6546,6547,6548,6549,6550,6551,6552,6553,6556,6558,6559,6560,6561,6564,6568,6569,6571,6572,6574,6575,6576,6577,6578,6579,6580,6581,6582,6583,6584,6586,6587,6588,6590,6592,6594,6595,6596,6597,6599,6600,6601,6602,6603,6604,6608,6609,6611,6613,6614,6615,6616,6617,6619,6620,6621,6622,6623,6626,6627,6629,6631,6633,6637,6638,6639,6640,6641,6642,6643,6644,6645,6646,6648,6650,6651,6655,6656,6657,6662,6665,6666,6667,6669,6670,6671,6672,6673,6674,6675,6676,6680,6681,6682,6683,6684,6685,6687,6688,6689,6690,6691,6692,6693,6695,6696,6697,6698,6701,6702,6704,6705,6706,6707,6708,6709,6713,6714,6715,6717,6719,6720,6721,6723,6724,6725,6726,6729,6730,6732,6734,6735,6736,6738,6743,6744,6745,6746,6748,6749,6751,6752,6753,6754,6755,6756,6757,6758,6759,6763,6766,6767,6768,6769,6772,6773,6774,6775,6777,6778,6779,6781,6783,6785,6787,6788,6790,6791,6792,6793,6796,6797,6798,6800,6801,6802,6807,6808,6809,6810,6811,6812,6815,6817,6818,6821,6822,6824,6825,6826,6827,6828,6829,6831,6832,6833,6837,6838,6839,6840,6841,6842,6844,6845,6846,6850,6851,6852,6853,6855,6856,6858,6859,6860,6861,6862,6863,6865,6866,6870,6872,6873,6879,6880,6884,6885,6886,6887,6888,6890,6891,6893,6894,6895,6896,6897,6898,6899,6900,6901,6903,6904,6905,6906,6907,6910,6911,6912,6914,6915,6917,6918,6920,6921,6924,6925,6926,6927,6928,6929,6931,6933,6936,6937,6939,6940,6942,6943,6944,6945,6947,6949,6950,6951,6952,6953,6955,6956,6958,6959,6961,6965,6966,6967,6970,6972,6973,6974,6975,6976,6977,6978,6979,6980,6981,6983,6984,6985,6986,6987,6988,6989,6990,6993,6995,6996,6997,6998,6999,7000,7002,7003,7004,7006,7007,7008,7009,7011,7012,7013,7014,7016,7017,7018,7019,7021,7022,7023,7024,7026,7028,7029,7030,7031,7032,7033,7034,7035,7036,7037,7039,7040,7042,7043,7044,7046,7047,7048,7051,7053,7054,7055,7056,7057,7058,7060,7061,7062,7063,7068,7070,7071,7072,7074,7075,7077,7078,7082,7083,7084,7085,7087,7089,7090,7091,7093,7094,7095,7096,7097,7098,7100,7101,7102,7103,7104,7106,7107,7110,7113,7114,7117,7118,7123,7124,7126,7128,7129,7131,7132,7133,7134,7137,7138,7139,7142,7143,7144,7145,7147,7150,7151,7152,7153,7154,7155,7157,7158,7159,7160,7161,7162,7165,7166,7167,7169,7171,7172,7173,7174,7175,7176,7177,7180,7181,7182,7184,7186,7187,7188,7190,7191,7192,7194,7196,7197,7198,7199,7200,7201,7203,7204,7205,7207,7208,7209,7210,7211,7212,7213,7214,7216,7217,7219,7221,7222,7223,7224,7227,7228,7229,7230,7233,7234,7235,7236,7237,7238,7239,7241,7242,7244,7246,7247,7249,7251,7252,7253,7256,7262,7263,7265,7266,7267,7269,7270,7271,7272,7275,7277,7278,7286,7287,7288,7289,7290,7291,7293,7295,7296,7298,7299,7301,7302,7305,7306,7307,7309,7310,7311,7313,7315,7316,7324,7325,7326,7327,7328,7330,7331,7333,7334,7335,7336,7337,7339,7340,7342,7344,7345,7347,7349,7350,7351,7352,7353,7354,7355,7356,7358,7360,7361,7362,7363,7367,7369,7370,7375,7376,7378,7380,7381,7382,7383,7384,7385,7386,7388,7390,7392,7393,7394,7395,7396,7398,7399,7400,7403,7404,7406,7408,7411,7412,7413,7414,7415,7416,7419,7420,7422,7423,7425,7426,7427,7428,7429,7431,7433,7434,7436,7437,7438,7439,7440,7441,7448,7451,7456,7457,7458,7460,7462,7463,7464,7465,7466,7467,7468,7470,7473,7474,7475,7476,7477,7479,7480,7481,7482,7483,7486,7487,7488,7489,7491,7492,7493,7494,7495,7496,7497,7499,7500,7501,7502,7503,7505,7506,7508,7509,7511,7513,7514,7515,7516,7517,7518,7520,7521,7522,7523,7524,7525,7527,7528,7530,7531,7532,7533,7535,7538,7540,7541,7542,7544,7546,7547,7548,7551,7552,7555,7556,7558,7559,7560,7562,7563,7564,7565,7566,7567,7570,7571,7572,7575,7576,7578,7579,7580,7582,7584,7585,7586,7587,7588,7591,7592,7593,7594,7595,7597,7598,7599,7601,7602,7605,7606,7607,7609,7610,7612,7614,7615,7617,7618,7619,7621,7622,7623,7624,7628,7629,7631,7632,7633,7634,7636,7638,7639,7641,7642,7643,7644,7645,7646,7648,7650,7651,7652,7654,7655,7656,7657,7658,7659,7660,7662,7663,7665,7667,7668,7670,7671,7672,7674,7677,7679,7682,7684,7685,7686,7687,7689,7691,7692,7693,7694,7695,7700,7701,7703,7704,7706,7710,7711,7712,7714,7716,7717,7718,7719,7722,7723,7724,7725,7727,7728,7729,7730,7732,7733,7736,7738,7740,7741,7744,7745,7746,7747,7748,7751,7753,7754,7755,7756,7757,7758,7759,7760,7761,7762,7763,7765,7769,7771,7773,7774,7775,7776,7777,7778,7780,7781,7783,7784,7785,7786,7787,7788,7792,7793,7794,7795,7796,7797,7798,7801,7802,7803,7804,7806,7807,7809,7812,7813,7814,7817,7818,7819,7820,7822,7823,7825,7826,7829,7830,7832,7833,7835,7836,7837,7839,7840,7842,7843,7844,7845,7846,7847,7849,7852,7854,7855,7856,7857,7858,7859,7860,7862,7864,7866,7867,7868,7869,7870,7872,7873,7875,7876,7878,7880,7881,7882,7885,7887,7888,7891,7892,7893,7894,7895,7897,7900,7901,7902,7903,7904,7906,7909,7910,7912,7913,7914,7918,7921,7922,7923,7924,7925,7926,7929,7930,7931,7933,7934,7935,7936,7937,7938,7940,7941,7942,7943,7944,7945,7946,7947,7948,7949,7950,7951,7952,7953,7954,7956,7958,7959,7960,7962,7963,7964,7965,7966,7969,7974,7976,7977,7978,7982,7984,7985,7987,7988,7990,7991,7993,7999,8001,8002,8004,8005,8006,8007,8008,8009,8010,8011,8012,8013,8014,8016,8017,8018,8020,8024,8025,8026,8027,8029,8030,8034,8035,8037,8038,8039,8040,8041,8042,8043,8044,8045,8046,8048,8049,8050,8051,8052,8053,8054,8055,8056,8057,8058,8059,8061,8065,8068,8071,8073,8076,8077,8079,8082,8084,8085,8088,8089,8090,8091,8092,8093,8094,8095,8098,8099,8101,8103,8104,8107,8108,8113,8114,8116,8117,8118,8119,8120,8121,8122,8123,8126,8129,8130,8131,8132,8133,8134,8135,8136,8138,8139,8140,8143,8146,8147,8149,8150,8151,8157,8158,8161,8163,8164,8166,8170,8171,8173,8174,8175,8176,8178,8179,8180,8181,8184,8185,8187,8188,8189,8194,8198,8199,8200,8201,8202,8203,8204,8206,8207,8208,8209,8210,8211,8213,8214,8216,8217,8218,8219,8220,8222,8223,8224,8226,8227,8230,8231,8232,8233,8234,8235,8237,8238,8241,8242,8243,8244,8245,8246,8247,8248,8249,8250,8251,8253,8254,8255,8256,8257,8258,8261,8263,8265,8266,8267,8268,8270,8271,8272,8274,8275,8276,8277,8280,8281,8282,8283,8284,8288,8289,8291,8292,8293,8294,8296,8297,8298,8299,8300,8302,8304,8307,8308,8309,8311,8312,8313,8314,8317,8321,8322,8323,8325,8326,8327,8330,8331,8332,8335,8338,8342,8343,8344,8346,8347,8348,8349,8350,8351,8352,8356,8358,8359,8360,8361,8362,8364,8365,8366,8367,8368,8369,8370,8371,8372,8373,8374,8375,8377,8378,8380,8381,8383,8385,8386,8388,8389,8390,8394,8395,8396,8398,8399,8400,8401,8402,8403,8404,8405,8406,8408,8409,8411,8415,8417,8418,8421,8423,8427,8428,8431,8432,8435,8436,8437,8439,8440,8442,8443,8444,8445,8447,8448,8449,8450,8451,8454,8455,8456,8457,8459,8462,8463,8464,8465,8467,8469,8470,8472,8475,8476,8478,8481,8482,8483,8485,8486,8487,8488,8489,8490,8491,8493,8494,8495,8499,8500,8502,8503,8505,8506,8507,8508,8510,8513,8514,8515,8516,8517,8518,8520,8522,8524,8526,8527,8528,8529,8532,8533,8536,8537,8539,8540,8541,8543,8544,8545,8546,8550,8553,8554,8555,8556,8557,8558,8559,8561,8563,8564,8565,8567,8568,8571,8573,8577,8578,8581,8583,8584,8585,8586,8589,8591,8592,8594,8595,8597,8598,8599,8601,8602,8608,8610,8611,8613,8614,8615,8616,8617,8618,8619,8620,8622,8624,8625,8627,8628,8630,8631,8633,8635,8636,8637,8638,8640,8641,8642,8643,8645,8649,8650,8653,8654,8655,8656,8659,8660,8662,8664,8665,8666,8667,8668,8670,8671,8672,8675,8676,8677,8678,8679,8681,8682,8683,8684,8685,8686,8688,8689,8690,8692,8693,8696,8697,8698,8699,8700,8701,8702,8703,8704,8705,8706,8707,8709,8710,8711,8713,8714,8715,8716,8717,8719,8720,8722,8724,8725,8726,8727,8730,8731,8735,8738,8739,8740,8742,8743,8745,8746,8748,8749,8750,8751,8752,8753,8754,8755,8757,8758,8761,8763,8768,8769,8770,8771,8772,8774,8775,8776,8777,8779,8780,8781,8783,8784,8785,8787,8789,8790,8794,8796,8798,8801,8802,8803,8804,8806,8808,8809,8811,8812,8813,8815,8817,8818,8819,8822,8823,8824,8826,8828,8829,8830,8834,8835,8836,8837,8838,8839,8842,8843,8844,8845,8847,8848,8849,8850,8851,8855,8856,8857,8858,8859,8862,8866,8867,8868,8869,8872,8873,8875,8876,8878,8879,8880,8883,8885,8886,8887,8888,8890,8892,8896,8898,8899,8900,8902,8903,8904,8905,8910,8911,8913,8917,8920,8921,8922,8924,8925,8926,8927,8928,8929,8930,8931,8932,8933,8935,8936,8937,8938,8939,8940,8941,8942,8944,8946,8947,8949,8950,8951,8956,8958,8959,8960,8964,8965,8969,8971,8972,8973,8974,8975,8976,8977,8979,8980,8981,8982,8985,8986,8989,8990,8991,8992,8993,8994,8995,8996,8997,8999,9000,9002,9003,9004,9005,9006,9007,9008,9010,9011,9012,9013,9014,9015,9017,9018,9020,9022,9025,9026,9027,9030,9031,9032,9033,9034,9035,9037,9038,9039,9041,9042,9044,9046,9048,9050,9052,9053,9054,9055,9056,9057,9058,9060,9063,9064,9065,9067,9068,9071,9073,9075,9076,9077,9078,9079,9080,9082,9084,9085,9087,9090,9091,9092,9094,9095,9096,9099,9100,9101,9103,9105,9107,9108,9109,9110,9112,9113,9114,9119,9121,9122,9123,9124,9125,9126,9127,9128,9130,9131,9132,9134,9136,9137,9138,9139,9140,9141,9142,9143,9145,9146,9147,9150,9151,9152,9153,9154,9157,9158,9161,9162,9163,9164,9165,9166,9167,9168,9171,9172,9173,9175,9176,9177,9178,9179,9180,9182,9183,9184,9186,9189,9192,9193,9194,9195,9196,9197,9198,9199,9200,9202,9203,9204,9210,9212,9213,9214,9218,9219,9221,9222,9223,9224,9225,9226,9227,9229,9230,9231,9232,9233,9235,9236,9237,9238,9242,9244,9245,9246,9247,9248,9249,9250,9251,9253,9254,9258,9260,9261,9265,9269,9271,9272,9273,9275,9277,9278,9279,9280,9281,9282,9283,9284,9285,9287,9289,9290,9291,9292,9293,9294,9295,9296,9297,9298,9299,9306,9307,9309,9313,9314,9315,9316,9317,9319,9320,9321,9323,9324,9326,9328,9329,9330,9331,9332,9333,9334,9336,9339,9340,9341,9343,9344,9345,9352,9353,9354,9355,9356,9357,9358,9360,9361,9363,9364,9365,9366,9367,9369,9370,9371,9372,9373,9375,9376,9377,9378,9379,9381,9382,9383,9385,9386,9387,9389,9390,9391,9393,9394,9396,9397,9398,9399,9400,9401,9402,9403,9404,9405,9406,9408,9409,9410,9411,9412,9413,9414,9415,9416,9420,9421,9422,9428,9429,9430,9431,9432,9433,9434,9435,9438,9440,9441,9442,9444,9445,9446,9449,9450,9451,9452,9453,9454,9455,9456,9458,9459,9460,9463,9465,9468,9471,9472,9475,9476,9477,9481,9482,9483,9484,9485,9487,9489,9491,9492,9493,9494,9498,9500,9502,9503,9504,9505,9506,9507,9509,9511,9512,9514,9515,9516,9517,9518,9519,9520,9521,9523,9524,9525,9526,9527,9528,9529,9530,9532,9533,9534,9535,9536,9537,9538,9539,9540,9542,9543,9544,9546,9548,9549,9550,9551,9552,9553,9557,9558,9559,9562,9563,9564,9565,9566,9567,9568,9571,9574,9575,9577,9578,9583,9584,9585,9587,9589,9590,9592,9593,9595,9596,9599,9601,9602,9604,9605,9606,9607,9608,9609,9612,9613,9616,9618,9619,9621,9622,9623,9624,9625,9626,9627,9629,9630,9631,9634,9635,9637,9638,9639,9641,9642,9643,9644,9646,9648,9650,9653,9657,9658,9659,9660,9661,9662,9663,9664,9665,9666,9669,9670,9672,9673,9675,9676,9677,9678,9679,9681,9682,9683,9684,9685,9688,9689,9690,9691,9692,9694,9695,9698,9699,9701,9703,9704,9706,9707,9708,9709,9710,9711,9712,9714,9715,9717,9719,9722,9723,9727,9729,9731,9734,9735,9736,9737,9738,9741,9742,9743,9747,9748,9749,9751,9753,9755,9758,9759,9760,9762,9763,9764,9768,9769,9770,9771,9772,9774,9775,9778,9779,9780,9782,9784,9785,9786,9787,9788,9789,9790,9791,9793,9794,9797,9800,9801,9802,9804,9805,9807,9808,9809,9810,9816,9817,9818,9820,9821,9822,9823,9824,9825,9826,9827,9828,9829,9830,9831,9833,9835,9836,9837,9838,9839,9842,9843,9845,9848,9849,9850,9851,9852,9853,9857,9858,9860,9861,9862,9864,9865,9867,9868,9869,9871,9872,9873,9874,9875,9876,9878,9880,9881,9883,9885,9886,9887,9889,9891,9893,9894,9895,9896,9897,9900,9901,9902,9903,9904,9905,9906,9907,9909,9913,9914,9915,9917,9919,9921,9923,9924,9925,9926,9928,9929,9930,9932,9933,9934,9936,9937,9938,9939,9944,9946,9947,9949,9951,9953,9957,9958,9959,9960,9961,9962,9963,9965,9966,9967,9969,9970,9971,9973,9974,9978,9979,9981,9984,9985,9986,9988,9989,9990,9991,9992,9994,9995,9998,9999,10002,10004,10007,10008,10009,10011,10012,10013,10015,10017,10018,10020,10021,10022,10025,10026,10028,10032,10034,10036,10037,10038,10039,10040,10041,10042,10045,10046,10047,10052,10054,10055,10056,10058,10059,10060,10063,10064,10065,10068,10069,10071,10072,10074,10075,10076,10077,10080,10081,10082,10083,10084,10085,10088,10089,10091,10092,10093,10094,10095,10096,10097,10099,10104,10105,10107,10108,10109,10111,10112,10115,10116,10118,10120,10121,10123,10124,10125,10126,10128,10129,10130,10131,10132,10136,10137,10139,10140,10142,10143,10144,10145,10147,10149,10150,10152,10154,10155,10157,10158,10159,10161,10163,10164,10165,10166,10168,10170,10171,10173,10174,10176,10177,10178,10179,10180,10182,10184,10185,10186,10187,10188,10190,10192,10193,10194,10196,10197,10198,10199,10200,10202,10203,10204,10207,10208,10209,10210,10211,10214,10215,10216,10217,10218,10219,10220,10222,10223,10224,10225,10226,10227,10228,10229,10230,10233,10234,10235,10238,10239,10240,10241,10243,10245,10246,10247,10248,10250,10251,10254,10257,10258,10260,10261,10262,10263,10264,10266,10268,10269,10270,10272,10273,10274,10275,10277,10280,10283,10284,10285,10286,10287,10288,10289,10290,10291,10293,10294,10295,10297,10298,10299,10300,10301,10304,10305,10307,10308,10309,10310,10313,10314,10315,10317,10318,10319,10323,10324,10325,10326,10330,10332,10333,10334,10335,10338,10340,10342,10345,10346,10348,10349,10350,10351,10352,10353,10356,10358,10360,10362,10363,10365,10366,10367,10370,10371,10374,10375,10376,10377,10380,10381,10383,10384,10385,10386,10388,10389,10390,10391,10392,10393,10394,10398,10399,10400,10402,10405,10406,10407,10409,10410,10411,10416,10417,10418,10421,10423,10424,10426,10427,10428,10429,10432,10433,10434,10436,10437,10439,10440,10441,10442,10443,10444,10447,10448,10449,10450,10451,10452,10454,10456,10457,10461,10464,10465,10466,10467,10468,10469,10470,10471,10472,10473,10474,10475,10477,10479,10480,10481,10482,10483,10484,10485,10487,10488,10490,10491,10493,10495,10496,10497,10498,10502,10503,10504,10506,10508,10509,10512,10513,10514,10515,10516,10517,10518,10519,10521,10522,10525,10528,10529,10530,10531,10533,10534,10536,10538,10540,10541,10542,10543,10544,10545,10546,10547,10548,10549,10550,10551,10552,10553,10555,10557,10558,10559,10560,10561,10562,10565,10566,10567,10568,10570,10571,10572,10573,10574,10575,10577,10578,10580,10581,10582,10583,10584,10585,10586,10587,10588,10590,10592,10593,10594,10595,10597,10600,10601,10602,10603,10604,10605,10607,10609,10613,10614,10615,10616,10617,10618,10619,10622,10623,10624,10627,10628,10629,10630,10632,10633,10634,10635,10636,10638,10639,10640,10642,10643,10644,10645,10647,10648,10649,10650,10651,10652,10655,10657,10658,10659,10660,10661,10664,10665,10667,10668,10670,10671,10672,10673,10674,10677,10678,10679,10681,10683,10684,10685,10688,10689,10691,10692,10693,10694,10695,10696,10697,10698,10700,10701,10702,10703,10706,10709,10711,10712,10714,10715,10718,10719,10721,10722,10723,10724,10726,10727,10729,10731,10732,10735,10736,10738,10740,10741,10743,10744,10745,10746,10747,10748,10749,10750,10751,10754,10755,10756,10757,10758,10759,10760,10761,10763,10764,10768,10769,10771,10772,10776,10778,10780,10781,10782,10783,10784,10785,10786,10787,10790,10793,10794,10795,10796,10797,10798,10801,10802,10803,10804,10805,10806,10807,10808,10811,10812,10814,10816,10818,10819,10820,10821,10823,10828,10829,10830,10832,10835,10836,10837,10839,10841,10842,10843,10844,10846,10847,10849,10850,10851,10852,10853,10854,10857,10858,10859,10860,10861,10864,10865,10866,10867,10868,10869,10870,10871,10872,10873,10874,10875,10876,10878,10879,10880,10881,10882,10883,10886,10888,10889,10890,10892,10893,10894,10895,10897,10898,10899,10900,10903,10904,10905,10908,10910,10911,10914,10916,10919,10920,10921,10922,10925,10927,10928,10932,10933,10934,10935,10936,10937,10939,10941,10942,10944,10945,10946,10948,10949,10950,10951,10952,10954,10955,10957,10958,10960,10961,10962,10966,10967,10968,10969,10970,10971,10972,10973,10976,10977,10979,10982,10984,10985,10986,10987,10988,10989,10990,10991,10992,10993,10994,10996,10997,10998,10999,11001,11002,11004,11005,11007,11008,11009,11012,11013,11015,11020,11021,11022,11024,11025,11028,11029,11030,11032,11033,11034,11035,11036,11037,11039,11040,11041,11042,11044,11046,11048,11050,11051,11052,11054,11055,11056,11057,11058,11059,11060,11061,11064,11065,11069,11070,11071,11073,11075,11076,11077,11079,11080,11082,11083,11084,11086,11087,11088,11089,11091,11092,11094,11096,11097,11098,11099,11101,11102,11104,11107,11108,11109,11110,11113,11115,11117,11118,11119,11122,11123,11125,11127,11128,11129,11130,11131,11132,11133,11134,11135,11137,11139,11140,11141,11142,11143,11145,11146,11147,11150,11152,11154,11155,11156,11157,11161,11163,11164,11165,11166,11167,11170,11171,11172,11173,11174,11175,11177,11180,11181,11186,11187,11188,11189,11195,11198,11199,11200,11201,11203,11204,11205,11208,11209,11214,11215,11216,11218,11219,11220,11221,11222,11224,11225,11226,11228,11229,11231,11232,11235,11237,11238,11239,11240,11242,11245,11246,11249,11252,11254,11255,11256,11257,11259,11260,11261,11263,11264,11265,11267,11268,11270,11271,11272,11273,11275,11276,11278,11279,11280,11282,11283,11285,11286,11287,11288,11289,11290,11292,11293,11294,11295,11297,11298,11299,11300,11301,11302,11304,11305,11306,11307,11309,11310,11312,11313,11314,11315,11316,11319,11320,11322,11323,11324,11325,11326,11327,11328,11329,11330,11331,11333,11334,11336,11338,11339,11340,11342,11343,11345,11346,11348,11349,11350,11357,11359,11360,11361,11362,11363,11365,11368,11372,11375,11376,11378,11379,11380,11385,11387,11388,11389,11390,11393,11394,11395,11396,11397,11398,11399,11400,11401,11402,11403,11404,11405,11406,11407,11408,11409,11413,11414,11415,11417,11418,11419,11420,11421,11422,11424,11425,11427,11428,11429,11432,11433,11434,11435,11437,11439,11441,11442,11444,11445,11446,11447,11448,11449,11451,11452,11454,11457,11458,11459,11460,11461,11462,11464,11465,11466,11468,11469,11470,11471,11474,11477,11478,11479,11481,11483,11484,11485,11487,11488,11492,11493,11494,11496,11499,11500,11501,11502,11504,11505,11506,11507,11508,11512,11515,11517,11518,11519,11520,11521,11522,11524,11525,11526,11528,11529,11531,11532,11533,11534,11535,11537,11538,11539,11540,11542,11543,11544,11545,11546,11547,11548,11552,11553,11555,11557,11558,11559,11560,11561,11562,11563,11564,11566,11569,11573,11574,11576,11578,11580,11581,11582,11583,11585,11586,11588,11590,11593,11594,11595,11596,11597,11598,11599,11600,11601,11603,11604,11606,11607,11609,11610,11613,11615,11616,11617,11619,11622,11623,11626,11627,11628,11629,11630,11631,11632,11633,11635,11636,11637,11639,11640,11641,11642,11644,11645,11646,11647,11648,11649,11651,11653,11654,11656,11657,11658,11659,11662,11663,11665,11672,11674,11675,11678,11679,11680,11681,11683,11685,11686,11688,11690,11691,11692,11693,11694,11695,11697,11698,11699,11700,11701,11702,11703,11704,11705,11706,11707,11708,11710,11711,11712,11715,11717,11719,11721,11722,11723,11724,11726,11727,11728,11729,11730,11731,11732,11734,11735,11736,11740,11742,11743,11745,11750,11751,11752,11753,11754,11757,11758,11759,11761,11762,11763,11768,11769,11771,11772,11773,11774,11776,11777,11778,11779,11780,11781,11782,11784,11785,11786,11787,11788,11789,11790,11793,11794,11795,11796,11797,11799,11800,11801,11804,11806,11807,11808,11810,11811,11812,11814,11815,11816,11817,11819,11820,11824,11825,11827,11828,11829,11830,11831,11832,11833,11834,11835,11836,11837,11838,11839,11840,11843,11844,11845,11848,11849,11851,11852,11853,11854,11857,11859,11860,11862,11864,11866,11868,11869,11872,11875,11876,11879,11881,11882,11885,11887,11889,11890,11891,11892,11893,11896,11897,11899,11900,11901,11902,11903,11906,11907,11909,11912,11913,11915,11919,11920,11922,11923,11924,11925,11926,11928,11930,11932,11934,11935,11936,11937,11938,11939,11943,11945,11946,11948,11950,11951,11952,11953,11954,11955,11958,11960,11961,11962,11963,11966,11967,11968,11969,11970,11971,11972,11973,11975,11977,11978,11980,11982,11983,11985,11987,11989,11990,11993,11994,11995,11996,11997,11999,12000,12001,12003,12005,12006,12009,12012,12013,12014,12017,12018,12019,12020,12021,12023,12024,12025,12026,12028,12029,12031,12032,12034,12035,12036,12037,12039,12040,12041,12043,12044,12045,12046,12047,12048,12050,12051,12052,12054,12055,12056,12057,12058,12059,12061,12062,12063,12064,12067,12068,12069,12070,12071,12072,12074,12076,12077,12079,12080,12082,12083,12084,12086,12087,12088,12090,12091,12092,12094,12095,12096,12099,12100,12101,12102,12104,12105,12106,12107,12110,12111,12112,12113,12114,12115,12118,12120,12121,12125,12126,12127,12128,12129,12132,12135,12136,12139,12140,12142,12143,12144,12147,12148,12149,12150,12151,12154,12155,12156,12157,12158,12160,12161,12163,12165,12166,12167,12169,12172,12174,12176,12177,12178,12182,12184,12185,12186,12188,12191,12192,12193,12196,12197,12200,12201,12202,12203,12204,12205,12206,12207,12208,12210,12211,12212,12213,12215,12216,12219,12222,12224,12226,12227,12228,12230,12232,12234,12235,12237,12238,12241,12243,12244,12245,12246,12248,12249,12252,12253,12254,12256,12257,12258,12260,12262,12264,12266,12269,12270,12271,12273,12278,12280,12281,12282,12284,12285,12286,12287,12288,12290,12292,12293,12294,12295,12296,12297,12298,12299,12300,12302,12305,12307,12308,12309,12310,12311,12312,12314,12315,12316,12317,12318,12319,12320,12321,12322,12324,12325,12328,12329,12330,12333,12334,12335,12336,12337,12338,12339,12342,12343,12344,12347,12348,12349,12350,12352,12353,12354,12356,12361,12362,12366,12367,12368,12370,12371,12372,12374,12375,12376,12378,12380,12383,12386,12387,12390,12392,12394,12397,12401,12402,12404,12407,12408,12409,12410,12413,12416,12419,12422,12423,12425,12427,12428,12429,12432,12434,12435,12437,12439,12440,12442,12443,12444,12445,12446,12447,12448,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12464,12465,12468,12469,12470,12473,12474,12475,12477,12478,12479,12480,12483,12484,12485,12487,12488,12497,12498,12499,12504,12505,12508,12509,12510,12511,12512,12514,12515,12516,12518,12519,12521,12522,12523,12524,12525,12527,12528,12529,12530,12531,12532,12533,12535,12536,12538,12539,12540,12542,12544,12545,12546,12547,12548,12549,12551,12552,12555,12556,12557,12558,12559,12560,12561,12562,12564,12567,12569,12571,12572,12576,12579,12580,12582,12583,12586,12587,12588,12589,12590,12591,12592,12596,12598,12599,12600,12601,12603,12604,12605,12606,12609,12610,12611,12612,12613,12614,12615,12617,12618,12619,12620,12621,12622,12623,12625,12626,12628,12631,12632,12634,12637,12638,12640,12641,12643,12644,12645,12646,12647,12649,12650,12651,12652,12653,12654,12656,12657,12659,12661,12662,12663,12665,12668,12669,12670,12671,12673,12674,12675,12676,12677,12678,12679,12681,12682,12683,12686,12688,12691,12692,12695,12696,12697,12698,12699,12700,12701,12702,12704,12705,12706,12707,12708,12710,12713,12714,12715,12716,12717,12718,12721,12722,12723,12724,12725,12726,12727,12731,12732,12736,12738,12739,12740,12743,12744,12746,12748,12749,12750,12751,12752,12753,12754,12756,12757,12758,12759,12760,12762,12763,12765,12766,12767,12769,12770,12771,12773,12775,12777,12779,12781,12783,12786,12787,12788,12789,12791,12792,12793,12796,12797,12799,12800,12801,12802,12803,12804,12807,12809,12810,12812,12813,12814,12815,12817,12818,12819,12820,12825,12826,12827,12830,12832,12834,12835,12836,12840,12841,12844,12848,12849,12850,12851,12852,12853,12854,12855,12858,12859,12860,12863,12864,12865,12866,12867,12872,12873,12874,12875,12876,12879,12880,12884,12885,12886,12887,12889,12890,12893,12894,12895,12896,12897,12898,12899,12901,12903,12904,12905,12907,12909,12910,12911,12912,12913,12914,12915,12920,12921,12922,12926,12927,12928,12929,12931,12932,12934,12937,12938,12939,12941,12942,12943,12944,12945,12947,12948,12952,12953,12955,12956,12957,12958,12959,12962,12964,12966,12967,12968,12971,12972,12973,12974,12975,12977,12978,12979,12981,12982,12983,12985,12986,12990,12991,12992,12993,12994,12995,12996,12997,12998,12999,13001,13002,13004,13005,13010,13014,13015,13016,13017,13020,13021,13022,13023,13027,13028,13029,13030,13033,13035,13036,13037,13038,13039,13040,13041,13042,13043,13045,13047,13050,13051,13053,13054,13056,13057,13059,13060,13061,13063,13064,13068,13069,13071,13072,13073,13074,13076,13077,13078,13079,13080,13081,13082,13084,13085,13086,13087,13089,13090,13091,13094,13095,13096,13097,13099,13100,13102,13103,13104,13105,13106,13107,13108,13110,13111,13112,13113,13114,13115,13116,13117,13118,13119,13120,13122,13123,13124,13127,13128,13131,13132,13133,13134,13135,13137,13138,13140,13142,13144,13146,13149,13150,13151,13152,13153,13156,13157,13158,13159,13160,13161,13162,13163,13164,13167,13168,13173,13175,13176,13177,13179,13180,13181,13183,13184,13185,13187,13188,13190,13191,13192,13193,13194,13195,13196,13198,13199,13200,13201,13202,13203,13204,13205,13206,13207,13208,13209,13210,13212,13214,13216,13217,13219,13221,13222,13223,13224,13225,13229,13232,13233,13234,13235,13237,13238,13240,13241,13243,13246,13247,13248,13252,13254,13255,13256,13257,13258,13259,13261,13262,13264,13265,13267,13268,13269,13270,13271,13272,13273,13275,13276,13277,13278,13279,13280,13281,13282,13283,13284,13289,13290,13291,13292,13293,13294,13295,13296,13297,13299,13300,13302,13303,13304,13305,13306,13309,13313,13315,13318,13319,13320,13321,13323,13324,13328,13329,13332,13333,13334,13335,13336,13340,13343,13344,13345,13346,13349,13351,13353,13356,13357,13362,13363,13364,13365,13370,13371,13373,13374,13376,13377,13378,13380,13382,13383,13384,13385,13386,13388,13389,13390,13391,13393,13394,13397,13398,13401,13402,13403,13404,13405,13406,13407,13408,13411,13414,13415,13416,13417,13418,13420,13421,13425,13427,13429,13430,13432,13434,13435,13436,13437,13438,13439,13440,13442,13443,13444,13448,13449,13450,13451,13452,13453,13456,13458,13459,13463,13465,13466,13467,13468,13469,13470,13472,13474,13476,13478,13480,13481,13484,13485,13486,13487,13488,13489,13490,13491,13493,13494,13495,13496,13498,13499,13500,13502,13503,13504,13505,13506,13508,13509,13510,13511,13512,13513,13514,13517,13518,13520,13524,13526,13529,13531,13532,13533,13535,13537,13539,13540,13541,13542,13545,13546,13548,13549,13550,13552,13553,13554,13555,13556,13558,13560,13563,13565,13568,13569,13570,13571,13573,13574,13575,13576,13577,13580,13581,13583,13584,13585,13586,13587,13588,13589,13591,13592,13595,13598,13599,13600,13602,13603,13604,13605,13607,13608,13609,13610,13613,13614,13616,13617,13618,13620,13621,13622,13623,13624,13625,13626,13630,13631,13632,13633,13635,13636,13637,13638,13639,13640,13644,13645,13646,13648,13649,13650,13651,13652,13653,13654,13655,13656,13658,13660,13661,13662,13664,13665,13666,13668,13669,13670,13671,13672,13673,13674,13675,13676,13677,13678,13679,13681,13683,13687,13690,13693,13694,13696,13697,13698,13700,13701,13703,13706,13710,13711,13712,13714,13715,13716,13717,13719,13720,13723,13725,13727,13728,13729,13730,13731,13732,13733,13734,13736,13737,13738,13739,13740,13741,13742,13743,13746,13748,13749,13750,13751,13752,13753,13754,13755,13757,13759,13760,13761,13762,13763,13764,13768,13769,13771,13772,13775,13777,13779,13780,13781,13784,13785,13786,13787,13788,13789,13790,13791,13792,13794,13795,13796,13799,13800,13801,13802,13803,13804,13807,13808,13809,13810,13813,13814,13815,13816,13818,13820,13822,13823,13825,13827,13828,13829,13830,13831,13832,13833,13835,13839,13840,13841,13842,13843,13844,13845,13846,13847,13849,13854,13855,13857,13858,13860,13861,13862,13863,13865,13866,13867,13868,13870,13871,13872,13874,13875,13878,13879,13881,13883,13884,13885,13887,13888,13890,13891,13895,13896,13898,13899,13900,13901,13903,13907,13908,13909,13910,13911,13912,13913,13914,13915,13918,13919,13920,13923,13924,13925,13927,13928,13929,13930,13931,13932,13935,13937,13938,13940,13942,13943,13945,13946,13947,13949,13953,13954,13955,13957,13958,13959,13961,13962,13964,13965,13968,13969,13978,13980,13981,13982,13983,13984,13987,13988,13989,13991,13992,13993,13995,13999,14000,14002,14004,14005,14006,14009,14010,14011,14012,14014,14016,14017,14018,14019,14020,14021,14024,14025,14026,14027,14030,14031,14032,14034,14035,14036,14037,14038,14039,14040,14041,14042,14044,14046,14048,14050,14052,14053,14054,14055,14056,14057,14059,14061,14063,14064,14065,14066,14067,14068,14069,14070,14071,14072,14073,14074,14078,14079,14082,14084,14086,14087,14088,14089,14090,14092,14093,14094,14095,14099,14102,14104,14105,14108,14110,14112,14113,14114,14115,14118,14119,14120,14122,14123,14129,14130,14131,14132,14133,14134,14135,14136,14138,14139,14141,14142,14143,14144,14146,14148,14149,14150,14151,14152,14155,14156,14157,14158,14159,14160,14162,14164,14166,14167,14168,14169,14171,14172,14173,14174,14175,14176,14177,14178,14180,14181,14183,14184,14186,14188,14189,14190,14191,14194,14195,14196,14197,14199,14202,14203,14205,14207,14208,14210,14211,14212,14213,14216,14217,14218,14220,14222,14223,14225,14227,14228,14230,14231,14232,14233,14236,14239,14240,14241,14242,14243,14244,14245,14246,14247,14248,14250,14251,14252,14253,14254,14256,14258,14259,14264,14265,14266,14267,14269,14270,14271,14273,14274,14275,14276,14277,14278,14280,14281,14282,14283,14285,14290,14292,14293,14295,14296,14297,14300,14301,14302,14303,14304,14305,14306,14307,14311,14313,14314,14315,14318,14319,14321,14322,14323,14324,14325,14326,14327,14328,14330,14331,14332,14333,14334,14336,14337,14340,14341,14344,14345,14349,14350,14351,14352,14353,14354,14356,14357,14359,14361,14363,14367,14369,14370,14371,14373,14374,14375,14376,14377,14378,14379,14382,14384,14386,14387,14388,14392,14394,14395,14396,14397,14401,14402,14403,14407,14410,14411,14413,14414,14416,14417,14419,14420,14421,14423,14424,14425,14426,14427,14428,14429,14431,14432,14433,14434,14435,14439,14440,14442,14443,14445,14447,14449,14450,14451,14452,14453,14456,14457,14458,14459,14460,14461,14462,14463,14464,14466,14468,14469,14470,14473,14474,14475,14476,14477,14478,14480,14481,14482,14483,14484,14485,14486,14487,14488,14489,14490,14491,14492,14494,14495,14496,14497,14499,14500,14502,14504,14505,14506,14507,14508,14509,14511,14512,14513,14514,14517,14518,14519,14522,14523,14524,14525,14526,14528,14529,14530,14531,14533,14535,14536,14537,14538,14539,14540,14541,14543,14544,14545,14546,14547,14548,14550,14551,14554,14555,14556,14557,14559,14560,14561,14563,14564,14566,14567,14568,14572,14574,14577,14578,14579,14580,14581,14583,14584,14585,14586,14587,14588,14589,14591,14593,14594,14599,14600,14602,14603,14604,14606,14607,14608,14609,14610,14612,14613,14614,14617,14620,14621,14622,14623,14624,14625,14626,14627,14629,14633,14635,14636,14639,14640,14642,14643,14644,14646,14647,14648,14649,14650,14651,14652,14656,14658,14661,14662,14665,14666,14668,14669,14671,14672,14673,14674,14675,14676,14678,14679,14680,14681,14683,14684,14686,14688,14689,14690,14693,14696,14697,14698,14700,14701,14702,14703,14704,14706,14707,14710,14711,14714,14717,14718,14719,14722,14723,14725,14726,14727,14730,14734,14735,14738,14743,14744,14745,14746,14747,14750,14752,14754,14757,14759,14760,14762,14763,14764,14765,14767,14768,14769,14770,14772,14773,14774,14775,14776,14777,14778,14781,14782,14783,14784,14785,14786,14787,14788,14789,14790,14791,14792,14793,14794,14798,14799,14801,14802,14803,14806,14807,14808,14809,14810,14812,14815,14816,14817,14820,14822,14824,14826,14827,14830,14832,14834,14835,14837,14838,14839,14840,14841,14844,14846,14847,14850,14852,14853,14855,14856,14861,14862,14866,14867,14868,14872,14873,14874,14875,14877,14878,14879,14880,14882,14883,14884,14885,14886,14887,14888,14889,14891,14893,14894,14897,14899,14901,14906,14909,14910,14911,14912,14913,14914,14915,14916,14918,14919,14922,14923,14924,14925,14928,14930,14931,14932,14933,14934,14935,14936,14937,14938,14940,14941,14942,14943,14947,14949,14950,14951,14952,14954,14955,14956,14959,14961,14962,14964,14965,14966,14967,14968,14973,14974,14975,14976,14977,14979,14981,14982,14985,14987,14988,14989,14990,14991,14993,14994,14998]
"""