INTERFACEThis module exports a single polynomial P and associated tables for arithmetic MOD P.PolyBasis ;
IMPORT Poly; TYPE X = Poly.T; T = ARRAY [0..255] OF X; CONST P = X { 116277429, 431580288 }; (* an irreducible degree 61 polynomial * X^3 *) CONST MIN_INT = FIRST (Poly.Int32); CONST poly64 = T{ (* poly64[i] = i(x)*x^64 MOD P *) X{ 0, 0 }, X{ 36728807, 152935311 }, X{ 73457614, 305870622 }, X{ 105951273, 455519377 }, X{ 85802743, 386180924 }, X{ 120410384, 504970419 }, X{ 25026873, 88051746 }, X{ 55414494, 203557805 }, X{ 132578437, 494634872 }, X{ 97948514, 342236407 }, X{ 59122507, 255897702 }, X{ 28724396, 106769385 }, X{ 50053746, 176103492 }, X{ 13348245, 56802251 }, X{ 110828988, 407115610 }, X{ 78344795, 291081429 }, X{ 34699361, 159762416 }, X{ 2168710, 9985151 }, X{ 108111791, 465498350 }, X{ 71419976, 312699745 }, X{ 118245014, 511795404 }, X{ 87828849, 396163907 }, X{ 57448792, 213538770 }, X{ 22869695, 94882909 }, X{ 100107492, 352206984 }, X{ 130542339, 501472007 }, X{ 26696490, 113604502 }, X{ 61289677, 265874457 }, X{ 15383059, 66774964 }, X{ 47896052, 182942779 }, X{ 76178909, 297914538 }, X{ 112855610, 417090341 }, X{ 69398722, 319524832 }, X{ 101883685, 437654639 }, X{ 4337420, 19970302 }, X{ 41042155, 137175921 }, X{ 20958773, 68102364 }, X{ 51356114, 219329363 }, X{ 90116603, 372514754 }, X{ 124747292, 522814541 }, X{ 63179847, 242223256 }, X{ 32793504, 124621591 }, X{ 128242569, 474693510 }, X{ 93633646, 357999625 }, X{ 114897584, 427077540 }, X{ 82402647, 275330091 }, X{ 45739390, 189765818 }, X{ 9011865, 38929205 }, X{ 104040611, 445532176 }, X{ 67364676, 328455071 }, X{ 39016301, 146112270 }, X{ 6502538, 27845761 }, X{ 53392980, 227209004 }, X{ 18799027, 77034659 }, X{ 122579354, 531748914 }, X{ 92145277, 380388285 }, X{ 30766118, 133549928 }, X{ 65346497, 250107111 }, X{ 95792104, 365885558 }, X{ 126206991, 483615737 }, X{ 80235217, 284256340 }, X{ 116925750, 434959323 }, X{ 11048223, 46817098 }, X{ 43580152, 198689989 }, X{ 93937903, 358995648 }, X{ 128519944, 477646159 }, X{ 33144609, 123658718 }, X{ 63557830, 239303249 }, X{ 8674840, 39940604 }, X{ 45363711, 192735859 }, X{ 82084310, 274351842 }, X{ 114617905, 424140141 }, X{ 41917546, 136204728 }, X{ 5239693, 17025591 }, X{ 102712228, 438658726 }, X{ 70200387, 322501929 }, X{ 123904669, 521860740 }, X{ 89312634, 369585419 }, X{ 50494803, 220316058 }, X{ 20058804, 71064085 }, X{ 126359694, 484446512 }, X{ 95975273, 368937663 }, X{ 65587008, 249243182 }, X{ 30976167, 130465185 }, X{ 43329145, 199538188 }, X{ 10832286, 49884547 }, X{ 116783543, 434077970 }, X{ 80057936, 281156253 }, X{ 7267339, 26973768 }, X{ 39750636, 143003079 }, X{ 68041669, 329294166 }, X{ 104748066, 448608985 }, X{ 91478780, 379531636 }, X{ 121877787, 528657147 }, X{ 18023730, 77858410 }, X{ 52652757, 230268389 }, X{ 29069357, 107895072 }, X{ 59506634, 259244719 }, X{ 98258915, 341143102 }, X{ 132849668, 491320753 }, X{ 78032602, 292224540 }, X{ 110543165, 410477971 }, X{ 13005076, 55691522 }, X{ 49684211, 172774029 }, X{ 106785960, 454418008 }, X{ 74253135, 302532055 }, X{ 37598054, 154069318 }, X{ 908417, 3371721 }, X{ 54547039, 202471780 }, X{ 24133048, 84730603 }, X{ 119573905, 506089082 }, X{ 84992630, 389535221 }, X{ 61532236, 267099856 }, X{ 26904491, 116786527 }, X{ 130692994, 500214222 }, X{ 100292709, 348992065 }, X{ 112711355, 418331116 }, X{ 76003676, 301113955 }, X{ 47647093, 181669618 }, X{ 15165074, 63542653 }, X{ 72094921, 311433640 }, X{ 108821294, 462258727 }, X{ 2935559, 11218614 }, X{ 35431648, 162968889 }, X{ 22096446, 93634196 }, X{ 56706521, 210314523 }, X{ 87160304, 397379978 }, X{ 117545495, 514986501 }, X{ 116277429, 431580288 }, X{ 81669970, 279248655 }, X{ 42901371, 193090462 }, X{ 12513436, 44025873 }, X{ 66289218, 247317436 }, X{ 29561253, 127948851 }, X{ 127115660, 478606498 }, X{ 94621291, 362508077 }, X{ 17349680, 79881208 }, X{ 54055895, 232749175 }, X{ 90727422, 385471718 }, X{ 123210777, 535056233 }, X{ 68518599, 331760836 }, X{ 103148832, 450617163 }, X{ 7691529, 33387482 }, X{ 38089454, 148957269 }, X{ 83835092, 272409456 }, X{ 114251571, 421607679 }, X{ 10479386, 34051182 }, X{ 45058301, 186257377 }, X{ 31589923, 121111628 }, X{ 64121284, 237346755 }, X{ 92461549, 352531282 }, X{ 129152522, 471771357 }, X{ 52020305, 222766088 }, X{ 19508150, 73056135 }, X{ 125377439, 528225046 }, X{ 88700024, 375490713 }, X{ 100989606, 440632116 }, X{ 70554945, 324933819 }, X{ 40117608, 142128170 }, X{ 5524111, 23408549 }, X{ 46968951, 179497824 }, X{ 16572304, 61829359 }, X{ 111964089, 411688062 }, X{ 77332574, 294930417 }, X{ 131174016, 498486364 }, X{ 98689383, 346806227 }, X{ 61952334, 260930370 }, X{ 25247401, 110158029 }, X{ 86658290, 399076376 }, X{ 119153429, 517273495 }, X{ 21664572, 99769094 }, X{ 58391771, 217038985 }, X{ 3633669, 13486884 }, X{ 34020834, 164647083 }, X{ 72854987, 318176314 }, X{ 107463212, 468412341 }, X{ 14534678, 53947536 }, X{ 49129457, 170571551 }, X{ 79501272, 286006158 }, X{ 109934655, 403800065 }, X{ 96532193, 338922412 }, X{ 133208326, 489558051 }, X{ 27273519, 101235890 }, X{ 59786952, 253044541 }, X{ 121320595, 508341224 }, X{ 84630388, 391196775 }, X{ 56355677, 209165558 }, X{ 23823546, 90834809 }, X{ 36047460, 155716820 }, X{ 1467779, 5609307 }, X{ 105305514, 460536778 }, X{ 74889805, 309239877 }, X{ 58138714, 215790144 }, X{ 21450685, 96545231 }, X{ 119013268, 518489438 }, X{ 86478963, 402267857 }, X{ 107617965, 467146108 }, X{ 73036106, 314937075 }, X{ 34259299, 165880418 }, X{ 3845764, 16693741 }, X{ 76668127, 296170808 }, X{ 111260472, 414887607 }, X{ 15794961, 60555814 }, X{ 46230774, 176265641 }, X{ 26010152, 111383044 }, X{ 62688719, 264112523 }, X{ 99368422, 345548058 }, X{ 131879425, 495271573 }, X{ 23484475, 89748912 }, X{ 55982044, 205844031 }, X{ 84314101, 392315566 }, X{ 121038866, 511695137 }, X{ 75196108, 308138636 }, X{ 105580843, 457197827 }, X{ 1816834, 6743442 }, X{ 36427493, 159088157 }, X{ 109094078, 404943560 }, X{ 78695257, 289368391 }, X{ 48266096, 169461206 }, X{ 13636759, 50617945 }, X{ 60660297, 254170612 }, X{ 28177838, 104582779 }, X{ 134038919, 488465130 }, X{ 97331808, 335608165 }, X{ 123064472, 534199712 }, X{ 90554239, 382379567 }, X{ 53808982, 233573054 }, X{ 17129649, 82940209 }, X{ 38334063, 148085404 }, X{ 7897480, 30277907 }, X{ 103297441, 451456386 }, X{ 68705862, 334837261 }, X{ 11742237, 44874456 }, X{ 42157050, 196157783 }, X{ 80999379, 278367686 }, X{ 115579956, 428480073 }, X{ 95294186, 363339236 }, X{ 127827213, 481658475 }, X{ 30330148, 127085306 }, X{ 67019459, 244232565 }, X{ 88385785, 374536784 }, X{ 125093662, 525296095 }, X{ 19167031, 74042702 }, X{ 51648720, 225728193 }, X{ 5871118, 22437228 }, X{ 40499689, 139183843 }, X{ 70863296, 325937778 }, X{ 101262887, 443609597 }, X{ 44192892, 187268392 }, X{ 9583515, 37021351 }, X{ 113413042, 420629046 }, X{ 83027029, 269472185 }, X{ 129985163, 472766996 }, X{ 93259116, 355484059 }, X{ 64992581, 236383498 }, X{ 32496290, 118191749} }; CONST poly72 = T{ (* poly72[i] = i(x)*x^72 MOD P *) X{ 0, 0 }, X{ -1961202135, 335293334 }, X{ 468213049, 344628781 }, X{ -1863175408, 125220283 }, X{ 973880089, 443020634 }, X{ -1323936464, 161210060 }, X{ 568616480, 250440567 }, X{ -1426192375, 487669985 }, X{ 2042951513, 129835956 }, X{ -220292752, 339806242 }, X{ 1647094368, 322420121 }, X{ -382286775, 13342223 }, X{ 1137232960, 500881134 }, X{ -925719959, 237436280 }, X{ 1478529401, 156256451 }, X{ -751108272, 447505237 }, X{ -209064270, 259671912 }, X{ 2022932635, 478571774 }, X{ -396250229, 468769093 }, X{ 1669062050, 135066323 }, X{ -913975893, 354267698 }, X{ 1117764482, 115448228 }, X{ -764573550, 26684447 }, X{ 1501030075, 309004169 }, X{ -1974658581, 147285212 }, X{ 22509506, 456871754 }, X{ -1851439918, 474872561 }, X{ 448735995, 263311719 }, X{ -1337908494, 312512902 }, X{ 995839195, 22854160 }, X{ -1414955061, 103419819 }, X{ 548606434, 366355517 }, X{ -418128540, 519343825 }, X{ 1812575053, 218670407 }, X{ -50626467, 176034044 }, X{ 2011295348, 427965290 }, X{ -585111939, 76774283 }, X{ 1443203156, 393170973 }, X{ -956843196, 270132646 }, X{ 1307432301, 65392176 }, X{ -1630066115, 424258917 }, X{ 365773844, 179668723 }, X{ -2059438332, 230896456 }, X{ 237312301, 507451614 }, X{ -1529147100, 53368895 }, X{ 801210125, 282227625 }, X{ -1087157219, 396674578 }, X{ 875110964, 72936836 }, X{ 345650134, 294570425 }, X{ -1618977281, 41083439 }, X{ 259157743, 84170644 }, X{ -2073558842, 385383426 }, X{ 781584591, 199834851 }, X{ -1517525274, 404035445 }, X{ 897471990, 526623438 }, X{ -1100727329, 211781976 }, X{ 1834927247, 372501005 }, X{ -431707482, 97501595 }, X{ 1991678390, 45708320 }, X{ -38996065, 289759158 }, X{ 1465057174, 206839639 }, X{ -599223873, 531117249 }, X{ 1287299759, 417235322 }, X{ -945763194, 186821356 }, X{ -1006945373, 245093539 }, X{ 1222727050, 493354805 }, X{ -669817190, 437340814 }, X{ 1393100979, 166551832 }, X{ -101252934, 352068089 }, X{ 1928162963, 117443183 }, X{ -501260925, 7782356 }, X{ 1761948586, 327849026 }, X{ -1170223878, 153548567 }, X{ 824550099, 450550913 }, X{ -1579707965, 497838394 }, X{ 718143466, 240140972 }, X{ -2144077853, 323027533 }, X{ 187275722, 12397019 }, X{ -1680102694, 130784352 }, X{ 281134323, 339195894 }, X{ 812832017, 31560651 }, X{ -1150764232, 303937629 }, X{ 731547688, 359337446 }, X{ -1602165247, 110569072 }, X{ 176090632, 461792913 }, X{ -2124120031, 142232839 }, X{ 295088945, 252508348 }, X{ -1702044392, 485544746 }, X{ 1236673096, 106737791 }, X{ -1028895647, 362847209 }, X{ 1381924721, 316026450 }, X{ -649850536, 19531204 }, X{ 1941576017, 473646373 }, X{ -123701384, 264728243 }, X{ 1750221928, 145873672 }, X{ -481809855, 458092702 }, X{ 619243207, 275733106 }, X{ -1343059730, 59994596 }, X{ 1057012734, 82166879 }, X{ -1273309737, 387575753 }, X{ 518315486, 168341288 }, X{ -1778469897, 435455166 }, X{ 84705511, 511848709 }, X{ -1911099698, 226368147 }, X{ 1563169182, 399669702 }, X{ -701071433, 70144592 }, X{ 1187269799, 56158187 }, X{ -841080178, 279235709 }, X{ 1730161287, 230001820 }, X{ -331725650, 508143370 }, X{ 2093512638, 423563953 }, X{ -137225833, 180566311 }, X{ -681506699, 521477402 }, X{ 1551591004, 216610444 }, X{ -863414964, 195003191 }, X{ 1200831333, 409184417 }, X{ -311610516, 91416640 }, X{ 1719098693, 378454998 }, X{ -159027627, 301495917 }, X{ 2107572348, 33840635 }, X{ -1364852948, 413679278 }, X{ 633311493, 190059832 }, X{ -1253203435, 203595907 }, X{ 1045941308, 534678293 }, X{ -1800813515, 47172596 }, X{ 531868188, 288612450 }, X{ -1891526388, 373642713 }, X{ 73135909, 96042575 }, X{ -2013890746, 490187079 }, X{ 216799599, 248218321 }, X{ -1675744641, 163395434 }, X{ 386155606, 440474876 }, X{ -1107669921, 122706973 }, X{ 920658550, 346847115 }, X{ -1508765338, 333103664 }, X{ 755531599, 2550182 }, X{ -30244833, 445287155 }, X{ 1965616694, 158769509 }, X{ -438641370, 234886366 }, X{ 1858122511, 503070536 }, X{ -1002521850, 15564713 }, X{ 1327813935, 319902783 }, X{ -539564481, 342352260 }, X{ 1422690326, 127650322 }, X{ 1954519540, 307097135 }, X{ -10094627, 28427705 }, X{ 1872217293, 113733634 }, X{ -460477724, 356211604 }, X{ 1316201197, 136977269 }, X{ -982922044, 467022051 }, X{ 1436286932, 480281944 }, X{ -561933827, 257732302 }, X{ 230387373, 368102811 }, X{ -2036268924, 101508621 }, X{ 374551444, 24794038 }, X{ -1656136259, 310802464 }, X{ 934761908, 261568705 }, X{ -1129497699, 476779351 }, X{ 744425613, 454928108 }, X{ -1488623964, 148999546 }, X{ 1625664034, 63121302 }, X{ -335559669, 272567296 }, X{ 2064512795, 390707643 }, X{ -266888910, 79008301 }, X{ 1525256507, 430232268 }, X{ -772538606, 173603162 }, X{ 1090636802, 221138145 }, X{ -904158677, 517105527 }, X{ 421617019, 75367458 }, X{ -1841613998, 394407860 }, X{ 46727234, 284465679 }, X{ -1982632341, 50901401 }, X{ 590177890, 505016696 }, X{ -1472788405, 233167598 }, X{ 952449883, 177434453 }, X{ -1277209230, 426722499 }, X{ -1821621104, 213475582 }, X{ 410397369, 524634984 }, X{ -2004608599, 406060755 }, X{ 60716928, 198169925 }, X{ -1453293687, 383686052 }, X{ 578425248, 86162994 }, X{ -1299701072, 39062409 }, X{ 965889177, 296230943 }, X{ -358042679, 184828746 }, X{ 1639112160, 418932956 }, X{ -247402768, 529456487 }, X{ 2052751577, 208860913 }, X{ -794523440, 291747344 }, X{ 1539237625, 44014982 }, X{ -884156951, 99166269 }, X{ 1079425984, 370475947 }, X{ 1141722341, 330071524 }, X{ -820567348, 5265010 }, X{ 1608847836, 119989193 }, X{ -721453067, 349882463 }, X{ 2114025468, 164333758 }, X{ -182773291, 439853864 }, X{ 1709779653, 490804883 }, X{ -286046996, 247282949 }, X{ 1036630972, 336682576 }, X{ -1227631211, 133002694 }, X{ 639755909, 10207357 }, X{ -1388607316, 325577707 }, X{ 130384037, 242658058 }, X{ -1931481460, 495616156 }, X{ 472767900, 452736295 }, X{ -1757957195, 151002801 }, X{ -1216044457, 483801740 }, X{ 1017039998, 254415130 }, X{ -1402142866, 140289185 }, X{ 662081863, 463507255 }, X{ -1920427698, 112316374 }, X{ 110294887, 357426240 }, X{ -1772043145, 305877499 }, X{ 494578270, 29850221 }, X{ -834644722, 460003640 }, X{ 1163541287, 144126638 }, X{ -710408137, 266438421 }, X{ 1588749854, 471706755 }, X{ -196317673, 17624162 }, X{ 2136342590, 317769716 }, X{ -274451666, 361132623 }, X{ 1690197255, 108681689 }, X{ -1558277759, 223933237 }, X{ 671416232, 514119843 }, X{ -1191785288, 433220888 }, X{ 871146129, 170804878 }, X{ -1726829928, 390006383 }, X{ 302564529, 79900153 }, X{ -2097481823, 62232642 }, X{ 165714312, 273265620 }, X{ -623221032, 182833281 }, X{ 1371539697, 421133079 }, X{ -1053672479, 510611116 }, X{ 1244157384, 227763514 }, X{ -522822207, 276964827 }, X{ 1808544744, 58592845 }, X{ -79822600, 67681270 }, X{ 1881435857, 401903712 }, X{ 1352105779, 35828829 }, X{ -611512038, 299802571 }, X{ 1266622986, 380119664 }, X{ -1067103197, 89391590 }, X{ 1788560426, 407191815 }, X{ -511628797, 196700817 }, X{ 1903368467, 214949674 }, X{ -93751494, 523498684 }, X{ 693340266, 94345193 }, X{ -1572215229, 375635071 }, X{ 851170643, 286591428 }, X{ -1180583046, 48833106 }, X{ 325038963, 536371891 }, X{ -1740251814, 201607461 }, X{ 146271818, 192085150 }, X{ -2085781405, 412014344} }; CONST poly80 = T{ (* poly80[i] = i(x)*x^80 MOD P *) X{ 0, 0 }, X{ -1753253426, 125726524 }, X{ 788460444, 251453049 }, X{ -1182692782, 159560005 }, X{ 1576920888, 502906098 }, X{ -897409290, 445109198 }, X{ 1929581732, 319120011 }, X{ -461607574, 343608759 }, X{ -1238937829, 142717156 }, X{ 559429333, 268427224 }, X{ -1730560889, 108883613 }, X{ 262587721, 16974241 }, X{ -337991645, 360188950 }, X{ 2091241965, 302408490 }, X{ -987472961, 461689455 }, X{ 1381704305, 486194515 }, X{ 1817091638, 285434313 }, X{ -80615432, 377294581 }, X{ 1118858666, 536854448 }, X{ -707849116, 411160716 }, X{ 833845518, 217767227 }, X{ -1496579904, 193245703 }, X{ 525175442, 33948482 }, X{ -2009926820, 91778174 }, X{ -630599379, 428003629 }, X{ 1293330659, 519880209 }, X{ -191421775, 394137428 }, X{ 1676172159, 268460136 }, X{ -2020329963, 75197919 }, X{ 283856859, 50660067 }, X{ -1452620407, 176665510 }, X{ 1041611847, 234478746 }, X{ -717112057, 292817554 }, X{ 1111409865, 369780142 }, X{ -71348581, 529061099 }, X{ 1824536405, 418823127 }, X{ -2000922049, 210613856 }, X{ 532882417, 200530268 }, X{ -1505580637, 40986649 }, X{ 826134637, 84870949 }, X{ 1667691036, 435534454 }, X{ -199652398, 512480586 }, X{ 1301807488, 386491407 }, X{ -622364594, 276237107 }, X{ 1050350884, 67896964 }, X{ -1444647702, 57829816 }, X{ 275113656, 183556349 }, X{ -2028298378, 227456961 }, X{ -1190190287, 7826267 }, X{ 779115263, 118031463 }, X{ -1745760083, 244036898 }, X{ 9349475, 167107102 }, X{ -453852151, 495900585 }, X{ 1938668999, 451983509 }, X{ -905169003, 326240720 }, X{ 1567837787, 336357100 }, X{ 254307370, 150395839 }, X{ -1739123228, 260617347 }, X{ 567713718, 101320134 }, X{ -1230379400, 24406778 }, X{ 1389726482, 353331021 }, X{ -978652452, 309397617 }, X{ 2083223694, 468957492 }, X{ -346816192, 479057416 }, X{ -1486881947, 295361573 }, X{ 807436971, 384086809 }, X{ -1985935111, 526778972 }, X{ 517894455, 404254048 }, X{ -90039203, 207839447 }, X{ 1843226003, 186453995 }, X{ -732106815, 44023470 }, X{ 1126405647, 98685330 }, X{ 293123198, 421227713 }, X{ -2046308944, 509936637 }, X{ 1065764834, 401060536 }, X{ -1460060628, 278519172 }, X{ 1283806022, 81973299 }, X{ -604362104, 60604175 }, X{ 1652269274, 169741898 }, X{ -184231660, 224420214 }, X{ -888052397, 10075628 }, X{ 1550720157, 132633296 }, X{ -437283121, 241525653 }, X{ 1922100993, 152767657 }, X{ -1762885013, 492831006 }, X{ 26475429, 438201890 }, X{ -1206750729, 329047911 }, X{ 795674681, 350400603 }, X{ 2100701768, 135793928 }, X{ -364293242, 258368052 }, X{ 1405671892, 115659633 }, X{ -994598886, 26917965 }, X{ 550227312, 367112698 }, X{ -1212894018, 312467142 }, X{ 238370540, 454913923 }, X{ -1723185374, 476250303 }, X{ 1914586722, 15652535 }, X{ -446611540, 126925195 }, X{ 1558230526, 236062926 }, X{ -878719952, 158099442 }, X{ 803447130, 488073797 }, X{ -1197680492, 443090297 }, X{ 18698950, 334214204 }, X{ -1771951352, 345365248 }, X{ -1002894983, 141518419 }, X{ 1397125303, 252774767 }, X{ -355992859, 110344234 }, X{ 2109244203, 32364310 }, X{ -1715147199, 362207905 }, X{ 247175055, 317240733 }, X{ -1220928035, 459932888 }, X{ 541418515, 471100388 }, X{ 508614740, 300791678 }, X{ -1993367142, 378787906 }, X{ 816720840, 521234695 }, X{ -1479454202, 409929275 }, X{ 1135427436, 202640268 }, X{ -724416862, 191521968 }, X{ 1834208496, 48813557 }, X{ -97733314, 93764297 }, X{ -1468557489, 426510234 }, X{ 1057549953, 504522918 }, X{ -2037816109, 395368931 }, X{ 301341981, 284079839 }, X{ -175476617, 76921704 }, X{ 1660225977, 65786964 }, X{ -613121045, 174679313 }, X{ 1275853349, 219613741 }, X{ 1130592161, 273117515 }, X{ -736358801, 389619319 }, X{ 1839039549, 515616562 }, X{ -85787149, 432390158 }, X{ 513708185, 230608313 }, X{ -1981683369, 180396677 }, X{ 811623173, 54662080 }, X{ -1491133749, 71073020 }, X{ -180078406, 415678895 }, X{ 1648050548, 532197011 }, X{ -608515290, 372907990 }, X{ 1288024808, 289698026 }, X{ -1464213630, 88046941 }, X{ 1069983308, 37818977 }, X{ -2042156002, 197370660 }, X{ 288904656, 213765144 }, X{ 791538071, 21237890 }, X{ -1202548647, 104497086 }, X{ 30611979, 263769851 }, X{ -1767087163, 147235271 }, X{ 1926237871, 482192496 }, X{ -441485471, 465814348 }, X{ 1546583347, 306278921 }, X{ -883849987, 356457781 }, X{ -1727355252, 163946598 }, X{ 242605890, 247189338 }, X{ -1208724208, 121208351 }, X{ 545991902, 4657443 }, X{ -990428748, 339483796 }, X{ 1401436282, 323122088 }, X{ -368463320, 448840429 }, X{ 2104937446, 499035601 }, X{ -1776104794, 20151257 }, X{ 22917992, 105714917 }, X{ -1193526982, 265266592 }, X{ 799228148, 145869468 }, X{ -874566242, 483051307 }, X{ 1554011216, 464824343 }, X{ -450765310, 305535314 }, X{ 1918805964, 357070446 }, X{ 537232829, 162712381 }, X{ -1216676749, 248292353 }, X{ 251360801, 122557764 }, X{ -1719398417, 3177080 }, X{ 2113430149, 340490191 }, X{ -360244405, 322246899 }, X{ 1392939289, 448244150 }, X{ -998643497, 499762826 }, X{ -93563760, 271587856 }, X{ 1829973342, 391017772 }, X{ -728586484, 516736105 }, X{ 1139662530, 431139669 }, X{ -1483623512, 231319266 }, X{ 820955750, 179816926 }, X{ -1989197772, 53835931 }, X{ 504379898, 72030119 }, X{ 1279990667, 414296820 }, X{ -617323963, 533710280 }, X{ 1656088599, 374174861 }, X{ -171273767, 288562097 }, X{ 297204915, 88610310 }, X{ -2033613443, 37124410 }, X{ 1061687087, 196397183 }, X{ -1472760095, 214607683 }, X{ -465793852, 31305070 }, X{ 1933833482, 111395410 }, X{ -893223080, 253850391 }, X{ 1572669078, 140450859 }, X{ -1178506244, 472125852 }, X{ 784208434, 458915488 }, X{ -1757439904, 316198885 }, X{ 4252078, 363241689 }, X{ 1377551327, 157031818 }, X{ -983254511, 237138614 }, X{ 2095394883, 127976435 }, X{ -342210163, 14593231 }, X{ 266740967, 346399096 }, X{ -1734779607, 333172292 }, X{ 555276155, 442072833 }, X{ -1234719051, 489099325 }, X{ -2005789966, 283036839 }, X{ 520973116, 396403611 }, X{ -1500716690, 505549534 }, X{ 838047904, 425491938 }, X{ -711985718, 220688469 }, X{ 1123060740, 173612905 }, X{ -76478890, 64728620 }, X{ 1812889496, 77971728 }, X{ 1045781993, 408910915 }, X{ -1456856025, 522261375 }, X{ 279686773, 379822650 }, X{ -2016094277, 299748614 }, X{ 1672002257, 94814385 }, X{ -187186401, 47755149 }, X{ 1297500493, 190455496 }, X{ -634834813, 203715060 }, X{ 830288323, 279554044 }, X{ -1509799923, 400017600 }, X{ 528728671, 508918149 }, X{ -1996702831, 422254265 }, X{ 1820382971, 223353614 }, X{ -67129547, 170816562 }, X{ 1115563367, 61654391 }, X{ -721331031, 80915019 }, X{ -2024112424, 405280536 }, X{ 270862102, 525760548 }, X{ -1448833724, 383043937 }, X{ 1054602378, 296396381 }, X{ -626550304, 97627114 }, X{ 1306058798, 45073622 }, X{ -195466628, 187528595 }, X{ 1663439794, 206772911 }, X{ 1563668469, 27969077 }, X{ -900934085, 114600201 }, X{ 1942838377, 257300556 }, X{ -458087001, 136869744 }, X{ 13519053, 475232967 }, X{ -1749995261, 455939579 }, X{ 774945617, 313500862 }, X{ -1185955169, 366070658 }, X{ -350953234, 153843409 }, X{ 2087426336, 240458221 }, X{ -974515342, 131573928 }, X{ 1385523900, 11126676 }, X{ -1226242090, 349358627 }, X{ 563510808, 330081567 }, X{ -1743260598, 439227482 }, X{ 258510212, 491813734} }; CONST poly88 = T{ (* poly88[i] = i(x)*x^88 MOD P *) X{ 0, 0 }, X{ 964379295, 346020725 }, X{ 2133460053, 441286634 }, X{ 1179731658, 248685727 }, X{ -209155647, 132658900 }, X{ -889992354, 326626721 }, X{ -1935503980, 497371454 }, X{ -1244016885, 154833483 }, X{ -418311294, 265317801 }, X{ -563457763, 458208988 }, X{ -1740957737, 362615363 }, X{ -1589619384, 16959798 }, X{ 345610819, 137911165 }, X{ 769841372, 480739336 }, X{ 1806933526, 309666967 }, X{ 1388895369, 116064226 }, X{ -836622588, 530635603 }, X{ -145136229, 188678182 }, X{ -1324866735, 99460281 }, X{ -2005704242, 292716492 }, X{ 1034596037, 407432583 }, X{ 80866394, 215430898 }, X{ 1115728528, 33919597 }, X{ 2080106511, 379210008 }, X{ 691221638, 275822330 }, X{ 273184281, 82800015 }, X{ 1444491475, 171821328 }, X{ 1868722764, 513938021 }, X{ -625230521, 395870254 }, X{ -473890856, 50813787 }, X{ -1517176558, 232128452 }, X{ -1662321779, 424289457 }, X{ -1852256413, 204701607 }, X{ -1461481988, 413967570 }, X{ -290272458, 377356365 }, X{ -674657879, 48356152 }, X{ 1645233826, 198920563 }, X{ 1533740093, 524587526 }, X{ 490357495, 295057049 }, X{ 608239720, 84536812 }, X{ 1988746465, 65212942 }, X{ 1341300350, 394054011 }, X{ 161732788, 430861796 }, X{ 819501611, 221361809 }, X{ -2063510240, 67839194 }, X{ -1132849217, 278200239 }, X{ -97824395, 507927344 }, X{ -1018162198, 182026309 }, X{ 1606084711, 328443124 }, X{ 1723968248, 118259585 }, X{ 546368562, 165600030 }, X{ 434876077, 490799211 }, X{ -1405984346, 343642656 }, X{ -1790368967, 14960981 }, X{ -753375757, 238480842 }, X{ -362600596, 447297215 }, X{ -1196688411, 474204509 }, X{ -2117027462, 148640296 }, X{ -947781712, 101627575 }, X{ -17122001, 311520706 }, X{ 1260614180, 464256905 }, X{ 1918382267, 255075580 }, X{ 873035377, 31883363 }, X{ 225588462, 360274710 }, X{ 590454470, 409403215 }, X{ 441113689, 217654330 }, X{ 1545312915, 36405413 }, X{ 1700845580, 380918736 }, X{ -793176313, 529451419 }, X{ -373140072, 185668334 }, X{ -1349315758, 96712305 }, X{ -1763159603, 291269892 }, X{ -1004499644, 397841126 }, X{ -44314661, 53037459 }, X{ -1156937455, 234614028 }, X{ -2106471538, 425997945 }, X{ 933758085, 274637874 }, X{ 248727066, 79789895 }, X{ 1216479440, 169073624 }, X{ 1912160847, 512491693 }, X{ -317474366, 130425884 }, X{ -731317411, 324665193 }, X{ -1841709673, 495672310 }, X{ -1421672696, 152338563 }, X{ 513486851, 3019464 }, X{ 669020828, 347195837 }, X{ 1639003222, 442723618 }, X{ 1489663689, 251442775 }, X{ 167946816, 135678389 }, X{ 863627487, 478778048 }, X{ 1965600277, 307967583 }, X{ 1280568458, 113569066 }, X{ -108387455, 268336993 }, X{ -1057922786, 459383828 }, X{ -2036324396, 364052619 }, X{ -1076140725, 19717118 }, X{ -1297526363, 341147880 }, X{ -1949166790, 13261725 }, X{ -847030800, 236519170 }, X{ -185067665, 445064311 }, X{ 1092737124, 331200060 }, X{ 2019203835, 119696713 }, X{ 1040964657, 166775254 }, X{ 124821166, 493818531 }, X{ 1438138919, 461761857 }, X{ 1824719032, 253376052 }, X{ 714229362, 29921963 }, X{ 334038253, 358042078 }, X{ -1506751514, 476961685 }, X{ -1622439559, 150077664 }, X{ -652554317, 102802559 }, X{ -530477780, 314539786 }, X{ 2089514657, 200629179 }, X{ 1173369918, 527073486 }, X{ 60912372, 297280593 }, X{ 987377771, 86507300 }, X{ -1895563424, 203255151 }, X{ -1233601025, 411219482 }, X{ -265684171, 374346373 }, X{ -917325398, 47172080 }, X{ -1684380381, 69547538 }, X{ -1562302532, 280685927 }, X{ -458202762, 510151160 }, X{ -573889559, 183997069 }, X{ 1746070754, 63766726 }, X{ 1365880445, 391306163 }, X{ 389605559, 427851564 }, X{ 776186408, 220177497 }, X{ 1270856935, 62863262 }, X{ 1925512824, 388033771 }, X{ 882227378, 435308660 }, X{ 233765421, 225284865 }, X{ -1204341466, 72810826 }, X{ -2125695047, 281598527 }, X{ -954388109, 505052832 }, X{ -26840084, 176530901 }, X{ -1397837979, 208624183 }, X{ -1781142022, 418414914 }, X{ -746280144, 371336669 }, X{ -352327249, 46005928 }, X{ 1596335780, 193424611 }, X{ 1717396539, 521713558 }, X{ 537666289, 298455817 }, X{ 427253870, 89507964 }, X{ -2053268509, 471854285 }, X{ -1125721732, 142620600 }, X{ -88629322, 106074919 }, X{ -1009984215, 315443282 }, X{ 1981092386, 469228057 }, X{ 1332629693, 258474348 }, X{ 155129463, 29009395 }, X{ 809784552, 354778758 }, X{ 1653377121, 332366180 }, X{ 1542966014, 122706449 }, X{ 497454132, 159579790 }, X{ 618516139, 488449531 }, X{ -1862008416, 338147248 }, X{ -1468054721, 12086469 }, X{ -298973707, 241879130 }, X{ -682277014, 452268847 }, X{ -634948732, 260851769 }, X{ -480497381, 454267724 }, X{ -1525844015, 364984275 }, X{ -1669974706, 22998182 }, X{ 699398725, 140803821 }, X{ 282376410, 486253976 }, X{ 1451621904, 304677127 }, X{ 1878965391, 112646770 }, X{ 1026973702, 6038928 }, X{ 72163993, 348389093 }, X{ 1109156947, 437344890 }, X{ 2070357708, 244220175 }, X{ -826349113, 129241924 }, X{ -138040488, 321636401 }, X{ -1315639918, 502885550 }, X{ -1997558003, 157726683 }, X{ 335893632, 271356778 }, X{ 763237919, 78858271 }, X{ 1798262997, 174189696 }, X{ 1381241418, 519976949 }, X{ -410133183, 398763454 }, X{ -554262562, 56327883 }, X{ -1733830380, 227138132 }, X{ -1579377781, 420872481 }, X{ -216774910, 536673987 }, X{ -898693731, 191047094 }, X{ -1942076585, 95519017 }, X{ -1253768760, 288250460 }, X{ 10276547, 404015127 }, X{ 971476060, 210441058 }, X{ 2142685846, 39434237 }, X{ 1187874825, 382102664 }, X{ 1754145313, 467257553 }, X{ 1375035582, 256250788 }, X{ 396633716, 26523451 }, X{ 786392299, 353070158 }, X{ -1694061600, 473038341 }, X{ -1568806529, 145630576 }, X{ -466833483, 108823023 }, X{ -581440214, 316889754 }, X{ -1885392477, 336176504 }, X{ -1226542276, 9862669 }, X{ -256559626, 239393426 }, X{ -909215895, 450560487 }, X{ 2081929314, 333550508 }, X{ 1164770045, 125716697 }, X{ 54377527, 162327622 }, X{ 977731240, 489895731 }, X{ -1498675931, 75043714 }, X{ -1613281350, 283560183 }, X{ -645529232, 506752104 }, X{ -520272913, 179025693 }, X{ 1428458724, 59843926 }, X{ 1818218107, 386858531 }, X{ 705595569, 433871548 }, X{ 326486574, 222527945 }, X{ 1102911143, 195657259 }, X{ 2026263608, 523674974 }, X{ 1050088178, 300155329 }, X{ 132927597, 92002996 }, X{ -1305108634, 205605119 }, X{ -1957765639, 417239946 }, X{ -853566669, 369899285 }, X{ -194717268, 43248736 }, X{ -115937982, 401258358 }, X{ -1066553379, 58027011 }, X{ -2042828521, 229099676 }, X{ -1085822072, 423105513 }, X{ 178152579, 268599714 }, X{ 870655516, 77421271 }, X{ 1974755542, 173014600 }, X{ 1288643145, 516957501 }, X{ 503840448, 406510303 }, X{ 662486111, 212140458 }, X{ 1630403221, 41395509 }, X{ 1482078218, 384335424 }, X{ -309364991, 533916683 }, X{ -722192994, 189609854 }, X{ -1834650796, 94344161 }, X{ -1411501621, 285231252 }, X{ 926206534, 139095077 }, X{ 240093401, 483768144 }, X{ 1209978387, 302453711 }, X{ 1902480524, 110676154 }, X{ -994294905, 262298353 }, X{ -37289704, 457015684 }, X{ -1147779118, 367994139 }, X{ -2098395827, 24182382 }, X{ -802825788, 127533452 }, X{ -379675813, 319150841 }, X{ -1357914735, 500661862 }, X{ -1770742002, 155755795 }, X{ 598560773, 7485272 }, X{ 450237082, 351136813 }, X{ 1552372816, 440354994 }, X{ 1711019727, 245404615} }; CONST power = T{ (* power[i] = x^i MOD P *) X{0, MIN_INT }, X{0, 1073741824 }, X{0, 536870912 }, X{0, 268435456 }, X{0, 134217728 }, X{0, 67108864 }, X{0, 33554432 }, X{0, 16777216 }, X{0, 8388608 }, X{0, 4194304 }, X{0, 2097152 }, X{0, 1048576 }, X{0, 524288 }, X{0, 262144 }, X{0, 131072 }, X{0, 65536 }, X{0, 32768 }, X{0, 16384 }, X{0, 8192 }, X{0, 4096 }, X{0, 2048 }, X{0, 1024 }, X{0, 512 }, X{0, 256 }, X{0, 128 }, X{0, 64 }, X{0, 32 }, X{0, 16 }, X{0, 8 }, X{0, 4 }, X{0, 2 }, X{0, 1 }, X{MIN_INT, 0 }, X{1073741824, 0 }, X{536870912, 0 }, X{268435456, 0 }, X{134217728, 0 }, X{67108864, 0 }, X{33554432, 0 }, X{16777216, 0 }, X{8388608, 0 }, X{4194304, 0 }, X{2097152, 0 }, X{1048576, 0 }, X{524288, 0 }, X{262144, 0 }, X{131072, 0 }, X{65536, 0 }, X{32768, 0 }, X{16384, 0 }, X{8192, 0 }, X{4096, 0 }, X{2048, 0 }, X{1024, 0 }, X{512, 0 }, X{256, 0 }, X{128, 0 }, X{64, 0 }, X{32, 0 }, X{16, 0 }, X{8, 0 }, X{4, 0 }, X{2, 0 }, X{1, 0 }, X{116277429, 431580288 }, X{93937903, 358995648 }, X{69398722, 319524832 }, X{34699361, 159762416 }, X{132578437, 494634872 }, X{85802743, 386180924 }, X{73457614, 305870622 }, X{36728807, 152935311 }, X{-2013890746, 490187079 }, X{-1006945373, 245093539 }, X{-418128540, 519343825 }, X{-209064270, 259671912 }, X{2042951513, 129835956 }, X{973880089, 443020634 }, X{468213049, 344628781 }, X{-1961202135, 335293334 }, X{1130592161, 273117515 }, X{-1486881947, 295361573 }, X{-717112057, 292817554 }, X{1817091638, 285434313 }, X{-1238937829, 142717156 }, X{1576920888, 502906098 }, X{788460444, 251453049 }, X{-1753253426, 125726524 }, X{1270856935, 62863262 }, X{590454470, 409403215 }, X{-1852256413, 204701607 }, X{-836622588, 530635603 }, X{-418311294, 265317801 }, X{-209155647, 132658900 }, X{2133460053, 441286634 }, X{964379295, 346020725 }, X{-1705778694, 334924090 }, X{1294594301, 167462045 }, X{-1602570037, 491046606 }, X{1456676048, 387647463 }, X{-1419145624, 193823731 }, X{-709572812, 96911865 }, X{-354786406, 48455932 }, X{1970090445, 24227966 }, X{1012455507, 419544255 }, X{-1732105060, 356104927 }, X{-866052530, 178052463 }, X{-433026265, 89026231 }, X{-168426202, 454972379 }, X{-84213101, 227486189 }, X{-74202628, 528412790 }, X{2110382334, 264206395 }, X{-1092292481, 132103197 }, X{-644073334, 441891470 }, X{1825446981, 220945735 }, X{-1333178729, 523029027 }, X{-559224834, 372179345 }, X{-279612417, 186089672 }, X{1900345674, 473081060 }, X{950172837, 236540530 }, X{448757479, 515231161 }, X{-1951268922, 384008796 }, X{1171849187, 192004398 }, X{604127044, 469861399 }, X{-1845420126, 234930699 }, X{-922710063, 117465349 }, X{-496105635, 439964674 }, X{2010727195, 346410625 }, X{-1123884744, 334201792 }, X{1585541276, 167100896 }, X{792770638, 83550448 }, X{396385319, 41775224 }, X{222195366, 411557052 }, X{111097683, 205778526 }, X{94493468, 530092975 }, X{-2100236914, 265046487 }, X{-1050118457, 132523243 }, X{-430277674, 441087733 }, X{-215138837, 220543866 }, X{2138627648, 522975549 }, X{-1078169824, 261487774 }, X{1608398736, 130743887 }, X{-1343284280, 65371943 }, X{-671642140, 32685971 }, X{-335821070, 16342985 }, X{-167910535, 8171492 }, X{2081468681, 428290930 }, X{954603569, 360381753 }, X{-1700967251, 319035932 }, X{1268836067, 272329102 }, X{591279044, 296013895 }, X{-1851844126, 148006947 }, X{-925922063, 74003473 }, X{-494303539, 462290568 }, X{2007663571, 343907268 }, X{1027277148, 327592290 }, X{513638574, 163796145 }, X{-1890664361, 81898072 }, X{1095311518, 466203052 }, X{547655759, 233101526 }, X{381421714, 525011179 }, X{-1956772791, 262505589 }, X{-1019133295, 510371514 }, X{1733222909, 378320861 }, X{-1253494709, 318717806 }, X{1548408976, 281475895 }, X{-1373279160, 140737947 }, X{-686639580, 70368973 }, X{-343319790, 35184486 }, X{1975823753, 17592243 }, X{-1140058511, 423580505 }, X{-655864947, 354864428 }, X{1788503411, 321520150 }, X{866349580, 271345035 }, X{-1714308858, 135672517 }, X{-857154429, 67836258 }, X{1620717300, 465365041 }, X{-1337124998, 232682520 }, X{1478921149, 116341260 }, X{721225067, 449771910 }, X{328253952, 350099523 }, X{-1983356672, 175049761 }, X{-991678336, 87524880 }, X{1651644480, 43762440 }, X{825822240, 21881220 }, X{412911120, 10940610 }, X{206455560, 5470305 }, X{-2044255868, 2735152 }, X{1125355714, 1367576 }, X{562677857, 683788 }, X{371893381, 431772422 }, X{234558199, 359091459 }, X{-2146186802, 319472129 }, X{-1073093401, 159736064 }, X{1726657222, 494654464 }, X{863328611, 247327232 }, X{525659140, 518492544 }, X{262829570, 259246272 }, X{131414785, 129623136 }, X{84204853, 442865328 }, X{74198575, 344698840 }, X{81287074, 335328108 }, X{40643537, 167664054 }, X{131618141, 491145307 }, X{-2063439333, 387596461 }, X{-999328328, 305415382 }, X{1647819484, 152707691 }, X{-1323573906, 76353845 }, X{-661786953, 38176922 }, X{1789442030, 412754125 }, X{-1252762633, 206377062 }, X{1547988302, 530574515 }, X{-1373489497, 265287257 }, X{-771793946, 509517740 }, X{1761586675, 254758870 }, X{848401996, 506381163 }, X{-1723282650, 253190581 }, X{-861641325, 126595290 }, X{1622962812, 444382445 }, X{-1336002242, 222191222 }, X{1479482527, 111095611 }, X{-1426469126, 452391709 }, X{-713234563, 226195854 }, X{1817195275, 520411207 }, X{-1329178320, 372967587 }, X{-664589160, 186483793 }, X{-332294580, 93241896 }, X{1981336358, 46620948 }, X{990668179, 23310474 }, X{459829884, 420003013 }, X{-1917568706, 210001506 }, X{1188699295, 105000753 }, X{-1518121222, 446198552 }, X{1388423037, 223099276 }, X{797872907, 522156102 }, X{287902000, 372693155 }, X{-2003532648, 186346577 }, X{-1001766324, 93173288 }, X{1646600486, 46586644 }, X{823300243, 23293322 }, X{510068988, 420008517 }, X{-1892449154, 210004258 }, X{1201259071, 105002129 }, X{-1524457046, 446201544 }, X{1385255125, 223100772 }, X{799467743, 522156850 }, X{289223898, 372693273 }, X{-2002871699, 186346636 }, X{1117851011, 473223878 }, X{666814068, 396561891 }, X{-1814076614, 198280945 }, X{-907038307, 99140472 }, X{1645844603, 458032444 }, X{937593992, 337634846 }, X{468796996, 168817423 }, X{-1913085150, 84408711} }; CONST power8 = T{ (* power8[i] = x^(i*2^8) MOD P *) X{ 0, MIN_INT }, X{ -956542575, 42204355 }, X{ 2124032800, 440173005 }, X{ -411289161, 519166785 }, X{ 407531543, 145381745 }, X{ 108738866, 98552085 }, X{ 400921722, 498874605 }, X{ 1242762180, 256911310 }, X{ 2109856647, 96964726 }, X{ 996671204, 257998531 }, X{ 467564516, 323782309 }, X{ 2111394312, 21238660 }, X{ -1306609287, 245139119 }, X{ -1468669664, 195722279 }, X{ -516932754, 246338639 }, X{ 1012877479, 207077650 }, X{ 2117923080, 435812612 }, X{ -823360084, 489334521 }, X{ 826081040, 423945279 }, X{ -1899395231, 292825033 }, X{ -1897029508, 484374966 }, X{ -1632278146, 451753137 }, X{ 1459848618, 120681369 }, X{ 1044300319, 518200537 }, X{ -929635973, 1165678 }, X{ -439593506, 105840678 }, X{ -1156712271, 342268821 }, X{ 1069160894, 213373093 }, X{ 683088256, 291076695 }, X{ -1813073306, 230393933 }, X{ -1290194516, 55028625 }, X{ 1267593112, 88131170 }, X{ 1817135625, 357639862 }, X{ -792214377, 477495567 }, X{ -76607110, 141586934 }, X{ 211787753, 101986847 }, X{ 104004757, 480961197 }, X{ 909571009, 296857293 }, X{ -1123090224, 456361475 }, X{ 1536547100, 413695142 }, X{ -1657239059, 161333384 }, X{ 521758144, 368927712 }, X{ -434504887, 24436703 }, X{ 824325828, 253654286 }, X{ 1914539473, 504727018 }, X{ 2080002382, 235576710 }, X{ 746273941, 131364118 }, X{ 1362713990, 307518467 }, X{ -40909559, 489054954 }, X{ 1542723221, 278477958 }, X{ -1500579184, 342323111 }, X{ -1582877898, 508730486 }, X{ 1939066413, 104760045 }, X{ 1448076412, 7518756 }, X{ 623297840, 400236131 }, X{ 907453588, 22536882 }, X{ -344707023, 244969127 }, X{ 2051682947, 122684066 }, X{ -1229266218, 235596861 }, X{ 1346399555, 235318506 }, X{ 1890368057, 15629626 }, X{ -1146489684, 482661680 }, X{ 498970576, 255141532 }, X{ -1018294377, 254528317 }, X{ 1834084637, 522448373 }, X{ -387504286, 492367403 }, X{ -1787765673, 37698862 }, X{ -1461476520, 3740318 }, X{ -1254116433, 42525406 }, X{ -2098170326, 254291074 }, X{ 1072214591, 436109877 }, X{ 1991696910, 47500127 }, X{ -1432189233, 211838503 }, X{ -1442951782, 205312392 }, X{ -1106095412, 48517532 }, X{ 22660718, 390984368 }, X{ 524281292, 267221139 }, X{ -1845226176, 204863180 }, X{ 1963748931, 112017517 }, X{ -1710480955, 126835037 }, X{ -420176568, 522472489 }, X{ -612194488, 132336312 }, X{ -637324919, 507254976 }, X{ -1030018720, 27761662 }, X{ -24886530, 177605189 }, X{ -1089856883, 483805709 }, X{ -1934831872, 89701473 }, X{ 382213120, 101449642 }, X{ -1521945565, 294256282 }, X{ -1232822099, 534055331 }, X{ -770519155, 267690300 }, X{ -1707734987, 205892118 }, X{ 178334811, 267340822 }, X{ -350504510, 487003117 }, X{ -1116622204, 433564342 }, X{ -68104151, 522258599 }, X{ -1506138012, 93534962 }, X{ -358740389, 407747717 }, X{ -889173447, 529082332 }, X{ 2027514893, 395796846 }, X{ -1263245053, 295594250 }, X{ 1437129515, 500475907 }, X{ 1397161202, 300553572 }, X{ -1059164606, 318641117 }, X{ 1281601804, 462491965 }, X{ 830706174, 72502412 }, X{ 1109825191, 239962806 }, X{ 1185777874, 43841869 }, X{ -1691461857, 251678844 }, X{ -479580480, 517061579 }, X{ 437068553, 426769711 }, X{ 2018483490, 491830982 }, X{ -1737809146, 454161300 }, X{ -2058679811, 95518128 }, X{ -88094296, 442916112 }, X{ 795531819, 434968401 }, X{ 1409941612, 417064365 }, X{ -1896826697, 202677161 }, X{ 1102776187, 332705169 }, X{ -977757158, 396349074 }, X{ 1192502348, 488089383 }, X{ 162289698, 132333848 }, X{ 194183384, 303638860 }, X{ 1616859133, 79182063 }, X{ 1710909095, 526590344 }, X{ 1786512988, 224547476 }, X{ 743844186, 459275474 }, X{ -1228580555, 490517242 }, X{ -835147179, 249130647 }, X{ 1339384881, 20588815 }, X{ 1255855826, 137700074 }, X{ -15109745, 367544686 }, X{ -1313283925, 123784603 }, X{ 160536435, 356117842 }, X{ 77785876, 376243261 }, X{ 1411345322, 269687277 }, X{ 295559031, 236363511 }, X{ -1372818698, 214966837 }, X{ -147095249, 450035622 }, X{ 763043319, 232135063 }, X{ 1141743120, 492665447 }, X{ -985544832, 15654553 }, X{ 1025146880, 355888219 }, X{ 2112316569, 142292453 }, X{ -1683908498, 8597831 }, X{ 1667184629, 22509059 }, X{ -535306318, 271756997 }, X{ 1450129185, 9459290 }, X{ -977277070, 137024272 }, X{ -1602589172, 460952731 }, X{ 41291348, 254439706 }, X{ -851388363, 504023908 }, X{ -585897849, 300170631 }, X{ 34456730, 457648097 }, X{ -249778292, 444994829 }, X{ 253336365, 355706363 }, X{ 319156688, 516510617 }, X{ 1779211472, 289721227 }, X{ 561976658, 299963917 }, X{ -336816944, 193696412 }, X{ 694958124, 155142944 }, X{ -255582935, 338798470 }, X{ -490503272, 204314813 }, X{ -841981343, 26163782 }, X{ -1640956486, 7698609 }, X{ -1912646784, 98113337 }, X{ -1721913609, 325212669 }, X{ -33461311, 319859165 }, X{ 792102754, 511046 }, X{ -1049980753, 155841439 }, X{ -1424096078, 1891814 }, X{ 520435069, 463093127 }, X{ 129882717, 341665161 }, X{ 80802150, 510649656 }, X{ -144464195, 413718426 }, X{ 937872305, 394707762 }, X{ -795090295, 287549574 }, X{ -1515783054, 485482128 }, X{ -1514436799, 387463837 }, X{ 1306087628, 499930981 }, X{ -115517554, 266309435 }, X{ 41082427, 258935155 }, X{ -1369160845, 375523642 }, X{ 1398174633, 357053667 }, X{ 2029419962, 456055852 }, X{ -808815043, 316561270 }, X{ 1132496869, 463898341 }, X{ 120311771, 485273195 }, X{ 292887978, 56528975 }, X{ -1435333035, 531344745 }, X{ 476255486, 283436476 }, X{ 1096971469, 306642308 }, X{ -1045594748, 356670089 }, X{ -241920442, 412631285 }, X{ 1401348312, 36887795 }, X{ 846877050, 47175104 }, X{ -774386367, 399665752 }, X{ 293559024, 63162905 }, X{ 1647997704, 532841799 }, X{ -1250949434, 497102179 }, X{ 1013747108, 344532755 }, X{ -983871697, 471696935 }, X{ -1669952318, 520525352 }, X{ 584185668, 1757397 }, X{ -1478337704, 406519420 }, X{ 437808926, 89121386 }, X{ 1967109526, 440936834 }, X{ 1101304635, 526509206 }, X{ -494077575, 235410581 }, X{ -1744956552, 67149223 }, X{ -668028656, 192347208 }, X{ -1940193177, 476259633 }, X{ 556236764, 290694085 }, X{ -1019083596, 507007163 }, X{ -145062323, 360506473 }, X{ 1894805112, 12434204 }, X{ -1733480812, 23147710 }, X{ 1963542541, 271215160 }, X{ 1590211080, 439796576 }, X{ 1836762911, 249108524 }, X{ -1474292830, 345185137 }, X{ -835263671, 145609403 }, X{ -1439717266, 224550867 }, X{ -1117954056, 301988311 }, X{ -314205758, 292832267 }, X{ 361673507, 503693088 }, X{ -780914265, 500728130 }, X{ 1889859380, 212131032 }, X{ -1016096850, 374591353 }, X{ 1794576981, 191920970 }, X{ 1709892996, 142266329 }, X{ -796335842, 443022428 }, X{ 249474832, 535535315 }, X{ 822941827, 436915854 }, X{ 1354448609, 188411651 }, X{ -753698851, 511426941 }, X{ -190645870, 114644134 }, X{ -2012972165, 126962442 }, X{ -1211100783, 426537534 }, X{ -1114104017, 46657378 }, X{ -487541132, 123408400 }, X{ 2113073001, 457632770 }, X{ -1456695137, 5558241 }, X{ 72555277, 388058671 }, X{ -1590753797, 257762090 }, X{ 431940252, 263798169 }, X{ 772557054, 241439872 }, X{ -426898440, 430997964 }, X{ 840237192, 74866239 }, X{ -244056613, 448245722 }, X{ 859507487, 428015061 }, X{ -1118637316, 524969751 }, X{ -1190955688, 201817482 }, X{ 149845942, 493833311 }, X{ -334182865, 416469525 }, X{ -427335541, 346059531} }; CONST power16 = T{ (* power16[i] = x^(i*2^16) MOD P *) X{ 0, MIN_INT }, X{ -1567899632, 294886881 }, X{ 568631169, 362347968 }, X{ -114783263, 243464157 }, X{ -714197785, 358411499 }, X{ -1570371506, 484745442 }, X{ -1939465737, 262949375 }, X{ -1954958383, 385053630 }, X{ -1203584496, 152959048 }, X{ -448326570, 7051940 }, X{ 2027132716, 338161520 }, X{ 383077265, 267801222 }, X{ 906232167, 469458163 }, X{ 839978444, 281761375 }, X{ 615937270, 158150155 }, X{ -1572743054, 154124343 }, X{ -1529528352, 477536499 }, X{ -527524695, 182699293 }, X{ 1263751590, 159020045 }, X{ 664894937, 296678928 }, X{ 996120108, 84718346 }, X{ -895538845, 488640679 }, X{ 1364733437, 328728729 }, X{ -817632917, 354838268 }, X{ 1378464068, 58864553 }, X{ 1514761523, 358158744 }, X{ -1889967186, 228585120 }, X{ -283953129, 10562543 }, X{ -1025808620, 234525559 }, X{ -1210675430, 52918345 }, X{ -819132486, 346166288 }, X{ -340155351, 209072043 }, X{ -1961175645, 57615189 }, X{ -1974520473, 381671254 }, X{ -1015907407, 279854312 }, X{ 1185573414, 510338396 }, X{ -1359439513, 63217651 }, X{ 1128439227, 13384045 }, X{ 323191676, 447933119 }, X{ 2049939046, 516436701 }, X{ 489038815, 126304509 }, X{ 1763797904, 233637184 }, X{ 2144742575, 352295230 }, X{ 608675317, 50945485 }, X{ -878381163, 66931145 }, X{ -1067651643, 326136341 }, X{ -345447664, 239461950 }, X{ 1636870761, 519063558 }, X{ -128218836, 340321784 }, X{ 769927390, 462364699 }, X{ -1029826769, 353416590 }, X{ 232540007, 163597721 }, X{ -872725120, 386430266 }, X{ -1320793906, 40072319 }, X{ -2135675994, 256450140 }, X{ 1205427873, 508089546 }, X{ 1875975568, 456571924 }, X{ 1078942089, 63482466 }, X{ -109600111, 529578043 }, X{ -1686607223, 407987567 }, X{ 1254086629, 380442184 }, X{ 1333734526, 1836091 }, X{ -598373038, 384125632 }, X{ -1675703001, 68370705 }, X{ -1639055057, 156955950 }, X{ -74526113, 475288569 }, X{ 1010375985, 314503638 }, X{ 1411374627, 183436333 }, X{ -531038029, 502046798 }, X{ -1062626054, 248819981 }, X{ 15959017, 466303354 }, X{ 145962297, 127055429 }, X{ -279574801, 392285150 }, X{ -1505652182, 73628295 }, X{ 1579538903, 69259098 }, X{ 745890213, 310955105 }, X{ -1949306111, 34195052 }, X{ -1591869649, 223908207 }, X{ 721834126, 136038378 }, X{ -1873318756, 64437831 }, X{ -1230383180, 384586523 }, X{ 1567264225, 87503796 }, X{ -1602523543, 98966152 }, X{ 1655174871, 427135499 }, X{ 1571615415, 179207612 }, X{ 1808520173, 476014812 }, X{ -1039182112, 392665230 }, X{ 326877215, 395331479 }, X{ 1925230038, 331920632 }, X{ -923609335, 298349082 }, X{ -433437834, 182219877 }, X{ -1912169332, 440670606 }, X{ -1906294962, 507911746 }, X{ -308180274, 449873910 }, X{ -418323059, 50705223 }, X{ -377964883, 87863427 }, X{ -621791746, 86895362 }, X{ -755839719, 16614841 }, X{ 1011850791, 314031773 }, X{ 1062416546, 321379523 }, X{ 2029907126, 168281415 }, X{ -563043312, 249241541 }, X{ -587642401, 8144863 }, X{ -1631335026, 453631731 }, X{ 958866894, 411932781 }, X{ -1949095621, 278333487 }, X{ 335964047, 93925354 }, X{ -1918487164, 42924064 }, X{ 1621558129, 24577595 }, X{ 62502947, 267696162 }, X{ 1648076400, 380636235 }, X{ -796688859, 286503872 }, X{ 1653298692, 476162902 }, X{ 1393507780, 462456937 }, X{ -794211675, 49262805 }, X{ -439815809, 322499951 }, X{ -1158869471, 49541742 }, X{ -1717122657, 409287017 }, X{ 1306113411, 70367532 }, X{ 1707279735, 495393041 }, X{ -664804243, 146598960 }, X{ 837021045, 121113125 }, X{ 1549353979, 168164791 }, X{ 679491019, 291036556 }, X{ 1304360064, 278439000 }, X{ 628707368, 1531811 }, X{ -1958743309, 234292495 }, X{ -233530516, 441165982 }, X{ 1405855824, 385495375 }, X{ -1409283893, 176929904 }, X{ -1354190778, 518137549 }, X{ 2003150103, 307782160 }, X{ -908240154, 253770652 }, X{ 2116520838, 173577787 }, X{ -261463148, 224759837 }, X{ 498881131, 533320720 }, X{ 593849415, 183162694 }, X{ 1113278332, 99150646 }, X{ 1020653419, 435815184 }, X{ 1931770323, 419883664 }, X{ -64676832, 530117738 }, X{ -603162000, 203872652 }, X{ 1864488667, 212325378 }, X{ -153814907, 95662406 }, X{ 809565493, 366537745 }, X{ -480959945, 149292567 }, X{ -866668920, 436447185 }, X{ 624241039, 301678611 }, X{ 1623000506, 405894445 }, X{ 256889637, 79210067 }, X{ 1408347251, 348707271 }, X{ 100371876, 522097007 }, X{ 11758722, 353765931 }, X{ 873674486, 343301652 }, X{ 1735757295, 203703158 }, X{ -1059348374, 184484065 }, X{ 230547522, 329537425 }, X{ 1345380029, 42771243 }, X{ -1848157711, 114522168 }, X{ -1123659126, 465055128 }, X{ 1044460118, 145936756 }, X{ -299861943, 95530134 }, X{ -1046811188, 439764859 }, X{ -535952216, 210410423 }, X{ -638195303, 67745881 }, X{ 1139572389, 479036252 }, X{ -801419683, 368549267 }, X{ -2108199495, 218364466 }, X{ -731930181, 267628820 }, X{ 1642922203, 171400409 }, X{ -467181125, 248927251 }, X{ -1061154016, 281853347 }, X{ -1004314584, 130708169 }, X{ -51936627, 460532769 }, X{ -1138793292, 292567259 }, X{ 2060152647, 463545294 }, X{ 742773172, 534780575 }, X{ 1056899665, 151212272 }, X{ -1392627297, 456675899 }, X{ 1434823454, 186936626 }, X{ 296890418, 293934970 }, X{ -1684835675, 455644582 }, X{ 183991425, 205482512 }, X{ -1890080192, 450000207 }, X{ 1615243788, 249972821 }, X{ -1312254197, 3917897 }, X{ 953312061, 5931134 }, X{ -21265849, 152722247 }, X{ -2118214003, 201557149 }, X{ -1768658192, 354959752 }, X{ 706991448, 536282075 }, X{ 894311130, 119912240 }, X{ -1743990809, 47058894 }, X{ -968852140, 292576 }, X{ -1363762719, 222678664 }, X{ -992950262, 389662511 }, X{ -523396314, 354402377 }, X{ -1020360851, 192920532 }, X{ 1939292062, 20281443 }, X{ 711730764, 395885920 }, X{ 741118683, 225051622 }, X{ -79236678, 57785847 }, X{ -593488906, 92499355 }, X{ 1543052343, 239742936 }, X{ -1747286963, 167172447 }, X{ 444112784, 17837811 }, X{ -182481550, 127046263 }, X{ -51672225, 51000687 }, X{ 558603647, 437083010 }, X{ 1584945700, 25889449 }, X{ 1791972543, 42497128 }, X{ -1902924136, 288760274 }, X{ -978584720, 286864447 }, X{ 1871584259, 467303938 }, X{ -640455127, 100613399 }, X{ -54960750, 150843885 }, X{ -803199051, 376799588 }, X{ 1814971029, 157967026 }, X{ 1325333158, 500826377 }, X{ -866787111, 375385567 }, X{ -93277656, 360027683 }, X{ -970091540, 355613771 }, X{ -891015539, 77544971 }, X{ -1044762860, 4497377 }, X{ 1417818749, 140295696 }, X{ 560218457, 224128045 }, X{ 2098804855, 244617152 }, X{ 1524565775, 20812417 }, X{ -481179886, 106363909 }, X{ -450086417, 172414084 }, X{ -498107279, 56099842 }, X{ 738980023, 528431509 }, X{ -313453891, 345861993 }, X{ -1616337141, 333250310 }, X{ 177580429, 155655725 }, X{ 159537200, 211021552 }, X{ 1534967243, 247708853 }, X{ -900850195, 530337543 }, X{ 851534134, 530478040 }, X{ 723971805, 132956808 }, X{ -1038777150, 469591075 }, X{ -1904015403, 197719336 }, X{ 1587857101, 409849098 }, X{ 1174927476, 121718416 }, X{ -1138486870, 390101289 }, X{ -1199553202, 39720099 }, X{ -1351955296, 251463944 }, X{ 1800605150, 527958657 }, X{ 412933259, 448480020 }, X{ 1091585535, 75693767 }, X{ 772738984, 247714767 }, X{ 1521603519, 409933166 }, X{ -1173086599, 57000853 }, X{ -431875822, 191936722 }, X{ -522240412, 12345203 }, X{ -1609514443, 90586859} }; CONST power24 = T{ (* power24[i] = x^(i*2^24) MOD P *) X{ 0, MIN_INT }, X{ 1025676958, 392019518 }, X{ -389184262, 499926821 }, X{ 1954619554, 510357858 }, X{ 848423582, 362296893 }, X{ 1036060047, 422834256 }, X{ -1344613542, 509635336 }, X{ -617685560, 61119924 }, X{ 955630439, 153105548 }, X{ -826963727, 408489249 }, X{ -1650620779, 305466494 }, X{ -2010138452, 194593368 }, X{ 1956335766, 480498900 }, X{ -1114233300, 55156199 }, X{ -116805579, 179128249 }, X{ 1087603194, 415640578 }, X{ -578361098, 224125824 }, X{ 940968450, 245614316 }, X{ 400959844, 472905715 }, X{ -179135644, 73419283 }, X{ 2053222973, 493417149 }, X{ 279604750, 382710252 }, X{ -1917158171, 288997962 }, X{ -221308028, 153656002 }, X{ -1369984539, 163384924 }, X{ -2123977226, 222908023 }, X{ -186605591, 84340898 }, X{ -980425389, 97989098 }, X{ 1515413873, 351860438 }, X{ 328411943, 216370729 }, X{ -1193316886, 386771706 }, X{ 663438765, 230228077 }, X{ -414929369, 90182584 }, X{ 1797533776, 406093161 }, X{ 662704391, 333410355 }, X{ -1809793413, 438116550 }, X{ -421017597, 177112845 }, X{ 351409943, 165259839 }, X{ 1956632259, 66433428 }, X{ 1539424402, 157272366 }, X{ 1931722430, 62757991 }, X{ -1913932174, 119082512 }, X{ 338854799, 20231558 }, X{ -2131154656, 514660876 }, X{ 272210747, 478389166 }, X{ 1201348211, 2905887 }, X{ 232987159, 180573004 }, X{ 8298714, 227132493 }, X{ 1641573194, 242039763 }, X{ -1958265854, 205931196 }, X{ -1194562585, 109555250 }, X{ 104274193, 355324002 }, X{ 383301940, 204033033 }, X{ -1065740863, 455794406 }, X{ 1042118219, 524680243 }, X{ -2048108847, 357108410 }, X{ -434985340, 121063262 }, X{ -1908186377, 402774934 }, X{ 1628142789, 352408963 }, X{ 245240617, 20273124 }, X{ 1951510682, 176077115 }, X{ -568865080, 461788454 }, X{ 1492222227, 13919466 }, X{ 1265272, 312701741 }, X{ 422471513, 519072785 }, X{ -96795729, 509652040 }, X{ -1220906650, 506839945 }, X{ -2143738266, 287801731 }, X{ -817581232, 2138236 }, X{ 307309761, 144780266 }, X{ 744820470, 14587061 }, X{ -1938943117, 364596782 }, X{ 1148166905, 496927310 }, X{ 2802381, 455487703 }, X{ -298007813, 196513373 }, X{ 1296952196, 166240888 }, X{ 236302757, 83966162 }, X{ -486648890, 295141560 }, X{ -879068201, 261300159 }, X{ -2058415005, 414639331 }, X{ -881344943, 376907216 }, X{ 1280446177, 83986596 }, X{ 1033672976, 325513185 }, X{ -1768189132, 203203939 }, X{ 323182883, 349486287 }, X{ -584123424, 431317906 }, X{ -1946091841, 510689209 }, X{ -680625181, 508466593 }, X{ -1481853674, 66165228 }, X{ -381462418, 329107507 }, X{ 1098127566, 255722027 }, X{ 1783486129, 519876295 }, X{ -2034309784, 141081748 }, X{ 969992319, 318586263 }, X{ -899392893, 167739864 }, X{ -1107634046, 428986195 }, X{ 1016799619, 1320179 }, X{ -715967150, 173612793 }, X{ 1012223693, 187725780 }, X{ 445435359, 266020661 }, X{ 1177182560, 224535464 }, X{ -142639087, 314968532 }, X{ 328655396, 103774829 }, X{ -1635792828, 301875998 }, X{ -1083603876, 438911584 }, X{ 224124582, 504418938 }, X{ -1405163019, 345122157 }, X{ -1217808833, 253757715 }, X{ -441136005, 279367758 }, X{ -488498492, 29286635 }, X{ 847799885, 352448192 }, X{ 1247853037, 430539098 }, X{ -2119575777, 181502409 }, X{ 534895569, 124178822 }, X{ 1185485601, 165182879 }, X{ 407600186, 119967138 }, X{ -1914243612, 317817613 }, X{ 630443473, 28984012 }, X{ -1453053852, 247193561 }, X{ -780928505, 77744923 }, X{ 1918773969, 372395392 }, X{ 2003008156, 419251976 }, X{ -310308587, 459258613 }, X{ 34299939, 536068595 }, X{ -1095875835, 92770966 }, X{ -83642988, 524870707 }, X{ -521805041, 355304830 }, X{ 93685060, 475070415 }, X{ 394502188, 475227367 }, X{ 1176732470, 183319464 }, X{ 2108059316, 434255370 }, X{ -1186272671, 508199722 }, X{ 1808599205, 111235938 }, X{ 201966247, 21523729 }, X{ -572308880, 5118199 }, X{ 1786397554, 504107349 }, X{ 80987436, 148913249 }, X{ 1692454143, 409741485 }, X{ -1699782205, 404644050 }, X{ 164990334, 305323500 }, X{ -953861029, 472436092 }, X{ -1367108560, 242632832 }, X{ 1325649259, 343800592 }, X{ -102283904, 341255044 }, X{ 60455617, 196732691 }, X{ 881630428, 361322809 }, X{ -1334479840, 381765403 }, X{ -1648357822, 1024891 }, X{ 110507177, 84264710 }, X{ 1818531983, 192185641 }, X{ -550886461, 344264124 }, X{ -835045152, 66762525 }, X{ 879158546, 427845879 }, X{ 1983836234, 233918287 }, X{ -1911212804, 19274418 }, X{ -807129490, 50480182 }, X{ 1638037375, 369729787 }, X{ 886834834, 217848943 }, X{ 567813926, 492886512 }, X{ 895892998, 512097805 }, X{ -1966853372, 285616608 }, X{ 694273333, 399473241 }, X{ 331892859, 248748020 }, X{ 435560063, 15631256 }, X{ -1583486610, 7128853 }, X{ -166058498, 62012943 }, X{ 1052251564, 250304644 }, X{ -1053324862, 33081239 }, X{ -2918518, 207884965 }, X{ 518991015, 236884187 }, X{ -1684171207, 66660785 }, X{ -443165728, 429576979 }, X{ 217475293, 464679952 }, X{ -784267634, 248825454 }, X{ -252028882, 266476649 }, X{ 1080677286, 181196219 }, X{ 1666837019, 142087113 }, X{ -237447391, 162374390 }, X{ 2100600904, 519129542 }, X{ -1420480257, 131759634 }, X{ 168600263, 381940552 }, X{ 98583255, 236144394 }, X{ 521283313, 416282972 }, X{ -1599922528, 106438756 }, X{ -92486081, 58370898 }, X{ 916688289, 10750722 }, X{ 1825973796, 298818074 }, X{ 293320254, 240378794 }, X{ -1014546125, 186805674 }, X{ -232400835, 381635475 }, X{ -1126931826, 345787789 }, X{ -1658561051, 189612860 }, X{ 1261153146, 51332782 }, X{ 1888575208, 254348830 }, X{ 1655823559, 469753110 }, X{ 1785410539, 534513582 }, X{ -1764575369, 355533916 }, X{ -1659636885, 519469519 }, X{ -690386035, 45754215 }, X{ 1803847717, 187082998 }, X{ -896352539, 482150851 }, X{ 90344993, 473642184 }, X{ -2113258458, 316444623 }, X{ 1585850713, 492717785 }, X{ -1475031118, 520314994 }, X{ -860240030, 436134851 }, X{ 457623487, 286239811 }, X{ -1100924567, 302230858 }, X{ 1686475437, 422909192 }, X{ -613050027, 425455728 }, X{ -1818935704, 202959143 }, X{ -1935032211, 7991178 }, X{ 1087973111, 299981990 }, X{ 1355837449, 82419730 }, X{ -1246247823, 460179142 }, X{ -622796352, 440409131 }, X{ 1913854855, 355146011 }, X{ 319621660, 413989936 }, X{ -1485035480, 393071740 }, X{ 1944217270, 157417378 }, X{ 963969155, 481958750 }, X{ -1668413329, 423711551 }, X{ -1261029261, 490187077 }, X{ 1336659642, 486684942 }, X{ 275690888, 334347972 }, X{ 1904903434, 184728229 }, X{ 1481304643, 215289928 }, X{ -561551198, 520394962 }, X{ -1442996290, 23174940 }, X{ 859649575, 303886107 }, X{ 861000290, 359618536 }, X{ 319070980, 245648249 }, X{ -1370130170, 54332941 }, X{ -1032137567, 188808633 }, X{ 1580206959, 311390099 }, X{ 801297727, 195545264 }, X{ -1378919471, 451426685 }, X{ -1029066185, 145335539 }, X{ 1877911799, 339519663 }, X{ 2013917064, 439251451 }, X{ -1148400771, 57121386 }, X{ 1892190551, 236299958 }, X{ -515096133, 125620370 }, X{ 73210628, 252081338 }, X{ 257802669, 417814762 }, X{ -1499904487, 169359427 }, X{ -1349238847, 132808390 }, X{ 61392070, 123979478 }, X{ 1603952830, 39011486 }, X{ 2000379798, 20448897 }, X{ -1293844821, 52683744 }, X{ 277061296, 181808366 }, X{ -74276183, 176511742 }, X{ -1604178001, 40043168 }, X{ 1372174866, 5613001 }, X{ 537710964, 72055391} }; END PolyBasis.