blob: 5e16df58eb565bc78a42f266c184b6246384e23a [file] [log] [blame]
package org.bouncycastle.pqc.crypto.qtesla;
final class PolynomialHeuristic
{
/* Heuristic qTESLA Security Category-1 */
public static final int[] ZETA_I = { /* 512-Entry */
3359531, 2189080, 370173, 677362, 3132616, 2989204, 2362181, 1720831,
1203721, 3239574, 641414, 3932234, 3634017, 2251707, 355329, 4152265,
1356023, 4021436, 1465601, 4145892, 3348341, 675693, 1598775, 2799365,
3336234, 3856839, 603157, 1381183, 1069471, 2142038, 2877387, 2653969,
2055310, 3837123, 3141231, 1951522, 2375048, 445122, 1689285, 3664328,
676319, 3844199, 3669724, 1009639, 3666694, 1585701, 2102892, 966523,
4069555, 3246046, 846643, 2088895, 4068915, 3715722, 4119007, 230501,
1626667, 2119752, 1171284, 3153846, 17941, 1316589, 1814059, 3185686,
1183551, 2533671, 4152595, 2616162, 3015757, 194860, 1601807, 1271569,
139534, 2581874, 2183200, 2060697, 1036874, 646550, 2823563, 3312274,
391700, 99391, 638903, 2397164, 3924868, 3315551, 1170767, 422539,
1801679, 166402, 742283, 222557, 522210, 3415900, 177835, 3243355,
4196855, 1821376, 1290490, 3624896, 1546898, 1282351, 3960516, 835944,
2251927, 90910, 3034838, 4082965, 2311377, 3512216, 2652413, 2191140,
302935, 3866228, 2007511, 744185, 2801160, 3993630, 592962, 795067,
2822609, 3471782, 3710854, 1824985, 1495256, 3906591, 3111335, 3902620,
11234, 1586236, 3698245, 492808, 2729660, 3369937, 1869963, 7244,
1453951, 1757304, 1005437, 3668653, 1821321, 4203686, 1192473, 113408,
2904803, 1346735, 4161890, 711442, 4020959, 1164150, 2139014, 4134238,
731747, 3856202, 2351090, 3382729, 2644693, 617098, 2796766, 1911274,
552932, 2476095, 1801797, 1381577, 2338697, 1336590, 2798544, 459121,
3555631, 741068, 2302686, 1883916, 2148181, 2471691, 2174195, 1684042,
3266036, 227434, 4107207, 2910899, 3427718, 2011049, 2706372, 4182237,
1243355, 2908998, 15068, 1966206, 2157082, 4114100, 1846352, 230880,
1161075, 1259576, 1212857, 1697580, 39500, 3079648, 2529577, 2082167,
50282, 476606, 1494601, 1334236, 3349015, 1600445, 413060, 3104844,
139283, 1688398, 3230017, 1009712, 614253, 2973529, 2077610, 2218429,
4185344, 254428, 506799, 196179, 3310395, 4183346, 3897905, 2234639,
1859699, 3322900, 2151737, 1904476, 2457045, 383438, 2543045, 2985636,
731083, 1609871, 2171434, 535413, 2666041, 405934, 3303186, 802974,
3573046, 1760267, 2758359, 2102800, 1512274, 3981750, 1838169, 2101846,
1363757, 1342163, 3608830, 321523, 1072908, 855117, 1679204, 3624675,
3183259, 2438624, 407591, 1549799, 490068, 2769318, 3185950, 990968,
3700398, 2715638, 3672301, 3203080, 1775408, 2071611, 778637, 2335351,
3317014, 3768001, 571163, 2618746, 1028702, 3174131, 764504, 1386439,
4188876, 1131998, 1057083, 39651, 2588805, 2519763, 3838931, 4130059,
1893001, 2066802, 572208, 2529031, 220967, 3880345, 1820301, 2205978,
3036090, 1648541, 4012391, 1432533, 3068186, 1645476, 1397186, 2112498,
4168213, 1234734, 1648052, 1803157, 2011730, 1648875, 2547914, 437873,
2460774, 3403214, 2690605, 2567052, 739775, 1854855, 520305, 3661464,
1120944, 1245195, 1147367, 2571134, 696367, 3009976, 834907, 1691662,
1384090, 2795844, 1813845, 3425954, 4194068, 1317042, 2056507, 470026,
3097617, 2678203, 3077203, 2116013, 4155561, 2844478, 1467696, 4150754,
992951, 471101, 4062883, 1584992, 2252609, 3322854, 1597940, 3581574,
1115369, 4153697, 3236495, 4075586, 2066340, 1262360, 2730720, 3664692,
2681478, 2929295, 3831713, 3683420, 2511172, 3689552, 2645837, 2414330,
857564, 3703853, 468246, 1574274, 3590547, 2348366, 1565207, 1815326,
2508730, 1749217, 465029, 260794, 1630097, 3019607, 3872759, 1053481,
3958758, 3415305, 54348, 2516, 3045515, 3011542, 1951553, 1882613,
1729323, 801736, 3662451, 909634, 2949838, 2598628, 1652685, 1945350,
3221627, 2879417, 2732226, 3883548, 1891328, 3215710, 3159721, 1318941,
2153764, 1870381, 4039453, 3375151, 2655219, 4089723, 1388508, 3436490,
3956335, 2748982, 4111030, 328986, 1780674, 2570336, 2608795, 2600572,
2748827, 790335, 1988956, 3946950, 1789942, 710384, 3900335, 457139,
2550557, 3042298, 1952120, 1998308, 259999, 2361900, 119023, 3680445,
1893737, 4050016, 2696786, 567472, 3085466, 1580931, 1360307, 3075154,
904205, 1306381, 3257843, 2926984, 2065676, 3221598, 2551064, 1580354,
1636374, 699891, 1821560, 670885, 947258, 2908840, 3049868, 1038075,
1701447, 2439140, 2048478, 3183312, 2224644, 320592, 3304074, 2611056,
422256, 1752180, 2217951, 2900510, 1321050, 2797671, 312886, 2624042,
3166863, 908176, 24947, 152205, 2891981, 189908, 1959427, 1365987,
2071767, 1932065, 3185693, 3889374, 3644713, 79765, 969178, 11268,
1992233, 1579325, 1224905, 3741957, 1894871, 3060100, 1787540, 4194180,
1396587, 2745514, 26822, 695515, 2348201, 249698, 2988539, 1081347
};
public static final int[] ZETA_INVERSE_I = { /* 512-Entry */
1217030, 3955871, 1857368, 3510054, 4178747, 1460055, 2808982, 11389,
2418029, 1145469, 2310698, 463612, 2980664, 2626244, 2213336, 4194301,
3236391, 4125804, 560856, 316195, 1019876, 2273504, 2133802, 2839582,
2246142, 4015661, 1313588, 4053364, 4180622, 3297393, 1038706, 1581527,
3892683, 1407898, 2884519, 1305059, 1987618, 2453389, 3783313, 1594513,
901495, 3884977, 1980925, 1022257, 2157091, 1766429, 2504122, 3167494,
1155701, 1296729, 3258311, 3534684, 2384009, 3505678, 2569195, 2625215,
1654505, 983971, 2139893, 1278585, 947726, 2899188, 3301364, 1130415,
2845262, 2624638, 1120103, 3638097, 1508783, 155553, 2311832, 525124,
4086546, 1843669, 3945570, 2207261, 2253449, 1163271, 1655012, 3748430,
305234, 3495185, 2415627, 258619, 2216613, 3415234, 1456742, 1604997,
1596774, 1635233, 2424895, 3876583, 94539, 1456587, 249234, 769079,
2817061, 115846, 1550350, 830418, 166116, 2335188, 2051805, 2886628,
1045848, 989859, 2314241, 322021, 1473343, 1326152, 983942, 2260219,
2552884, 1606941, 1255731, 3295935, 543118, 3403833, 2476246, 2322956,
2254016, 1194027, 1160054, 4203053, 4151221, 790264, 246811, 3152088,
332810, 1185962, 2575472, 3944775, 3740540, 2456352, 1696839, 2390243,
2640362, 1857203, 615022, 2631295, 3737323, 501716, 3348005, 1791239,
1559732, 516017, 1694397, 522149, 373856, 1276274, 1524091, 540877,
1474849, 2943209, 2139229, 129983, 969074, 51872, 3090200, 623995,
2607629, 882715, 1952960, 2620577, 142686, 3734468, 3212618, 54815,
2737873, 1361091, 50008, 2089556, 1128366, 1527366, 1107952, 3735543,
2149062, 2888527, 11501, 779615, 2391724, 1409725, 2821479, 2513907,
3370662, 1195593, 3509202, 1634435, 3058202, 2960374, 3084625, 544105,
3685264, 2350714, 3465794, 1638517, 1514964, 802355, 1744795, 3767696,
1657655, 2556694, 2193839, 2402412, 2557517, 2970835, 37356, 2093071,
2808383, 2560093, 1137383, 2773036, 193178, 2557028, 1169479, 1999591,
2385268, 325224, 3984602, 1676538, 3633361, 2138767, 2312568, 75510,
366638, 1685806, 1616764, 4165918, 3148486, 3073571, 16693, 2819130,
3441065, 1031438, 3176867, 1586823, 3634406, 437568, 888555, 1870218,
3426932, 2133958, 2430161, 1002489, 533268, 1489931, 505171, 3214601,
1019619, 1436251, 3715501, 2655770, 3797978, 1766945, 1022310, 580894,
2526365, 3350452, 3132661, 3884046, 596739, 2863406, 2841812, 2103723,
2367400, 223819, 2693295, 2102769, 1447210, 2445302, 632523, 3402595,
902383, 3799635, 1539528, 3670156, 2034135, 2595698, 3474486, 1219933,
1662524, 3822131, 1748524, 2301093, 2053832, 882669, 2345870, 1970930,
307664, 22223, 895174, 4009390, 3698770, 3951141, 20225, 1987140,
2127959, 1232040, 3591316, 3195857, 975552, 2517171, 4066286, 1100725,
3792509, 2605124, 856554, 2871333, 2710968, 3728963, 4155287, 2123402,
1675992, 1125921, 4166069, 2507989, 2992712, 2945993, 3044494, 3974689,
2359217, 91469, 2048487, 2239363, 4190501, 1296571, 2962214, 23332,
1499197, 2194520, 777851, 1294670, 98362, 3978135, 939533, 2521527,
2031374, 1733878, 2057388, 2321653, 1902883, 3464501, 649938, 3746448,
1407025, 2868979, 1866872, 2823992, 2403772, 1729474, 3652637, 2294295,
1408803, 3588471, 1560876, 822840, 1854479, 349367, 3473822, 71331,
2066555, 3041419, 184610, 3494127, 43679, 2858834, 1300766, 4092161,
3013096, 1883, 2384248, 536916, 3200132, 2448265, 2751618, 4198325,
2335606, 835632, 1475909, 3712761, 507324, 2619333, 4194335, 302949,
1094234, 298978, 2710313, 2380584, 494715, 733787, 1382960, 3410502,
3612607, 211939, 1404409, 3461384, 2198058, 339341, 3902634, 2014429,
1553156, 693353, 1894192, 122604, 1170731, 4114659, 1953642, 3369625,
245053, 2923218, 2658671, 580673, 2915079, 2384193, 8714, 962214,
4027734, 789669, 3683359, 3983012, 3463286, 4039167, 2403890, 3783030,
3034802, 890018, 280701, 1808405, 3566666, 4106178, 3813869, 893295,
1382006, 3559019, 3168695, 2144872, 2022369, 1623695, 4066035, 2934000,
2603762, 4010709, 1189812, 1589407, 52974, 1671898, 3022018, 1019883,
2391510, 2888980, 4187628, 1051723, 3034285, 2085817, 2578902, 3975068,
86562, 489847, 136654, 2116674, 3358926, 959523, 136014, 3239046,
2102677, 2619868, 538875, 3195930, 535845, 361370, 3529250, 541241,
2516284, 3760447, 1830521, 2254047, 1064338, 368446, 2150259, 1551600,
1328182, 2063531, 3136098, 2824386, 3602412, 348730, 869335, 1406204,
2606794, 3529876, 857228, 59677, 2739968, 184133, 2849546, 53304,
3850240, 1953862, 571552, 273335, 3564155, 965995, 3001848, 2484738,
1843388, 1216365, 1072953, 3528207, 3835396, 2016489, 846038, 3124222
};
/* Heuristic qTESLA Security Category-3 (Option for Size) */
public static final int[] ZETA_III_SIZE = { /* 1024-Entry */
671800, 4181291, 975654, 970836, 1459996, 2949013, 1578790, 3375131,
177347, 2024971, 3299069, 2879655, 1061156, 3772041, 1726661, 2646527,
224962, 3106510, 1764167, 3790159, 110295, 277183, 2296602, 1995237,
1574725, 1473236, 1081285, 144829, 114244, 719647, 4114328, 917441,
4188270, 3805772, 261389, 52393, 2185303, 1021265, 2167874, 2986441,
3886274, 2191966, 284211, 3446813, 1389427, 2107810, 1173125, 1597161,
3753261, 1373052, 793684, 4091628, 1677907, 4164049, 1948749, 2758369,
1027640, 1118203, 891820, 1309242, 1810791, 1863364, 2587868, 1541007,
4104068, 675426, 1402433, 2557508, 1068970, 1940808, 3957823, 798456,
4092960, 3262467, 1793460, 658044, 1978921, 1367494, 3136736, 2360480,
941550, 37800, 1919065, 3032526, 581001, 3323192, 299785, 3114533,
545048, 2845265, 1891473, 102035, 2256179, 221259, 1796623, 504470,
377401, 3184337, 3107383, 606431, 200460, 3770995, 986925, 207500,
3712747, 1696453, 4158053, 3530443, 32005, 3222743, 3918763, 3574153,
2768592, 2608835, 1856937, 905294, 214652, 4154226, 2876170, 2651799,
1098009, 3905542, 3763042, 3055325, 1438567, 969841, 2397140, 3637385,
3779810, 644984, 1638607, 498549, 3404792, 4055115, 9472, 315805,
1796876, 972163, 3025826, 3334639, 2290368, 2552107, 160996, 3282568,
2279239, 1305163, 2304247, 603598, 3803059, 2582009, 3202587, 1094032,
1195417, 2879417, 1648902, 542294, 3085586, 3325229, 4177450, 150226,
890698, 503530, 3122945, 1929018, 3309179, 1075767, 2185016, 276011,
1620579, 1349757, 454010, 3835301, 3658519, 2369797, 203221, 2116132,
1371940, 3499700, 2991078, 3597638, 942280, 506271, 701979, 1853372,
2165162, 2830558, 2083508, 3582128, 4177826, 2623861, 3740436, 725559,
791017, 595361, 2192451, 878351, 1919935, 1730363, 165115, 3011415,
539166, 4049306, 2512830, 3633034, 3743092, 1721797, 356766, 3860922,
551806, 520752, 1492250, 3020875, 296084, 3951086, 3702654, 1541222,
2760082, 2967699, 1811892, 1913148, 3121111, 2583448, 37791, 2289197,
228811, 315449, 2711375, 2035264, 998876, 684125, 1377229, 1723513,
2093137, 1181754, 3978572, 1168111, 1295590, 1870157, 2992279, 1610031,
2052968, 3195982, 3195020, 2498826, 2430997, 1447298, 2178224, 1573739,
3444420, 2425537, 3066466, 1895376, 3494178, 2341084, 2603206, 2810264,
3665075, 4030046, 232980, 3770527, 2425457, 3193512, 1906687, 3838549,
1081341, 3385499, 343154, 3648238, 3066045, 3502707, 903006, 2216085,
2477447, 3769256, 2700907, 2899931, 3094342, 404354, 2325640, 4161594,
1153616, 2601633, 624385, 56418, 4122920, 303574, 3474524, 3047326,
3446806, 1755473, 1289687, 3030484, 745529, 2037059, 1126174, 3508536,
3263841, 1057863, 2424516, 3666380, 2238799, 1918076, 1096624, 666757,
2414037, 4105141, 86489, 236751, 2175830, 2842379, 3751432, 366978,
1727916, 627613, 2576775, 231383, 2352896, 1039386, 650148, 3849095,
2893195, 2813545, 2172937, 1389954, 1261168, 1470030, 832830, 3548304,
2585258, 3650945, 3733752, 797947, 4183412, 261772, 374082, 3717015,
1306771, 591941, 3320862, 3969254, 3730288, 4153963, 2641916, 706453,
3574687, 687011, 3723863, 518936, 674472, 2242626, 174183, 3560884,
3969544, 425417, 789235, 4183047, 4027225, 982625, 2075760, 2392513,
2538340, 3022462, 1997528, 356548, 3730142, 1536313, 1202696, 1344848,
3103217, 2383022, 1762142, 2994989, 3102783, 3072599, 1517632, 2024436,
2534641, 147328, 2356097, 190578, 2587663, 440306, 2374767, 3182600,
680532, 484370, 4131095, 3009332, 3562207, 976019, 3613316, 3033006,
3743622, 4136404, 1605237, 66645, 3859240, 908865, 4051121, 2726336,
3637443, 2340134, 813357, 3985220, 2868243, 3650243, 1684957, 3023114,
2402323, 1820096, 1764462, 1049670, 2260628, 4976, 3760346, 3157996,
3573461, 1006628, 454916, 4159906, 337885, 22277, 520578, 2607705,
2561874, 503606, 1415232, 3823408, 3829828, 554510, 914738, 3838536,
653901, 664244, 3918457, 361056, 515834, 2583400, 2666144, 1562200,
2635470, 3523620, 2847787, 281762, 1416774, 4047010, 2739024, 1492985,
2613083, 2116726, 4076288, 4141191, 3357856, 741301, 977038, 4028938,
1661277, 2769449, 3571042, 2601104, 57237, 3026729, 3478919, 87366,
3697654, 2676961, 3932341, 2883942, 3200147, 623723, 871365, 763732,
2354543, 661482, 1442350, 148821, 966821, 2154509, 1229800, 2252524,
1712762, 687319, 1231124, 225814, 127675, 2786959, 2996601, 1997279,
1410197, 2759369, 254896, 2633749, 743622, 2420984, 594581, 1359068,
3724994, 3338166, 473524, 3323698, 110693, 2630130, 3742099, 1392129,
1263087, 1474128, 964094, 3338617, 2682625, 2350723, 4039051, 2437147,
2003303, 1029372, 3710675, 1198388, 4047402, 337401, 959139, 3673320,
3269977, 1757086, 3846011, 3052386, 1555886, 1213798, 1730449, 574426,
3730903, 4058825, 3075, 3232877, 597243, 584901, 3208277, 423060,
3216342, 3727213, 89571, 709528, 3722455, 112585, 4199553, 578587,
1727014, 3010665, 1118724, 3088559, 458307, 695931, 2551953, 3462204,
2654347, 2908501, 3034211, 3511237, 3734268, 2443875, 270514, 776347,
683036, 1526569, 521044, 2352920, 557737, 4056083, 2391161, 2389563,
2293979, 2581739, 2738173, 2545480, 1008072, 3577574, 1673061, 4116273,
133058, 1222352, 1144238, 882222, 3000625, 4046931, 141504, 1904001,
1035854, 3807884, 2398461, 446181, 2041489, 1148183, 2291458, 3675915,
255124, 369448, 3016249, 2025225, 3237403, 2220199, 3134791, 2587255,
3220754, 3366174, 132697, 3383227, 1358468, 1158291, 2321651, 2869559,
1425523, 4054733, 69091, 3521561, 2453355, 2968118, 2968833, 3185424,
988606, 3025251, 1154802, 24092, 1305476, 3938667, 3405455, 2280837,
2987149, 1576181, 3812113, 481232, 1911887, 2305037, 3637072, 515558,
3183843, 3460525, 2134536, 3376047, 849276, 912675, 3126131, 3349335,
1736653, 247313, 307171, 2906949, 2483567, 3951115, 449581, 3211241,
119780, 3050685, 312715, 129516, 1413964, 3626707, 1834389, 739674,
2166987, 1898439, 3247386, 543470, 3893129, 1952324, 4010533, 2663329,
1611039, 4159354, 3221090, 4011118, 456104, 4128401, 3481956, 1341852,
1346376, 1373597, 1886912, 2289124, 2035164, 3802432, 4020200, 1440583,
131860, 2447356, 1147783, 3884191, 36600, 1417517, 3115113, 4106357,
2209232, 3913295, 2079509, 2915453, 253356, 2093028, 3105753, 420898,
3641863, 2237777, 589597, 3471638, 1556385, 1574364, 2961455, 2414774,
2532838, 3894119, 2561579, 1825751, 2610770, 4095615, 2366084, 1696032,
2935352, 1982899, 3940806, 962691, 2874348, 2295425, 3088987, 1724605,
138760, 2611152, 2321223, 3862854, 977071, 3373271, 2119442, 2444640,
184156, 2401204, 2250096, 3883423, 24318, 1799015, 2709027, 2477092,
2937887, 872546, 348220, 49520, 266109, 1166709, 1470353, 712356,
4162049, 2520023, 1093919, 3371334, 1529777, 3549597, 3033168, 3626405,
317815, 972428, 3325840, 1416192, 1615043, 3225312, 49030, 591050,
3470933, 533400, 905783, 2128579, 2589779, 1556207, 3295501, 3128246,
1323037, 2836289, 1222103, 2635029, 764092, 1785154, 1271391, 407326,
3293361, 697832, 1957938, 26925, 1909470, 921060, 1189793, 452905,
177180, 3986522, 3612073, 2634482, 3811697, 2155464, 3184049, 3773906,
4155559, 890604, 965647, 946702, 2980153, 2514794, 1634712, 1413135,
2059115, 1095948, 1094602, 3286386, 1617289, 2234906, 2942756, 2831603,
2790364, 4110867, 3267277, 2818115, 997189, 3975212, 1919457, 3294782,
42631, 3979780, 677949, 1074671, 4007873, 2013224, 4064265, 1404667,
1266413, 1753048, 1480954, 2251688, 3671233, 3337348, 3023835, 704482,
1867102, 2290506, 1202801, 3686892, 3618479, 3297031, 2477670, 3415258,
2889498, 2106378, 361488, 1478812, 3536666, 645275, 2793501, 2983604,
3150760, 1136423, 2629214, 3144871, 1095947, 2432448, 3144124, 1562104,
3685583, 2519659, 1745378, 275993, 1028739, 4053547, 3139341, 791685,
205316, 940435, 3044250, 3537550, 2347550, 2748749, 216515, 2376693,
3994272, 758809, 336837, 4138282, 254982, 2087732, 1443586, 2090448,
2407213, 2192231, 584225, 1528366, 714102, 2781015, 1061159, 144894,
2251444, 1706143, 3064185, 1082774, 1212561, 1964667, 1808852, 1281436,
380192, 1938622, 3594224, 2865093, 1814198, 3709791, 3557452, 641073,
3449310, 2797672, 1886229, 2374072, 1947652, 910530, 4110612, 3688785,
2761424, 2192378, 1210992, 432423, 3990493, 3710041, 3364266, 1402625,
1430941, 466915, 2307343, 3969361, 3041855, 1636011, 2336989, 4083954,
1752367, 1468975, 4003767, 2752277, 2639144, 2435428, 168292, 2731409,
2173963, 313121, 1885409, 1792411, 105750, 1595875, 3535511, 1917121,
3348968, 3600516, 3025874, 1234611, 387230, 254793, 2267177, 423073,
3643782, 2241875, 720861, 3996710, 2066073, 1031892, 2436415, 3356685,
3628852, 1131491, 315588, 3085726, 4060906, 3713538, 561022, 142143,
137017, 4091465, 525060, 523088, 2581256, 2546361, 529201, 1724592,
3917913, 4096490, 1689933, 575672, 2633453, 2453964, 3882580, 236313,
394169, 2731312, 3191196, 135139, 1208112, 2180950, 4051722, 330078,
4161293, 3314132, 1075088, 3797989, 958522, 1974573, 3610471, 3368492,
629863, 3712506, 281606, 4189621, 1437509, 2515187, 1936773, 3150875,
797596, 4050969, 2506561, 2023050, 3235484, 2216101, 3003527, 569898,
2081018, 3678953, 3392925, 857476, 1224594, 2996526, 3160227, 35843
};
public static final int[] ZETA_INVERSE_III_SIZE = { /* 1024-Entry */
1046366, 1210067, 2981999, 3349117, 813668, 527640, 2125575, 3636695,
1203066, 1990492, 971109, 2183543, 1700032, 155624, 3408997, 1055718,
2269820, 1691406, 2769084, 16972, 3924987, 494087, 3576730, 838101,
596122, 2232020, 3248071, 408604, 3131505, 892461, 45300, 3876515,
154871, 2025643, 2998481, 4071454, 1015397, 1475281, 3812424, 3970280,
324013, 1752629, 1573140, 3630921, 2516660, 110103, 288680, 2482001,
3677392, 1660232, 1625337, 3683505, 3681533, 115128, 4069576, 4064450,
3645571, 493055, 145687, 1120867, 3891005, 3075102, 577741, 849908,
1770178, 3174701, 2140520, 209883, 3485732, 1964718, 562811, 3783520,
1939416, 3951800, 3819363, 2971982, 1180719, 606077, 857625, 2289472,
671082, 2610718, 4100843, 2414182, 2321184, 3893472, 2032630, 1475184,
4038301, 1771165, 1567449, 1454316, 202826, 2737618, 2454226, 122639,
1869604, 2570582, 1164738, 237232, 1899250, 3739678, 2775652, 2803968,
842327, 496552, 216100, 3774170, 2995601, 2014215, 1445169, 517808,
95981, 3296063, 2258941, 1832521, 2320364, 1408921, 757283, 3565520,
649141, 496802, 2392395, 1341500, 612369, 2267971, 3826401, 2925157,
2397741, 2241926, 2994032, 3123819, 1142408, 2500450, 1955149, 4061699,
3145434, 1425578, 3492491, 2678227, 3622368, 2014362, 1799380, 2116145,
2763007, 2118861, 3951611, 68311, 3869756, 3447784, 212321, 1829900,
3990078, 1457844, 1859043, 669043, 1162343, 3266158, 4001277, 3414908,
1067252, 153046, 3177854, 3930600, 2461215, 1686934, 521010, 2644489,
1062469, 1774145, 3110646, 1061722, 1577379, 3070170, 1055833, 1222989,
1413092, 3561318, 669927, 2727781, 3845105, 2100215, 1317095, 791335,
1728923, 909562, 588114, 519701, 3003792, 1916087, 2339491, 3502111,
1182758, 869245, 535360, 1954905, 2725639, 2453545, 2940180, 2801926,
142328, 2193369, 198720, 3131922, 3528644, 226813, 4163962, 911811,
2287136, 231381, 3209404, 1388478, 939316, 95726, 1416229, 1374990,
1263837, 1971687, 2589304, 920207, 3111991, 3110645, 2147478, 2793458,
2571881, 1691799, 1226440, 3259891, 3240946, 3315989, 51034, 432687,
1022544, 2051129, 394896, 1572111, 594520, 220071, 4029413, 3753688,
3016800, 3285533, 2297123, 4179668, 2248655, 3508761, 913232, 3799267,
2935202, 2421439, 3442501, 1571564, 2984490, 1370304, 2883556, 1078347,
911092, 2650386, 1616814, 2078014, 3300810, 3673193, 735660, 3615543,
4157563, 981281, 2591550, 2790401, 880753, 3234165, 3888778, 580188,
1173425, 656996, 2676816, 835259, 3112674, 1686570, 44544, 3494237,
2736240, 3039884, 3940484, 4157073, 3858373, 3334047, 1268706, 1729501,
1497566, 2407578, 4182275, 323170, 1956497, 1805389, 4022437, 1761953,
2087151, 833322, 3229522, 343739, 1885370, 1595441, 4067833, 2481988,
1117606, 1911168, 1332245, 3243902, 265787, 2223694, 1271241, 2510561,
1840509, 110978, 1595823, 2380842, 1645014, 312474, 1673755, 1791819,
1245138, 2632229, 2650208, 734955, 3616996, 1968816, 564730, 3785695,
1100840, 2113565, 3953237, 1291140, 2127084, 293298, 1997361, 100236,
1091480, 2789076, 4169993, 322402, 3058810, 1759237, 4074733, 2766010,
186393, 404161, 2171429, 1917469, 2319681, 2832996, 2860217, 2864741,
724637, 78192, 3750489, 195475, 985503, 47239, 2595554, 1543264,
196060, 2254269, 313464, 3663123, 959207, 2308154, 2039606, 3466919,
2372204, 579886, 2792629, 4077077, 3893878, 1155908, 4086813, 995352,
3757012, 255478, 1723026, 1299644, 3899422, 3959280, 2469940, 857258,
1080462, 3293918, 3357317, 830546, 2072057, 746068, 1022750, 3691035,
569521, 1901556, 2294706, 3725361, 394480, 2630412, 1219444, 1925756,
801138, 267926, 2901117, 4182501, 3051791, 1181342, 3217987, 1021169,
1237760, 1238475, 1753238, 685032, 4137502, 151860, 2781070, 1337034,
1884942, 3048302, 2848125, 823366, 4073896, 840419, 985839, 1619338,
1071802, 1986394, 969190, 2181368, 1190344, 3837145, 3951469, 530678,
1915135, 3058410, 2165104, 3760412, 1808132, 398709, 3170739, 2302592,
4065089, 159662, 1205968, 3324371, 3062355, 2984241, 4073535, 90320,
2533532, 629019, 3198521, 1661113, 1468420, 1624854, 1912614, 1817030,
1815432, 150510, 3648856, 1853673, 3685549, 2680024, 3523557, 3430246,
3936079, 1762718, 472325, 695356, 1172382, 1298092, 1552246, 744389,
1654640, 3510662, 3748286, 1118034, 3087869, 1195928, 2479579, 3628006,
7040, 4094008, 484138, 3497065, 4117022, 479380, 990251, 3783533,
998316, 3621692, 3609350, 973716, 4203518, 147768, 475690, 3632167,
2476144, 2992795, 2650707, 1154207, 360582, 2449507, 936616, 533273,
3247454, 3869192, 159191, 3008205, 495918, 3177221, 2203290, 1769446,
167542, 1855870, 1523968, 867976, 3242499, 2732465, 2943506, 2814464,
464494, 1576463, 4095900, 882895, 3733069, 868427, 481599, 2847525,
3612012, 1785609, 3462971, 1572844, 3951697, 1447224, 2796396, 2209314,
1209992, 1419634, 4078918, 3980779, 2975469, 3519274, 2493831, 1954069,
2976793, 2052084, 3239772, 4057772, 2764243, 3545111, 1852050, 3442861,
3335228, 3582870, 1006446, 1322651, 274252, 1529632, 508939, 4119227,
727674, 1179864, 4149356, 1605489, 635551, 1437144, 2545316, 177655,
3229555, 3465292, 848737, 65402, 130305, 2089867, 1593510, 2713608,
1467569, 159583, 2789819, 3924831, 1358806, 682973, 1571123, 2644393,
1540449, 1623193, 3690759, 3845537, 288136, 3542349, 3552692, 368057,
3291855, 3652083, 376765, 383185, 2791361, 3702987, 1644719, 1598888,
3686015, 4184316, 3868708, 46687, 3751677, 3199965, 633132, 1048597,
446247, 4201617, 1945965, 3156923, 2442131, 2386497, 1804270, 1183479,
2521636, 556350, 1338350, 221373, 3393236, 1866459, 569150, 1480257,
155472, 3297728, 347353, 4139948, 2601356, 70189, 462971, 1173587,
593277, 3230574, 644386, 1197261, 75498, 3722223, 3526061, 1023993,
1831826, 3766287, 1618930, 4016015, 1850496, 4059265, 1671952, 2182157,
2688961, 1133994, 1103810, 1211604, 2444451, 1823571, 1103376, 2861745,
3003897, 2670280, 476451, 3850045, 2209065, 1184131, 1668253, 1814080,
2130833, 3223968, 179368, 23546, 3417358, 3781176, 237049, 645709,
4032410, 1963967, 3532121, 3687657, 482730, 3519582, 631906, 3500140,
1564677, 52630, 476305, 237339, 885731, 3614652, 2899822, 489578,
3832511, 3944821, 23181, 3408646, 472841, 555648, 1621335, 658289,
3373763, 2736563, 2945425, 2816639, 2033656, 1393048, 1313398, 357498,
3556445, 3167207, 1853697, 3975210, 1629818, 3578980, 2478677, 3839615,
455161, 1364214, 2030763, 3969842, 4120104, 101452, 1792556, 3539836,
3109969, 2288517, 1967794, 540213, 1782077, 3148730, 942752, 698057,
3080419, 2169534, 3461064, 1176109, 2916906, 2451120, 759787, 1159267,
732069, 3903019, 83673, 4150175, 3582208, 1604960, 3052977, 44999,
1880953, 3802239, 1112251, 1306662, 1505686, 437337, 1729146, 1990508,
3303587, 703886, 1140548, 558355, 3863439, 821094, 3125252, 368044,
2299906, 1013081, 1781136, 436066, 3973613, 176547, 541518, 1396329,
1603387, 1865509, 712415, 2311217, 1140127, 1781056, 762173, 2632854,
2028369, 2759295, 1775596, 1707767, 1011573, 1010611, 2153625, 2596562,
1214314, 2336436, 2911003, 3038482, 228021, 3024839, 2113456, 2483080,
2829364, 3522468, 3207717, 2171329, 1495218, 3891144, 3977782, 1917396,
4168802, 1623145, 1085482, 2293445, 2394701, 1238894, 1446511, 2665371,
503939, 255507, 3910509, 1185718, 2714343, 3685841, 3654787, 345671,
3849827, 2484796, 463501, 573559, 1693763, 157287, 3667427, 1195178,
4041478, 2476230, 2286658, 3328242, 2014142, 3611232, 3415576, 3481034,
466157, 1582732, 28767, 624465, 2123085, 1376035, 2041431, 2353221,
3504614, 3700322, 3264313, 608955, 1215515, 706893, 2834653, 2090461,
4003372, 1836796, 548074, 371292, 3752583, 2856836, 2586014, 3930582,
2021577, 3130826, 897414, 2277575, 1083648, 3703063, 3315895, 4056367,
29143, 881364, 1121007, 3664299, 2557691, 1327176, 3011176, 3112561,
1004006, 1624584, 403534, 3602995, 1902346, 2901430, 1927354, 924025,
4045597, 1654486, 1916225, 871954, 1180767, 3234430, 2409717, 3890788,
4197121, 151478, 801801, 3708044, 2567986, 3561609, 426783, 569208,
1809453, 3236752, 2768026, 1151268, 443551, 301051, 3108584, 1554794,
1330423, 52367, 3991941, 3301299, 2349656, 1597758, 1438001, 632440,
287830, 983850, 4174588, 676150, 48540, 2510140, 493846, 3999093,
3219668, 435598, 4006133, 3600162, 1099210, 1022256, 3829192, 3702123,
2409970, 3985334, 1950414, 4104558, 2315120, 1361328, 3661545, 1092060,
3906808, 883401, 3625592, 1174067, 2287528, 4168793, 3265043, 1846113,
1069857, 2839099, 2227672, 3548549, 2413133, 944126, 113633, 3408137,
248770, 2265785, 3137623, 1649085, 2804160, 3531167, 102525, 2665586,
1618725, 2343229, 2395802, 2897351, 3314773, 3088390, 3178953, 1448224,
2257844, 42544, 2528686, 114965, 3412909, 2833541, 453332, 2609432,
3033468, 2098783, 2817166, 759780, 3922382, 2014627, 320319, 1220152,
2038719, 3185328, 2021290, 4154200, 3945204, 400821, 18323, 3289152,
92265, 3486946, 4092349, 4061764, 3125308, 2733357, 2631868, 2211356,
1909991, 3929410, 4096298, 416434, 2442426, 1100083, 3981631, 1560066,
2479932, 434552, 3145437, 1326938, 907524, 2181622, 4029246, 831462,
2627803, 1257580, 2746597, 3235757, 3230939, 25302, 3534793, 4170750
};
/* Heuristic qTESLA Security Category-3 (Option for Speed) */
public static final int[] ZETA_III_SPEED = { /* 1024-Entry */
4751355, 3795849, 4203855, 2135008, 6005859, 8231721, 5028848, 2129664,
7697675, 4755217, 4725508, 3239612, 6448681, 1076080, 3836135, 157994,
5620931, 7886062, 2890907, 5218426, 5961785, 6266756, 6428554, 5190121,
4542230, 1731429, 2223635, 4784194, 3466184, 2050685, 6391390, 2917454,
2117568, 5724978, 3127077, 96284, 5251989, 3298678, 7201703, 432021,
540694, 6011377, 6511091, 6136825, 215125, 6152822, 4121955, 6320948,
4723419, 3116754, 3645529, 4643271, 3249093, 3697259, 965302, 3790255,
413429, 835404, 7555714, 4708344, 980578, 8245349, 3583234, 5891188,
510086, 5483952, 4214513, 7522675, 1382737, 8097349, 2423268, 1978286,
5820434, 2985005, 1002240, 3252040, 5584283, 4027445, 3761478, 571563,
7926529, 5265675, 4705738, 1136608, 2087977, 4856723, 7896505, 2504130,
4175968, 5245926, 3848909, 3723902, 2181242, 6476735, 5922041, 2555482,
6087709, 1106974, 975919, 978505, 666303, 510879, 5043449, 4402981,
4204183, 6947226, 3519239, 7237093, 2533941, 1259684, 4897608, 2422013,
5398162, 3551190, 6378523, 1066751, 5216741, 6557683, 7171180, 7736022,
7762004, 7816398, 434930, 5685531, 7776512, 2136107, 4689096, 2604202,
981324, 6730872, 7113462, 4313227, 5315069, 2687514, 6464663, 6622027,
4919554, 3137828, 6662263, 180027, 1225049, 993103, 6035200, 4768729,
7594608, 7982166, 1506084, 1412996, 7294988, 6493396, 3679803, 707143,
5016089, 5893370, 7746168, 8284307, 2196442, 4506697, 5744441, 8155374,
2335696, 3358969, 4559736, 8378847, 7396599, 5613912, 5146767, 5609330,
7478110, 7007768, 1540167, 2082109, 4395136, 2443, 1730472, 6785605,
3689430, 7862069, 5994777, 2079150, 1569788, 3575961, 2449565, 7637802,
3223577, 7636917, 7014221, 3206599, 1033702, 2788915, 2962522, 5785994,
2935623, 8040165, 646639, 6994735, 1576929, 4976182, 1923760, 7349612,
7767222, 5695773, 2143434, 1957445, 6164911, 6325092, 3612819, 5415356,
6956649, 426840, 6748291, 3530533, 2487417, 7851363, 3671732, 7201581,
4717139, 4328822, 5046010, 6056773, 997476, 3549222, 1616322, 3335537,
2012692, 7475529, 2140630, 167787, 3791455, 3347958, 1263751, 2818658,
8280316, 4667491, 7207537, 6918648, 6602507, 1441518, 5135376, 1610367,
1016061, 6841480, 1841539, 2809077, 5412381, 1240493, 4442913, 2092171,
530239, 4308557, 3094305, 18124, 7247221, 5096652, 6892131, 3384856,
1435046, 3360331, 4908655, 1534384, 724138, 4632705, 7021901, 776577,
6462800, 658408, 6767742, 6323190, 163450, 3090558, 8264681, 6113406,
2256514, 2002774, 4157811, 1055743, 4272701, 50782, 506820, 2425609,
6121916, 7048118, 7211758, 7436523, 7921267, 8219231, 2113012, 5561555,
5402793, 6238877, 2785469, 6601179, 5379488, 8247469, 7039082, 8122949,
4032315, 7719142, 6412117, 1765474, 1423373, 3702073, 6814517, 4539579,
3714409, 3581714, 4818181, 4950204, 6549391, 6746510, 1332314, 6200219,
4026957, 4085009, 6474721, 6328096, 8097370, 821395, 4479068, 6408341,
1730278, 3865108, 131998, 3351400, 4527559, 4193606, 1952686, 3339484,
549242, 3890467, 3314638, 2970830, 7867854, 235273, 4948941, 3082658,
6487691, 6448908, 3822702, 5156099, 3762420, 359477, 1160634, 2545064,
2616573, 343964, 1277910, 8113538, 5564704, 6944366, 2663139, 2516714,
7942808, 5983628, 6727371, 7839582, 4671024, 5279277, 2488251, 5096610,
7584873, 1054559, 3389302, 5410955, 2700464, 7113783, 1182446, 681631,
7959149, 1325409, 3882231, 4559, 7653722, 2600940, 4354328, 6155200,
8125241, 629708, 1056841, 5566349, 6779032, 7067599, 5284661, 693330,
7111640, 6054764, 513663, 3702555, 3667331, 8053262, 3156410, 3207020,
6096921, 3226364, 425916, 1538990, 398369, 155207, 5962206, 3895624,
3506460, 4470299, 8132637, 7313282, 1829556, 3023684, 7819374, 258083,
4547318, 6274233, 4376026, 630321, 5354666, 3252030, 3347795, 5465400,
424523, 5150532, 4329513, 5096843, 2541091, 4590781, 5698802, 5642789,
6737542, 6616826, 6654175, 1804189, 2843875, 5019191, 2161010, 1581450,
7289320, 4525144, 2861293, 1184843, 6181826, 3408399, 6954125, 5897789,
899044, 983144, 996950, 2489509, 387143, 6743865, 6535741, 5316114,
2464958, 6452453, 6588356, 7749117, 3100483, 5451553, 6683005, 6153131,
2627493, 3750459, 6016367, 1854681, 5732487, 5756336, 8222984, 6286073,
4805023, 4851345, 5346259, 2571898, 7886466, 915166, 750162, 7786158,
3314583, 3691654, 8162728, 2964553, 934173, 2078087, 5894912, 103974,
2087696, 8074875, 5687948, 6220280, 5741269, 3408244, 5908533, 5524440,
405672, 2691224, 4107404, 1478212, 5069278, 1307718, 2701016, 5020579,
3281802, 173449, 7661012, 6737317, 2871182, 7099172, 8035102, 4259638,
676548, 1986555, 2711904, 72486, 1537417, 4903843, 6366739, 2767425,
4405806, 3939004, 6029482, 7042007, 7145803, 4423846, 5865280, 6985580,
4890457, 5525519, 3020926, 5286410, 2507470, 164000, 7418741, 3860720,
464246, 7532333, 2980645, 2208123, 1971493, 7819798, 4391480, 3562255,
1579560, 3499404, 3220123, 5084410, 2287245, 6505523, 7780056, 63470,
7361152, 6336292, 3791465, 1891129, 6121738, 6215206, 578317, 2487175,
2862407, 7213504, 175006, 850302, 4374314, 3335934, 5070337, 6404001,
6073674, 8339498, 2024643, 590809, 3871922, 7695009, 3420134, 2417242,
2441851, 510359, 6415975, 5966400, 1511640, 3278055, 7552659, 7251424,
299565, 4631182, 923500, 4565103, 1774136, 1514014, 504288, 7611114,
348434, 6179273, 6103289, 5512004, 6204874, 4163633, 4030619, 5442160,
5517078, 4979705, 1450139, 4955279, 6892996, 1378796, 7049658, 7482552,
2773460, 3700106, 5637962, 1306126, 1342831, 2876039, 2004802, 7911534,
7811881, 7092783, 2948733, 3985770, 4334975, 2089910, 4202878, 5889243,
2572806, 7276150, 3116397, 4610309, 4197207, 4524762, 3158380, 712800,
7767402, 2288328, 3468435, 4486610, 3258256, 4642983, 4397184, 3897150,
3551813, 5337205, 7602723, 882125, 4202004, 8272524, 4429435, 2663261,
1849803, 4271342, 947283, 5290695, 2673376, 7191822, 2383684, 5913757,
1682056, 4777883, 695434, 2390033, 5758581, 3482483, 6148624, 4372212,
1400527, 3325425, 3100142, 7502466, 6912369, 6564003, 187779, 6691298,
1850484, 1886083, 496958, 4353128, 6385269, 7972087, 3249950, 1216051,
2945392, 1716654, 974864, 2073675, 4221586, 3197564, 5970107, 2900682,
1387771, 1054897, 5018658, 4773826, 2772495, 3056563, 3437397, 1151634,
3999643, 4238788, 2370183, 7770204, 2300657, 4762800, 4526771, 4778855,
6276244, 2113067, 4081453, 4596532, 896126, 1589159, 5012357, 1884715,
3849142, 1866468, 1032092, 4847686, 5661618, 424095, 6396824, 6683872,
1861112, 2415218, 7008299, 7999725, 61635, 7831813, 1934052, 1635771,
5857904, 3890446, 3661009, 4427825, 1472600, 2675631, 3142762, 2889031,
6246428, 3402870, 890885, 300722, 6084442, 6218398, 6764876, 198422,
5203148, 1220540, 3348691, 7973167, 1045857, 5930282, 7686549, 4965437,
2645402, 3029580, 1825802, 4844838, 5808305, 3553948, 2913430, 4640069,
3231039, 5061776, 3388089, 5793791, 5210767, 6179591, 3259669, 208882,
7981542, 8176212, 8044267, 4362411, 8164807, 3882310, 4575856, 1654989,
2265125, 4993003, 1845358, 876204, 4604356, 6572234, 3709582, 2495322,
7769694, 925160, 5211127, 3071339, 8271814, 1715113, 5979772, 8317560,
2452182, 4560530, 2756321, 7541123, 2085235, 2131014, 7043807, 945796,
1043611, 2220162, 1519639, 1881321, 4596482, 136652, 8225264, 4442429,
3140394, 4274467, 2235364, 3403641, 181254, 2256107, 5402447, 274444,
2450384, 774651, 1007857, 488393, 7305342, 8006923, 6213033, 6045031,
7357074, 3686418, 2069641, 4827274, 6134510, 8182850, 6622239, 4957796,
5001496, 2676491, 2165891, 4258696, 1805202, 5978874, 5892091, 3081817,
8351892, 2919790, 6813596, 1226235, 7874664, 1597662, 445691, 7699844,
517985, 5142533, 583275, 2942212, 2005170, 2781492, 5325095, 5840485,
5904531, 1652696, 462001, 488382, 1483208, 3583371, 3903552, 4338246,
8102054, 4607027, 3097235, 5461223, 878707, 5641705, 3004044, 6269117,
8310809, 1068150, 3754674, 7419023, 2389012, 2672920, 7033357, 3299934,
5696831, 8333890, 6870124, 4248890, 7451238, 2996873, 969409, 4748469,
6761147, 7334152, 4608897, 6381766, 593469, 5060352, 7663929, 3490012,
5639842, 804562, 3554683, 1275119, 2464713, 584123, 1282802, 869246,
1698712, 460380, 2270294, 1082297, 5755881, 4164200, 3083595, 7232256,
6669791, 5297513, 7888160, 305159, 4943995, 4839451, 4607217, 4607189,
4027370, 6773057, 2930951, 7228212, 4930292, 5787132, 6979166, 3679768,
2488882, 7434774, 6751191, 4901863, 601751, 3772392, 4470584, 3139313,
2581011, 5344571, 2578160, 126930, 4080823, 5594812, 3191131, 2170321,
4703512, 3837804, 7417071, 2996858, 6019670, 5239573, 1770901, 7113857,
5965467, 8008016, 192380, 7790747, 867783, 2310931, 477474, 723267,
2025346, 7474446, 1992778, 5665730, 5375937, 1925098, 1772156, 7957977,
7842750, 4780661, 1703317, 4165961, 5256458, 4850569, 4937646, 1616991,
8229940, 128563, 1160620, 5109082, 4794032, 4890146, 4147576, 7912097,
927266, 450684, 7302719, 2598976, 5529718, 1041149, 4841395, 6276135,
7825395, 7621671, 6329777, 1955851, 6040427, 1035300, 2855476, 3258870,
3396861, 5274746, 2777694, 3359337, 4493563, 561924, 7215951, 2907115,
4547697, 5403413, 7025806, 2453538, 4137455, 971005, 4298903, 1271923,
7150549, 2833306, 8021667, 7587207, 833119, 2919663, 5306176, 659188,
4708953, 3799478, 5584025, 7305039, 5709959, 3562365, 965949, 15873
};
public static final int[] ZETA_INVERSE_III_SPEED = { /* 1024-Entry */
7439044, 4842628, 2695034, 1099954, 2820968, 4605515, 3696040, 7745805,
3098817, 5485330, 7571874, 817786, 383326, 5571687, 1254444, 7133070,
4106090, 7433988, 4267538, 5951455, 1379187, 3001580, 3857296, 5497878,
1189042, 7843069, 3911430, 5045656, 5627299, 3130247, 5008132, 5146123,
5549517, 7369693, 2364566, 6449142, 2075216, 783322, 579598, 2128858,
3563598, 7363844, 2875275, 5806017, 1102274, 7954309, 7477727, 492896,
4257417, 3514847, 3610961, 3295911, 7244373, 8276430, 175053, 6788002,
3467347, 3554424, 3148535, 4239032, 6701676, 3624332, 562243, 447016,
6632837, 6479895, 3029056, 2739263, 6412215, 930547, 6379647, 7681726,
7927519, 6094062, 7537210, 614246, 8212613, 396977, 2439526, 1291136,
6634092, 3165420, 2385323, 5408135, 987922, 4567189, 3701481, 6234672,
5213862, 2810181, 4324170, 8278063, 5826833, 3060422, 5823982, 5265680,
3934409, 4632601, 7803242, 3503130, 1653802, 970219, 5916111, 4725225,
1425827, 2617861, 3474701, 1176781, 5474042, 1631936, 4377623, 3797804,
3797776, 3565542, 3460998, 8099834, 516833, 3107480, 1735202, 1172737,
5321398, 4240793, 2649112, 7322696, 6134699, 7944613, 6706281, 7535747,
7122191, 7820870, 5940280, 7129874, 4850310, 7600431, 2765151, 4914981,
741064, 3344641, 7811524, 2023227, 3796096, 1070841, 1643846, 3656524,
7435584, 5408120, 953755, 4156103, 1534869, 71103, 2708162, 5105059,
1371636, 5732073, 6015981, 985970, 4650319, 7336843, 94184, 2135876,
5400949, 2763288, 7526286, 2943770, 5307758, 3797966, 302939, 4066747,
4501441, 4821622, 6921785, 7916611, 7942992, 6752297, 2500462, 2564508,
3079898, 5623501, 6399823, 5462781, 7821718, 3262460, 7887008, 705149,
7959302, 6807331, 530329, 7178758, 1591397, 5485203, 53101, 5323176,
2512902, 2426119, 6599791, 4146297, 6239102, 5728502, 3403497, 3447197,
1782754, 222143, 2270483, 3577719, 6335352, 4718575, 1047919, 2359962,
2191960, 398070, 1099651, 7916600, 7397136, 7630342, 5954609, 8130549,
3002546, 6148886, 8223739, 5001352, 6169629, 4130526, 5264599, 3962564,
179729, 8268341, 3808511, 6523672, 6885354, 6184831, 7361382, 7459197,
1361186, 6273979, 6319758, 863870, 5648672, 3844463, 5952811, 87433,
2425221, 6689880, 133179, 5333654, 3193866, 7479833, 635299, 5909671,
4695411, 1832759, 3800637, 7528789, 6559635, 3411990, 6139868, 6750004,
3829137, 4522683, 240186, 4042582, 360726, 228781, 423451, 8196111,
5145324, 2225402, 3194226, 2611202, 5016904, 3343217, 5173954, 3764924,
5491563, 4851045, 2596688, 3560155, 6579191, 5375413, 5759591, 3439556,
718444, 2474711, 7359136, 431826, 5056302, 7184453, 3201845, 8206571,
1640117, 2186595, 2320551, 8104271, 7514108, 5002123, 2158565, 5515962,
5262231, 5729362, 6932393, 3977168, 4743984, 4514547, 2547089, 6769222,
6470941, 573180, 8343358, 405268, 1396694, 5989775, 6543881, 1721121,
2008169, 7980898, 2743375, 3557307, 7372901, 6538525, 4555851, 6520278,
3392636, 6815834, 7508867, 3808461, 4323540, 6291926, 2128749, 3626138,
3878222, 3642193, 6104336, 634789, 6034810, 4166205, 4405350, 7253359,
4967596, 5348430, 5632498, 3631167, 3386335, 7350096, 7017222, 5504311,
2434886, 5207429, 4183407, 6331318, 7430129, 6688339, 5459601, 7188942,
5155043, 432906, 2019724, 4051865, 7908035, 6518910, 6554509, 1713695,
8217214, 1840990, 1492624, 902527, 5304851, 5079568, 7004466, 4032781,
2256369, 4922510, 2646412, 6014960, 7709559, 3627110, 6722937, 2491236,
6021309, 1213171, 5731617, 3114298, 7457710, 4133651, 6555190, 5741732,
3975558, 132469, 4202989, 7522868, 802270, 3067788, 4853180, 4507843,
4007809, 3762010, 5146737, 3918383, 4936558, 6116665, 637591, 7692193,
5246613, 3880231, 4207786, 3794684, 5288596, 1128843, 5832187, 2515750,
4202115, 6315083, 4070018, 4419223, 5456260, 1312210, 593112, 493459,
6400191, 5528954, 7062162, 7098867, 2767031, 4704887, 5631533, 922441,
1355335, 7026197, 1511997, 3449714, 6954854, 3425288, 2887915, 2962833,
4374374, 4241360, 2200119, 2892989, 2301704, 2225720, 8056559, 793879,
7900705, 6890979, 6630857, 3839890, 7481493, 3773811, 8105428, 1153569,
852334, 5126938, 6893353, 2438593, 1989018, 7894634, 5963142, 5987751,
4984859, 709984, 4533071, 7814184, 6380350, 65495, 2331319, 2000992,
3334656, 5069059, 4030679, 7554691, 8229987, 1191489, 5542586, 5917818,
7826676, 2189787, 2283255, 6513864, 4613528, 2068701, 1043841, 8341523,
624937, 1899470, 6117748, 3320583, 5184870, 4905589, 6825433, 4842738,
4013513, 585195, 6433500, 6196870, 5424348, 872660, 7940747, 4544273,
986252, 8240993, 5897523, 3118583, 5384067, 2879474, 3514536, 1419413,
2539713, 3981147, 1259190, 1362986, 2375511, 4465989, 3999187, 5637568,
2038254, 3501150, 6867576, 8332507, 5693089, 6418438, 7728445, 4145355,
369891, 1305821, 5533811, 1667676, 743981, 8231544, 5123191, 3384414,
5703977, 7097275, 3335715, 6926781, 4297589, 5713769, 7999321, 2880553,
2496460, 4996749, 2663724, 2184713, 2717045, 330118, 6317297, 8301019,
2510081, 6326906, 7470820, 5440440, 242265, 4713339, 5090410, 618835,
7654831, 7489827, 518527, 5833095, 3058734, 3553648, 3599970, 2118920,
182009, 2648657, 2672506, 6550312, 2388626, 4654534, 5777500, 2251862,
1721988, 2953440, 5304510, 655876, 1816637, 1952540, 5940035, 3088879,
1869252, 1661128, 8017850, 5915484, 7408043, 7421849, 7505949, 2507204,
1450868, 4996594, 2223167, 7220150, 5543700, 3879849, 1115673, 6823543,
6243983, 3385802, 5561118, 6600804, 1750818, 1788167, 1667451, 2762204,
2706191, 3814212, 5863902, 3308150, 4075480, 3254461, 7980470, 2939593,
5057198, 5152963, 3050327, 7774672, 4028967, 2130760, 3857675, 8146910,
585619, 5381309, 6575437, 1091711, 272356, 3934694, 4898533, 4509369,
2442787, 8249786, 8006624, 6866003, 7979077, 5178629, 2308072, 5197973,
5248583, 351731, 4737662, 4702438, 7891330, 2350229, 1293353, 7711663,
3120332, 1337394, 1625961, 2838644, 7348152, 7775285, 279752, 2249793,
4050665, 5804053, 751271, 8400434, 4522762, 7079584, 445844, 7723362,
7222547, 1291210, 5704529, 2994038, 5015691, 7350434, 820120, 3308383,
5916742, 3125716, 3733969, 565411, 1677622, 2421365, 462185, 5888279,
5741854, 1460627, 2840289, 291455, 7127083, 8061029, 5788420, 5859929,
7244359, 8045516, 4642573, 3248894, 4582291, 1956085, 1917302, 5322335,
3456052, 8169720, 537139, 5434163, 5090355, 4514526, 7855751, 5065509,
6452307, 4211387, 3877434, 5053593, 8272995, 4539885, 6674715, 1996652,
3925925, 7583598, 307623, 2076897, 1930272, 4319984, 4378036, 2204774,
7072679, 1658483, 1855602, 3454789, 3586812, 4823279, 4690584, 3865414,
1590476, 4702920, 6981620, 6639519, 1992876, 685851, 4372678, 282044,
1365911, 157524, 3025505, 1803814, 5619524, 2166116, 3002200, 2843438,
6291981, 185762, 483726, 968470, 1193235, 1356875, 2283077, 5979384,
7898173, 8354211, 4132292, 7349250, 4247182, 6402219, 6148479, 2291587,
140312, 5314435, 8241543, 2081803, 1637251, 7746585, 1942193, 7628416,
1383092, 3772288, 7680855, 6870609, 3496338, 5044662, 6969947, 5020137,
1512862, 3308341, 1157772, 8386869, 5310688, 4096436, 7874754, 6312822,
3962080, 7164500, 2992612, 5595916, 6563454, 1563513, 7388932, 6794626,
3269617, 6963475, 1802486, 1486345, 1197456, 3737502, 124677, 5586335,
7141242, 5057035, 4613538, 8237206, 6264363, 929464, 6392301, 5069456,
6788671, 4855771, 7407517, 2348220, 3358983, 4076171, 3687854, 1203412,
4733261, 553630, 5917576, 4874460, 1656702, 7978153, 1448344, 2989637,
4792174, 2079901, 2240082, 6447548, 6261559, 2709220, 637771, 1055381,
6481233, 3428811, 6828064, 1410258, 7758354, 364828, 5469370, 2618999,
5442471, 5616078, 7371291, 5198394, 1390772, 768076, 5181416, 767191,
5955428, 4829032, 6835205, 6325843, 2410216, 542924, 4715563, 1619388,
6674521, 8402550, 4009857, 6322884, 6864826, 1397225, 926883, 2795663,
3258226, 2791081, 1008394, 26146, 3845257, 5046024, 6069297, 249619,
2660552, 3898296, 6208551, 120686, 658825, 2511623, 3388904, 7697850,
4725190, 1911597, 1110005, 6991997, 6898909, 422827, 810385, 3636264,
2369793, 7411890, 7179944, 8224966, 1742730, 5267165, 3485439, 1782966,
1940330, 5717479, 3089924, 4091766, 1291531, 1674121, 7423669, 5800791,
3715897, 6268886, 628481, 2719462, 7970063, 588595, 642989, 668971,
1233813, 1847310, 3188252, 7338242, 2026470, 4853803, 3006831, 5982980,
3507385, 7145309, 5871052, 1167900, 4885754, 1457767, 4200810, 4002012,
3361544, 7894114, 7738690, 7426488, 7429074, 7298019, 2317284, 5849511,
2482952, 1928258, 6223751, 4681091, 4556084, 3159067, 4229025, 5900863,
508488, 3548270, 6317016, 7268385, 3699255, 3139318, 478464, 7833430,
4643515, 4377548, 2820710, 5152953, 7402753, 5419988, 2584559, 6426707,
5981725, 307644, 7022256, 882318, 4190480, 2921041, 7894907, 2513805,
4821759, 159644, 7424415, 3696649, 849279, 7569589, 7991564, 4614738,
7439691, 4707734, 5155900, 3761722, 4759464, 5288239, 3681574, 2084045,
4283038, 2252171, 8189868, 2268168, 1893902, 2393616, 7864299, 7972972,
1203290, 5106315, 3153004, 8308709, 5277916, 2680015, 6287425, 5487539,
2013603, 6354308, 4938809, 3620799, 6181358, 6673564, 3862763, 3214872,
1976439, 2138237, 2443208, 3186567, 5514086, 518931, 2784062, 8246999,
4568858, 7328913, 1956312, 5165381, 3679485, 3649776, 707318, 6275329,
3376145, 173272, 2399134, 6269985, 4201138, 4609144, 3653638, 8389120
};
}