forked from tom2238/apt-encoder
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathimgtable_apt.h
8 lines (8 loc) · 19.1 KB
/
imgtable_apt.h
1
2
3
4
5
6
7
8
#ifndef NA_IMAGE_RGB_TABLE_H_
#define NA_IMAGE_RGB_TABLE_H_
#define IMG_LUT_RGB_WIDTH 1
#define IMG_LUT_RGB_HEIGHT 4096
static const uint16_t LUTFromRgb[4096] = {
0,448,512,960,1024,1472,1536,1984,2048,2496,2560,3008,3072,3520,3584,4032,4,452,516,964,1028,1476,1540,1988,2052,2500,2564,3012,3076,3524,3588,4036,8,456,520,968,1032,1480,1544,1992,2056,2504,2568,3016,3080,3528,3592,4040,12,460,524,972,1036,1484,1548,1996,2060,2508,2572,3020,3084,3532,3596,4044,16,464,528,976,1040,1488,1552,2000,2064,2512,2576,3024,3088,3536,3600,4048,20,468,532,980,1044,1492,1556,2004,2068,2516,2580,3028,3092,3540,3604,4052,24,472,536,984,1048,1496,1560,2008,2072,2520,2584,3032,3096,3544,3608,4056,28,476,540,988,1052,1500,1564,2012,2076,2524,2588,3036,3100,3548,3612,4060,32,480,544,992,1056,1504,1568,2016,2080,2528,2592,3040,3104,3552,3616,4064,36,484,548,996,1060,1508,1572,2020,2084,2532,2596,3044,3108,3556,3620,4068,40,488,552,1000,1064,1512,1576,2024,2088,2536,2600,3048,3112,3560,3624,4072,44,492,556,1004,1068,1516,1580,2028,2092,2540,2604,3052,3116,3564,3628,4076,48,496,560,1008,1072,1520,1584,2032,2096,2544,2608,3056,3120,3568,3632,4080,52,500,564,1012,1076,1524,1588,2036,2100,2548,2612,3060,3124,3572,3636,4084,56,504,568,1016,1080,1528,1592,2040,2104,2552,2616,3064,3128,3576,3640,4088,60,508,572,1020,1084,1532,1596,2044,2108,2556,2620,3068,3132,3580,3644,4092,1,449,513,961,1025,1473,1537,1985,2049,2497,2561,3009,3073,3521,3585,4033,5,453,517,965,1029,1477,1541,1989,2053,2501,2565,3013,3077,3525,3589,4037,9,457,521,969,1033,1481,1545,1993,2057,2505,2569,3017,3081,3529,3593,4041,13,461,525,973,1037,1485,1549,1997,2061,2509,2573,3021,3085,3533,3597,4045,17,465,529,977,1041,1489,1553,2001,2065,2513,2577,3025,3089,3537,3601,4049,21,469,533,981,1045,1493,1557,2005,2069,2517,2581,3029,3093,3541,3605,4053,25,473,537,985,1049,1497,1561,2009,2073,2521,2585,3033,3097,3545,3609,4057,29,477,541,989,1053,1501,1565,2013,2077,2525,2589,3037,3101,3549,3613,4061,33,481,545,993,1057,1505,1569,2017,2081,2529,2593,3041,3105,3553,3617,4065,37,485,549,997,1061,1509,1573,2021,2085,2533,2597,3045,3109,3557,3621,4069,41,489,553,1001,1065,1513,1577,2025,2089,2537,2601,3049,3113,3561,3625,4073,45,493,557,1005,1069,1517,1581,2029,2093,2541,2605,3053,3117,3565,3629,4077,49,497,561,1009,1073,1521,1585,2033,2097,2545,2609,3057,3121,3569,3633,4081,53,501,565,1013,1077,1525,1589,2037,2101,2549,2613,3061,3125,3573,3637,4085,57,505,569,1017,1081,1529,1593,2041,2105,2553,2617,3065,3129,3577,3641,4089,61,509,573,1021,1085,1533,1597,2045,2109,2557,2621,3069,3133,3581,3645,4093,2,450,514,962,1026,1474,1538,1986,2050,2498,2562,3010,3074,3522,3586,4034,6,454,518,966,1030,1478,1542,1990,2054,2502,2566,3014,3078,3526,3590,4038,10,458,522,970,1034,1482,1546,1994,2058,2506,2570,3018,3082,3530,3594,4042,14,462,526,974,1038,1486,1550,1998,2062,2510,2574,3022,3086,3534,3598,4046,18,466,530,978,1042,1490,1554,2002,2066,2514,2578,3026,3090,3538,3602,4050,22,470,534,982,1046,1494,1558,2006,2070,2518,2582,3030,3094,3542,3606,4054,26,474,538,986,1050,1498,1562,2010,2074,2522,2586,3034,3098,3546,3610,4058,30,478,542,990,1054,1502,1566,2014,2078,2526,2590,3038,3102,3550,3614,4062,34,482,546,994,1058,1506,1570,2018,2082,2530,2594,3042,3106,3554,3618,4066,38,486,550,998,1062,1510,1574,2022,2086,2534,2598,3046,3110,3558,3622,4070,42,490,554,1002,1066,1514,1578,2026,2090,2538,2602,3050,3114,3562,3626,4074,46,494,558,1006,1070,1518,1582,2030,2094,2542,2606,3054,3118,3566,3630,4078,50,498,562,1010,1074,1522,1586,2034,2098,2546,2610,3058,3122,3570,3634,4082,54,502,566,1014,1078,1526,1590,2038,2102,2550,2614,3062,3126,3574,3638,4086,58,506,570,1018,1082,1530,1594,2042,2106,2554,2618,3066,3130,3578,3642,4090,62,510,574,1022,1086,1534,1598,2046,2110,2558,2622,3070,3134,3582,3646,4094,3,451,515,963,1027,1475,1539,1987,2051,2499,2563,3011,3075,3523,3587,4035,7,455,519,967,1031,1479,1543,1991,2055,2503,2567,3015,3079,3527,3591,4039,11,459,523,971,1035,1483,1547,1995,2059,2507,2571,3019,3083,3531,3595,4043,15,463,527,975,1039,1487,1551,1999,2063,2511,2575,3023,3087,3535,3599,4047,19,467,531,979,1043,1491,1555,2003,2067,2515,2579,3027,3091,3539,3603,4051,23,471,535,983,1047,1495,1559,2007,2071,2519,2583,3031,3095,3543,3607,4055,27,475,539,987,1051,1499,1563,2011,2075,2523,2587,3035,3099,3547,3611,4059,31,479,543,991,1055,1503,1567,2015,2079,2527,2591,3039,3103,3551,3615,4063,35,483,547,995,1059,1507,1571,2019,2083,2531,2595,3043,3107,3555,3619,4067,39,487,551,999,1063,1511,1575,2023,2087,2535,2599,3047,3111,3559,3623,4071,43,491,555,1003,1067,1515,1579,2027,2091,2539,2603,3051,3115,3563,3627,4075,47,495,559,1007,1071,1519,1583,2031,2095,2543,2607,3055,3119,3567,3631,4079,51,499,563,1011,1075,1523,1587,2035,2099,2547,2611,3059,3123,3571,3635,4083,55,503,567,1015,1079,1527,1591,2039,2103,2551,2615,3063,3127,3575,3639,4087,59,507,571,1019,1083,1531,1595,2043,2107,2555,2619,3067,3131,3579,3643,4091,63,511,575,1023,1087,1535,1599,2047,2111,2559,2623,3071,3135,3583,3647,4095,64,384,576,896,1088,1408,1600,1920,2112,2432,2624,2944,3136,3456,3648,3968,68,388,580,900,1092,1412,1604,1924,2116,2436,2628,2948,3140,3460,3652,3972,72,392,584,904,1096,1416,1608,1928,2120,2440,2632,2952,3144,3464,3656,3976,76,396,588,908,1100,1420,1612,1932,2124,2444,2636,2956,3148,3468,3660,3980,80,400,592,912,1104,1424,1616,1936,2128,2448,2640,2960,3152,3472,3664,3984,84,404,596,916,1108,1428,1620,1940,2132,2452,2644,2964,3156,3476,3668,3988,88,408,600,920,1112,1432,1624,1944,2136,2456,2648,2968,3160,3480,3672,3992,92,412,604,924,1116,1436,1628,1948,2140,2460,2652,2972,3164,3484,3676,3996,96,416,608,928,1120,1440,1632,1952,2144,2464,2656,2976,3168,3488,3680,4000,100,420,612,932,1124,1444,1636,1956,2148,2468,2660,2980,3172,3492,3684,4004,104,424,616,936,1128,1448,1640,1960,2152,2472,2664,2984,3176,3496,3688,4008,108,428,620,940,1132,1452,1644,1964,2156,2476,2668,2988,3180,3500,3692,4012,112,432,624,944,1136,1456,1648,1968,2160,2480,2672,2992,3184,3504,3696,4016,116,436,628,948,1140,1460,1652,1972,2164,2484,2676,2996,3188,3508,3700,4020,120,440,632,952,1144,1464,1656,1976,2168,2488,2680,3000,3192,3512,3704,4024,124,444,636,956,1148,1468,1660,1980,2172,2492,2684,3004,3196,3516,3708,4028,65,385,577,897,1089,1409,1601,1921,2113,2433,2625,2945,3137,3457,3649,3969,69,389,581,901,1093,1413,1605,1925,2117,2437,2629,2949,3141,3461,3653,3973,73,393,585,905,1097,1417,1609,1929,2121,2441,2633,2953,3145,3465,3657,3977,77,397,589,909,1101,1421,1613,1933,2125,2445,2637,2957,3149,3469,3661,3981,81,401,593,913,1105,1425,1617,1937,2129,2449,2641,2961,3153,3473,3665,3985,85,405,597,917,1109,1429,1621,1941,2133,2453,2645,2965,3157,3477,3669,3989,89,409,601,921,1113,1433,1625,1945,2137,2457,2649,2969,3161,3481,3673,3993,93,413,605,925,1117,1437,1629,1949,2141,2461,2653,2973,3165,3485,3677,3997,97,417,609,929,1121,1441,1633,1953,2145,2465,2657,2977,3169,3489,3681,4001,101,421,613,933,1125,1445,1637,1957,2149,2469,2661,2981,3173,3493,3685,4005,105,425,617,937,1129,1449,1641,1961,2153,2473,2665,2985,3177,3497,3689,4009,109,429,621,941,1133,1453,1645,1965,2157,2477,2669,2989,3181,3501,3693,4013,113,433,625,945,1137,1457,1649,1969,2161,2481,2673,2993,3185,3505,3697,4017,117,437,629,949,1141,1461,1653,1973,2165,2485,2677,2997,3189,3509,3701,4021,121,441,633,953,1145,1465,1657,1977,2169,2489,2681,3001,3193,3513,3705,4025,125,445,637,957,1149,1469,1661,1981,2173,2493,2685,3005,3197,3517,3709,4029,66,386,578,898,1090,1410,1602,1922,2114,2434,2626,2946,3138,3458,3650,3970,70,390,582,902,1094,1414,1606,1926,2118,2438,2630,2950,3142,3462,3654,3974,74,394,586,906,1098,1418,1610,1930,2122,2442,2634,2954,3146,3466,3658,3978,78,398,590,910,1102,1422,1614,1934,2126,2446,2638,2958,3150,3470,3662,3982,82,402,594,914,1106,1426,1618,1938,2130,2450,2642,2962,3154,3474,3666,3986,86,406,598,918,1110,1430,1622,1942,2134,2454,2646,2966,3158,3478,3670,3990,90,410,602,922,1114,1434,1626,1946,2138,2458,2650,2970,3162,3482,3674,3994,94,414,606,926,1118,1438,1630,1950,2142,2462,2654,2974,3166,3486,3678,3998,98,418,610,930,1122,1442,1634,1954,2146,2466,2658,2978,3170,3490,3682,4002,102,422,614,934,1126,1446,1638,1958,2150,2470,2662,2982,3174,3494,3686,4006,106,426,618,938,1130,1450,1642,1962,2154,2474,2666,2986,3178,3498,3690,4010,110,430,622,942,1134,1454,1646,1966,2158,2478,2670,2990,3182,3502,3694,4014,114,434,626,946,1138,1458,1650,1970,2162,2482,2674,2994,3186,3506,3698,4018,118,438,630,950,1142,1462,1654,1974,2166,2486,2678,2998,3190,3510,3702,4022,122,442,634,954,1146,1466,1658,1978,2170,2490,2682,3002,3194,3514,3706,4026,126,446,638,958,1150,1470,1662,1982,2174,2494,2686,3006,3198,3518,3710,4030,67,387,579,899,1091,1411,1603,1923,2115,2435,2627,2947,3139,3459,3651,3971,71,391,583,903,1095,1415,1607,1927,2119,2439,2631,2951,3143,3463,3655,3975,75,395,587,907,1099,1419,1611,1931,2123,2443,2635,2955,3147,3467,3659,3979,79,399,591,911,1103,1423,1615,1935,2127,2447,2639,2959,3151,3471,3663,3983,83,403,595,915,1107,1427,1619,1939,2131,2451,2643,2963,3155,3475,3667,3987,87,407,599,919,1111,1431,1623,1943,2135,2455,2647,2967,3159,3479,3671,3991,91,411,603,923,1115,1435,1627,1947,2139,2459,2651,2971,3163,3483,3675,3995,95,415,607,927,1119,1439,1631,1951,2143,2463,2655,2975,3167,3487,3679,3999,99,419,611,931,1123,1443,1635,1955,2147,2467,2659,2979,3171,3491,3683,4003,103,423,615,935,1127,1447,1639,1959,2151,2471,2663,2983,3175,3495,3687,4007,107,427,619,939,1131,1451,1643,1963,2155,2475,2667,2987,3179,3499,3691,4011,111,431,623,943,1135,1455,1647,1967,2159,2479,2671,2991,3183,3503,3695,4015,115,435,627,947,1139,1459,1651,1971,2163,2483,2675,2995,3187,3507,3699,4019,119,439,631,951,1143,1463,1655,1975,2167,2487,2679,2999,3191,3511,3703,4023,123,443,635,955,1147,1467,1659,1979,2171,2491,2683,3003,3195,3515,3707,4027,127,447,639,959,1151,1471,1663,1983,2175,2495,2687,3007,3199,3519,3711,4031,128,320,640,832,1152,1344,1664,1856,2176,2368,2688,2880,3200,3392,3712,3904,132,324,644,836,1156,1348,1668,1860,2180,2372,2692,2884,3204,3396,3716,3908,136,328,648,840,1160,1352,1672,1864,2184,2376,2696,2888,3208,3400,3720,3912,140,332,652,844,1164,1356,1676,1868,2188,2380,2700,2892,3212,3404,3724,3916,144,336,656,848,1168,1360,1680,1872,2192,2384,2704,2896,3216,3408,3728,3920,148,340,660,852,1172,1364,1684,1876,2196,2388,2708,2900,3220,3412,3732,3924,152,344,664,856,1176,1368,1688,1880,2200,2392,2712,2904,3224,3416,3736,3928,156,348,668,860,1180,1372,1692,1884,2204,2396,2716,2908,3228,3420,3740,3932,160,352,672,864,1184,1376,1696,1888,2208,2400,2720,2912,3232,3424,3744,3936,164,356,676,868,1188,1380,1700,1892,2212,2404,2724,2916,3236,3428,3748,3940,168,360,680,872,1192,1384,1704,1896,2216,2408,2728,2920,3240,3432,3752,3944,172,364,684,876,1196,1388,1708,1900,2220,2412,2732,2924,3244,3436,3756,3948,176,368,688,880,1200,1392,1712,1904,2224,2416,2736,2928,3248,3440,3760,3952,180,372,692,884,1204,1396,1716,1908,2228,2420,2740,2932,3252,3444,3764,3956,184,376,696,888,1208,1400,1720,1912,2232,2424,2744,2936,3256,3448,3768,3960,188,380,700,892,1212,1404,1724,1916,2236,2428,2748,2940,3260,3452,3772,3964,129,321,641,833,1153,1345,1665,1857,2177,2369,2689,2881,3201,3393,3713,3905,133,325,645,837,1157,1349,1669,1861,2181,2373,2693,2885,3205,3397,3717,3909,137,329,649,841,1161,1353,1673,1865,2185,2377,2697,2889,3209,3401,3721,3913,141,333,653,845,1165,1357,1677,1869,2189,2381,2701,2893,3213,3405,3725,3917,145,337,657,849,1169,1361,1681,1873,2193,2385,2705,2897,3217,3409,3729,3921,149,341,661,853,1173,1365,1685,1877,2197,2389,2709,2901,3221,3413,3733,3925,153,345,665,857,1177,1369,1689,1881,2201,2393,2713,2905,3225,3417,3737,3929,157,349,669,861,1181,1373,1693,1885,2205,2397,2717,2909,3229,3421,3741,3933,161,353,673,865,1185,1377,1697,1889,2209,2401,2721,2913,3233,3425,3745,3937,165,357,677,869,1189,1381,1701,1893,2213,2405,2725,2917,3237,3429,3749,3941,169,361,681,873,1193,1385,1705,1897,2217,2409,2729,2921,3241,3433,3753,3945,173,365,685,877,1197,1389,1709,1901,2221,2413,2733,2925,3245,3437,3757,3949,177,369,689,881,1201,1393,1713,1905,2225,2417,2737,2929,3249,3441,3761,3953,181,373,693,885,1205,1397,1717,1909,2229,2421,2741,2933,3253,3445,3765,3957,185,377,697,889,1209,1401,1721,1913,2233,2425,2745,2937,3257,3449,3769,3961,189,381,701,893,1213,1405,1725,1917,2237,2429,2749,2941,3261,3453,3773,3965,130,322,642,834,1154,1346,1666,1858,2178,2370,2690,2882,3202,3394,3714,3906,134,326,646,838,1158,1350,1670,1862,2182,2374,2694,2886,3206,3398,3718,3910,138,330,650,842,1162,1354,1674,1866,2186,2378,2698,2890,3210,3402,3722,3914,142,334,654,846,1166,1358,1678,1870,2190,2382,2702,2894,3214,3406,3726,3918,146,338,658,850,1170,1362,1682,1874,2194,2386,2706,2898,3218,3410,3730,3922,150,342,662,854,1174,1366,1686,1878,2198,2390,2710,2902,3222,3414,3734,3926,154,346,666,858,1178,1370,1690,1882,2202,2394,2714,2906,3226,3418,3738,3930,158,350,670,862,1182,1374,1694,1886,2206,2398,2718,2910,3230,3422,3742,3934,162,354,674,866,1186,1378,1698,1890,2210,2402,2722,2914,3234,3426,3746,3938,166,358,678,870,1190,1382,1702,1894,2214,2406,2726,2918,3238,3430,3750,3942,170,362,682,874,1194,1386,1706,1898,2218,2410,2730,2922,3242,3434,3754,3946,174,366,686,878,1198,1390,1710,1902,2222,2414,2734,2926,3246,3438,3758,3950,178,370,690,882,1202,1394,1714,1906,2226,2418,2738,2930,3250,3442,3762,3954,182,374,694,886,1206,1398,1718,1910,2230,2422,2742,2934,3254,3446,3766,3958,186,378,698,890,1210,1402,1722,1914,2234,2426,2746,2938,3258,3450,3770,3962,190,382,702,894,1214,1406,1726,1918,2238,2430,2750,2942,3262,3454,3774,3966,131,323,643,835,1155,1347,1667,1859,2179,2371,2691,2883,3203,3395,3715,3907,135,327,647,839,1159,1351,1671,1863,2183,2375,2695,2887,3207,3399,3719,3911,139,331,651,843,1163,1355,1675,1867,2187,2379,2699,2891,3211,3403,3723,3915,143,335,655,847,1167,1359,1679,1871,2191,2383,2703,2895,3215,3407,3727,3919,147,339,659,851,1171,1363,1683,1875,2195,2387,2707,2899,3219,3411,3731,3923,151,343,663,855,1175,1367,1687,1879,2199,2391,2711,2903,3223,3415,3735,3927,155,347,667,859,1179,1371,1691,1883,2203,2395,2715,2907,3227,3419,3739,3931,159,351,671,863,1183,1375,1695,1887,2207,2399,2719,2911,3231,3423,3743,3935,163,355,675,867,1187,1379,1699,1891,2211,2403,2723,2915,3235,3427,3747,3939,167,359,679,871,1191,1383,1703,1895,2215,2407,2727,2919,3239,3431,3751,3943,171,363,683,875,1195,1387,1707,1899,2219,2411,2731,2923,3243,3435,3755,3947,175,367,687,879,1199,1391,1711,1903,2223,2415,2735,2927,3247,3439,3759,3951,179,371,691,883,1203,1395,1715,1907,2227,2419,2739,2931,3251,3443,3763,3955,183,375,695,887,1207,1399,1719,1911,2231,2423,2743,2935,3255,3447,3767,3959,187,379,699,891,1211,1403,1723,1915,2235,2427,2747,2939,3259,3451,3771,3963,191,383,703,895,1215,1407,1727,1919,2239,2431,2751,2943,3263,3455,3775,3967,192,256,704,768,1216,1280,1728,1792,2240,2304,2752,2816,3264,3328,3776,3840,196,260,708,772,1220,1284,1732,1796,2244,2308,2756,2820,3268,3332,3780,3844,200,264,712,776,1224,1288,1736,1800,2248,2312,2760,2824,3272,3336,3784,3848,204,268,716,780,1228,1292,1740,1804,2252,2316,2764,2828,3276,3340,3788,3852,208,272,720,784,1232,1296,1744,1808,2256,2320,2768,2832,3280,3344,3792,3856,212,276,724,788,1236,1300,1748,1812,2260,2324,2772,2836,3284,3348,3796,3860,216,280,728,792,1240,1304,1752,1816,2264,2328,2776,2840,3288,3352,3800,3864,220,284,732,796,1244,1308,1756,1820,2268,2332,2780,2844,3292,3356,3804,3868,224,288,736,800,1248,1312,1760,1824,2272,2336,2784,2848,3296,3360,3808,3872,228,292,740,804,1252,1316,1764,1828,2276,2340,2788,2852,3300,3364,3812,3876,232,296,744,808,1256,1320,1768,1832,2280,2344,2792,2856,3304,3368,3816,3880,236,300,748,812,1260,1324,1772,1836,2284,2348,2796,2860,3308,3372,3820,3884,240,304,752,816,1264,1328,1776,1840,2288,2352,2800,2864,3312,3376,3824,3888,244,308,756,820,1268,1332,1780,1844,2292,2356,2804,2868,3316,3380,3828,3892,248,312,760,824,1272,1336,1784,1848,2296,2360,2808,2872,3320,3384,3832,3896,252,316,764,828,1276,1340,1788,1852,2300,2364,2812,2876,3324,3388,3836,3900,193,257,705,769,1217,1281,1729,1793,2241,2305,2753,2817,3265,3329,3777,3841,197,261,709,773,1221,1285,1733,1797,2245,2309,2757,2821,3269,3333,3781,3845,201,265,713,777,1225,1289,1737,1801,2249,2313,2761,2825,3273,3337,3785,3849,205,269,717,781,1229,1293,1741,1805,2253,2317,2765,2829,3277,3341,3789,3853,209,273,721,785,1233,1297,1745,1809,2257,2321,2769,2833,3281,3345,3793,3857,213,277,725,789,1237,1301,1749,1813,2261,2325,2773,2837,3285,3349,3797,3861,217,281,729,793,1241,1305,1753,1817,2265,2329,2777,2841,3289,3353,3801,3865,221,285,733,797,1245,1309,1757,1821,2269,2333,2781,2845,3293,3357,3805,3869,225,289,737,801,1249,1313,1761,1825,2273,2337,2785,2849,3297,3361,3809,3873,229,293,741,805,1253,1317,1765,1829,2277,2341,2789,2853,3301,3365,3813,3877,233,297,745,809,1257,1321,1769,1833,2281,2345,2793,2857,3305,3369,3817,3881,237,301,749,813,1261,1325,1773,1837,2285,2349,2797,2861,3309,3373,3821,3885,241,305,753,817,1265,1329,1777,1841,2289,2353,2801,2865,3313,3377,3825,3889,245,309,757,821,1269,1333,1781,1845,2293,2357,2805,2869,3317,3381,3829,3893,249,313,761,825,1273,1337,1785,1849,2297,2361,2809,2873,3321,3385,3833,3897,253,317,765,829,1277,1341,1789,1853,2301,2365,2813,2877,3325,3389,3837,3901,194,258,706,770,1218,1282,1730,1794,2242,2306,2754,2818,3266,3330,3778,3842,198,262,710,774,1222,1286,1734,1798,2246,2310,2758,2822,3270,3334,3782,3846,202,266,714,778,1226,1290,1738,1802,2250,2314,2762,2826,3274,3338,3786,3850,206,270,718,782,1230,1294,1742,1806,2254,2318,2766,2830,3278,3342,3790,3854,210,274,722,786,1234,1298,1746,1810,2258,2322,2770,2834,3282,3346,3794,3858,214,278,726,790,1238,1302,1750,1814,2262,2326,2774,2838,3286,3350,3798,3862,218,282,730,794,1242,1306,1754,1818,2266,2330,2778,2842,3290,3354,3802,3866,222,286,734,798,1246,1310,1758,1822,2270,2334,2782,2846,3294,3358,3806,3870,226,290,738,802,1250,1314,1762,1826,2274,2338,2786,2850,3298,3362,3810,3874,230,294,742,806,1254,1318,1766,1830,2278,2342,2790,2854,3302,3366,3814,3878,234,298,746,810,1258,1322,1770,1834,2282,2346,2794,2858,3306,3370,3818,3882,238,302,750,814,1262,1326,1774,1838,2286,2350,2798,2862,3310,3374,3822,3886,242,306,754,818,1266,1330,1778,1842,2290,2354,2802,2866,3314,3378,3826,3890,246,310,758,822,1270,1334,1782,1846,2294,2358,2806,2870,3318,3382,3830,3894,250,314,762,826,1274,1338,1786,1850,2298,2362,2810,2874,3322,3386,3834,3898,254,318,766,830,1278,1342,1790,1854,2302,2366,2814,2878,3326,3390,3838,3902,195,259,707,771,1219,1283,1731,1795,2243,2307,2755,2819,3267,3331,3779,3843,199,263,711,775,1223,1287,1735,1799,2247,2311,2759,2823,3271,3335,3783,3847,203,267,715,779,1227,1291,1739,1803,2251,2315,2763,2827,3275,3339,3787,3851,207,271,719,783,1231,1295,1743,1807,2255,2319,2767,2831,3279,3343,3791,3855,211,275,723,787,1235,1299,1747,1811,2259,2323,2771,2835,3283,3347,3795,3859,215,279,727,791,1239,1303,1751,1815,2263,2327,2775,2839,3287,3351,3799,3863,219,283,731,795,1243,1307,1755,1819,2267,2331,2779,2843,3291,3355,3803,3867,223,287,735,799,1247,1311,1759,1823,2271,2335,2783,2847,3295,3359,3807,3871,227,291,739,803,1251,1315,1763,1827,2275,2339,2787,2851,3299,3363,3811,3875,231,295,743,807,1255,1319,1767,1831,2279,2343,2791,2855,3303,3367,3815,3879,235,299,747,811,1259,1323,1771,1835,2283,2347,2795,2859,3307,3371,3819,3883,239,303,751,815,1263,1327,1775,1839,2287,2351,2799,2863,3311,3375,3823,3887,243,307,755,819,1267,1331,1779,1843,2291,2355,2803,2867,3315,3379,3827,3891,247,311,759,823,1271,1335,1783,1847,2295,2359,2807,2871,3319,3383,3831,3895,251,315,763,827,1275,1339,1787,1851,2299,2363,2811,2875,3323,3387,3835,3899,255,319,767,831,1279,1343,1791,1855,2303,2367,2815,2879,3327,3391,3839,3903
};
#endif