pub(super) const TABLE: [u32; 256] = [
0, 4067132163, 3778769143, 324072436, 3348797215, 904991772, 648144872,
3570033899, 2329499855, 2024987596, 1809983544, 2575936315, 1296289744,
3207089363, 2893594407, 1578318884, 274646895, 3795141740, 4049975192,
51262619, 3619967088, 632279923, 922689671, 3298075524, 2592579488,
1760304291, 2075979607, 2312596564, 1562183871, 2943781820, 3156637768,
1313733451, 549293790, 3537243613, 3246849577, 871202090, 3878099393,
357341890, 102525238, 4101499445, 2858735121, 1477399826, 1264559846,
3107202533, 1845379342, 2677391885, 2361733625, 2125378298, 820201905,
3263744690, 3520608582, 598981189, 4151959214, 85089709, 373468761,
3827903834, 3124367742, 1213305469, 1526817161, 2842354314, 2107672161,
2412447074, 2627466902, 1861252501, 1098587580, 3004210879, 2688576843,
1378610760, 2262928035, 1955203488, 1742404180, 2511436119, 3416409459,
969524848, 714683780, 3639785095, 205050476, 4266873199, 3976438427,
526918040, 1361435347, 2739821008, 2954799652, 1114974503, 2529119692,
1691668175, 2005155131, 2247081528, 3690758684, 697762079, 986182379,
3366744552, 476452099, 3993867776, 4250756596, 255256311, 1640403810,
2477592673, 2164122517, 1922457750, 2791048317, 1412925310, 1197962378,
3037525897, 3944729517, 427051182, 170179418, 4165941337, 746937522,
3740196785, 3451792453, 1070968646, 1905808397, 2213795598, 2426610938,
1657317369, 3053634322, 1147748369, 1463399397, 2773627110, 4215344322,
153784257, 444234805, 3893493558, 1021025245, 3467647198, 3722505002,
797665321, 2197175160, 1889384571, 1674398607, 2443626636, 1164749927,
3070701412, 2757221520, 1446797203, 137323447, 4198817972, 3910406976,
461344835, 3484808360, 1037989803, 781091935, 3705997148, 2460548119,
1623424788, 1939049696, 2180517859, 1429367560, 2807687179, 3020495871,
1180866812, 410100952, 3927582683, 4182430767, 186734380, 3756733383,
763408580, 1053836080, 3434856499, 2722870694, 1344288421, 1131464017,
2971354706, 1708204729, 2545590714, 2229949006, 1988219213, 680717673,
3673779818, 3383336350, 1002577565, 4010310262, 493091189, 238226049,
4233660802, 2987750089, 1082061258, 1395524158, 2705686845, 1972364758,
2279892693, 2494862625, 1725896226, 952904198, 3399985413, 3656866545,
731699698, 4283874585, 222117402, 510512622, 3959836397, 3280807620,
837199303, 582374963, 3504198960, 68661723, 4135334616, 3844915500,
390545967, 1230274059, 3141532936, 2825850620, 1510247935, 2395924756,
2091215383, 1878366691, 2644384480, 3553878443, 565732008, 854102364,
3229815391, 340358836, 3861050807, 4117890627, 119113024, 1493875044,
2875275879, 3090270611, 1247431312, 2660249211, 1828433272, 2141937292,
2378227087, 3811616794, 291187481, 34330861, 4032846830, 615137029,
3603020806, 3314634738, 939183345, 1776939221, 2609017814, 2295496738,
2058945313, 2926798794, 1545135305, 1330124605, 3173225534, 4084100981,
17165430, 307568514, 3762199681, 888469610, 3332340585, 3587147933,
665062302, 2042050490, 2346497209, 2559330125, 1793573966, 3190661285,
1279665062, 1595330642, 2910671697,
];
pub(super) const TABLE16: [[u32; 256]; 16] = [
[
0, 4067132163, 3778769143, 324072436, 3348797215, 904991772,
648144872, 3570033899, 2329499855, 2024987596, 1809983544, 2575936315,
1296289744, 3207089363, 2893594407, 1578318884, 274646895, 3795141740,
4049975192, 51262619, 3619967088, 632279923, 922689671, 3298075524,
2592579488, 1760304291, 2075979607, 2312596564, 1562183871,
2943781820, 3156637768, 1313733451, 549293790, 3537243613, 3246849577,
871202090, 3878099393, 357341890, 102525238, 4101499445, 2858735121,
1477399826, 1264559846, 3107202533, 1845379342, 2677391885,
2361733625, 2125378298, 820201905, 3263744690, 3520608582, 598981189,
4151959214, 85089709, 373468761, 3827903834, 3124367742, 1213305469,
1526817161, 2842354314, 2107672161, 2412447074, 2627466902,
1861252501, 1098587580, 3004210879, 2688576843, 1378610760,
2262928035, 1955203488, 1742404180, 2511436119, 3416409459, 969524848,
714683780, 3639785095, 205050476, 4266873199, 3976438427, 526918040,
1361435347, 2739821008, 2954799652, 1114974503, 2529119692,
1691668175, 2005155131, 2247081528, 3690758684, 697762079, 986182379,
3366744552, 476452099, 3993867776, 4250756596, 255256311, 1640403810,
2477592673, 2164122517, 1922457750, 2791048317, 1412925310,
1197962378, 3037525897, 3944729517, 427051182, 170179418, 4165941337,
746937522, 3740196785, 3451792453, 1070968646, 1905808397, 2213795598,
2426610938, 1657317369, 3053634322, 1147748369, 1463399397,
2773627110, 4215344322, 153784257, 444234805, 3893493558, 1021025245,
3467647198, 3722505002, 797665321, 2197175160, 1889384571, 1674398607,
2443626636, 1164749927, 3070701412, 2757221520, 1446797203, 137323447,
4198817972, 3910406976, 461344835, 3484808360, 1037989803, 781091935,
3705997148, 2460548119, 1623424788, 1939049696, 2180517859,
1429367560, 2807687179, 3020495871, 1180866812, 410100952, 3927582683,
4182430767, 186734380, 3756733383, 763408580, 1053836080, 3434856499,
2722870694, 1344288421, 1131464017, 2971354706, 1708204729,
2545590714, 2229949006, 1988219213, 680717673, 3673779818, 3383336350,
1002577565, 4010310262, 493091189, 238226049, 4233660802, 2987750089,
1082061258, 1395524158, 2705686845, 1972364758, 2279892693,
2494862625, 1725896226, 952904198, 3399985413, 3656866545, 731699698,
4283874585, 222117402, 510512622, 3959836397, 3280807620, 837199303,
582374963, 3504198960, 68661723, 4135334616, 3844915500, 390545967,
1230274059, 3141532936, 2825850620, 1510247935, 2395924756,
2091215383, 1878366691, 2644384480, 3553878443, 565732008, 854102364,
3229815391, 340358836, 3861050807, 4117890627, 119113024, 1493875044,
2875275879, 3090270611, 1247431312, 2660249211, 1828433272,
2141937292, 2378227087, 3811616794, 291187481, 34330861, 4032846830,
615137029, 3603020806, 3314634738, 939183345, 1776939221, 2609017814,
2295496738, 2058945313, 2926798794, 1545135305, 1330124605,
3173225534, 4084100981, 17165430, 307568514, 3762199681, 888469610,
3332340585, 3587147933, 665062302, 2042050490, 2346497209, 2559330125,
1793573966, 3190661285, 1279665062, 1595330642, 2910671697,
],
[
0, 329422967, 658845934, 887597209, 1317691868, 1562966443,
1775194418, 2054015301, 2635383736, 2394315727, 3125932886,
2851302177, 3550388836, 3225172499, 4108030602, 3883469565,
1069937025, 744974838, 411091311, 186800408, 1901039709, 1659701290,
1443537075, 1168652484, 2731618873, 2977147470, 2241069783,
2520160928, 3965408229, 4294560658, 3407766283, 3636263804,
2139874050, 1814657909, 1489949676, 1265388443, 822182622, 581114537,
373600816, 98970183, 3802079418, 4047354061, 3319402580, 3598223395,
2887074150, 3216496913, 2337304968, 2566056447, 1078858371,
1408010996, 1728782957, 1957280282, 247755615, 493284136, 696337329,
975428550, 3713716539, 3472378188, 4196393429, 3921508770, 2479927527,
2154965136, 3029696521, 2805405822, 4279748100, 3971309171,
3629315818, 3421531805, 2979899352, 2722054063, 2530776886,
2239369025, 1644365244, 1906417099, 1162229074, 1457827109, 747201632,
1059847191, 197940366, 409914617, 3235002245, 3547377650, 3885434731,
4097154844, 2388153945, 2650459694, 2837276343, 3133144768,
1573319741, 1315204170, 2055455955, 1763794084, 323786209, 15601046,
873047311, 665533816, 2157716742, 2470362481, 2816021992, 3027996063,
3457565914, 3719617709, 3914560564, 4210158659, 495511230, 237665993,
986568272, 695160359, 1392674658, 1084235541, 1950857100, 1743073275,
3210335367, 2902150384, 2552030313, 2344516638, 4057183579,
3799067948, 3600188853, 3308527042, 575477567, 837783368, 84420561,
380288934, 1825011427, 2137386644, 1266828813, 1478549114, 4223924985,
3898696334, 3699821079, 3475264096, 3041499941, 2800419666,
2450303947, 2175677372, 1725380929, 1970643254, 1100089775,
1378914776, 677206173, 1006616810, 253257843, 482013188, 3288730488,
3617886991, 3812834198, 4041319393, 2324458148, 2569990867,
2915654218, 3194733117, 1494403264, 1253068983, 2119694382,
1844797529, 395880732, 70922603, 819829234, 595526021, 2219317755,
2548728204, 2735548693, 2964304226, 3401742375, 3647004752,
3985066185, 4263891134, 425515587, 184435252, 1041885869, 767259354,
1473690527, 1148462056, 1888717681, 1664160518, 3146639482,
2821681165, 2630408340, 2406105315, 4110911910, 3869577681,
3527588168, 3252691263, 647572418, 893105077, 31202092, 310281051,
1746094622, 2075251305, 1331067632, 1559552647, 81018109, 393651338,
596708371, 808686692, 1247698209, 1509737814, 1830514127, 2126116280,
2579562309, 2321704754, 3196440491, 2905036764, 3611991705,
3303540462, 4027559543, 3819779584, 991022460, 682841355, 475331986,
267806181, 1973136544, 1715025111, 1390320718, 1098646585, 2785349316,
3047659187, 2168471082, 2464327261, 3901714200, 4214093679,
3486146550, 3697854337, 2069880831, 1761429384, 1545269009,
1337489254, 903200291, 645342804, 311463629, 20059834, 3863682119,
4125721648, 3238931625, 3534533854, 2831252891, 3143886316,
2407812469, 2619790594, 1150955134, 1463334409, 1675566736,
1887274727, 168841122, 431151061, 760577868, 1056433979, 3650022854,
3391911345, 4274773288, 3983099231, 2533657626, 2225476717,
2957098228, 2749572227,
],
[
0, 2772537982, 1332695565, 3928932467, 2665391130, 1000289892,
3518101015, 1961911401, 944848581, 2635115707, 2000579784, 3531603638,
2794429151, 63834273, 3923822802, 1285642924, 1889697162, 3588485108,
1070411655, 2592914937, 4001159568, 1262308334, 2702412701, 72489443,
1223902031, 3987919153, 127668546, 2732426044, 3593332565, 1936487723,
2571285848, 1006839590, 3779394324, 1141205354, 2922096921, 191511399,
2140823310, 3671838064, 821366019, 2511642493, 3642082769, 2085902255,
2524616668, 859506082, 1204511179, 3800757173, 144978886, 2917507512,
2447804062, 883365088, 3733574803, 2076722925, 255337092, 2860101882,
1079472265, 3843482359, 2847389787, 217459237, 3872975446, 1134131240,
929635393, 2452131391, 2013679180, 3712474162, 3345318105, 1646531239,
2282410708, 759906474, 1505436867, 4244289213, 383022798, 3012945072,
4281646620, 1517628514, 2958814225, 354057839, 1642732038, 3299575928,
780486667, 2344934005, 3083337043, 310800173, 4171804510, 1575566624,
689527113, 2354629431, 1719012164, 3275200826, 2409022358, 718754280,
3237581211, 1706558437, 289957772, 3020551666, 1579627905, 4217808895,
639728589, 2204166579, 1766730176, 3423583166, 3103776727, 499010985,
4153445850, 1389436836, 510674184, 3140605814, 1360992005, 4099835259,
2158944530, 636449644, 3485578015, 1786782049, 1451427399, 4089615417,
434918474, 3165505076, 3361579613, 1830563875, 2268262480, 577987118,
1859270786, 3415452412, 566061711, 2231171313, 4027358360, 1431113446,
3210989205, 438459627, 2334619459, 778495293, 3293062478, 1628026672,
368694105, 2964865319, 1519812948, 4292285226, 3010873734, 372759544,
4229503883, 1498974709, 766045596, 2297004002, 1657257873, 3347459567,
4219800265, 1589942455, 3035257028, 296471226, 1700507347, 3222944941,
708115678, 2406837920, 3285464076, 1721083506, 2361091585, 704312447,
1560973334, 4165665384, 308658715, 3072610405, 1784908887, 3475119657,
621600346, 2152549412, 4106037325, 1375517235, 3151133248, 513009726,
1379054226, 4151517420, 492691615, 3088872161, 3438024328, 1772979446,
2206418053, 650303227, 448917981, 3212862371, 1437508560, 4042207662,
2216646087, 559859641, 3413116874, 1848743348, 579915544, 2278645094,
1845468437, 3367898987, 3159255810, 420477308, 4079040783, 1449175921,
1279457178, 3909314020, 53323159, 2792110057, 3533460352, 2011021822,
2649948557, 951227379, 1947453791, 3511835425, 998021970, 2654800172,
3939331397, 1334640443, 2778873672, 14921014, 1021348368, 2577471598,
1938806813, 3603843683, 2721984010, 125811828, 3981540359, 1209069177,
78755029, 2716870315, 1272899288, 4003427494, 2590970063, 1060012721,
3573564098, 1883361468, 2902854798, 138911472, 3798556291, 1193856253,
869836948, 2526624490, 2092432025, 3656804583, 2505519691, 806789173,
3661127750, 2138698296, 193566289, 2932343855, 1155974236, 3785840162,
3718541572, 2028331898, 2462786313, 931836279, 1132123422, 3862644576,
202737427, 2840860013, 3858059201, 1085595071, 2862226892, 266047410,
2066475995, 3731519909, 876919254, 2433035176,
],
[
0, 3712330424, 3211207553, 1646430521, 2065838579, 2791807819,
3292861042, 419477706, 4131677158, 721537374, 1227047015, 2489772767,
2372293141, 1344534701, 838955412, 4014267180, 3915690301, 874584965,
1443074748, 2336634884, 2454094030, 1325607542, 757179215, 4033087991,
522244827, 3261429859, 2689069402, 2097306594, 1677910824, 3108456848,
3680878761, 102787601, 3609531531, 174112307, 1749169930, 3037175218,
2886149496, 1900187584, 325060345, 3458575425, 560035693, 4230274517,
2651215084, 1128529492, 1514358430, 2265377830, 3844367647, 945934247,
1044489654, 3808694030, 2166785591, 1550003343, 1164153925,
2552643325, 4194613188, 658578812, 3355821648, 356543720, 2002970065,
2854702953, 3005740963, 1851940123, 205575202, 3506798234, 2879807463,
1994650975, 348224614, 3380926174, 3498339860, 230802604, 1877167509,
2997282605, 1575107585, 2158466745, 3800375168, 1069593912, 650120690,
4219840330, 2577870451, 1155695819, 1120071386, 2676442210,
4255501659, 551577571, 971038505, 3836048785, 2257058984, 1539462672,
3028716860, 1774397316, 199339709, 3601073157, 3483679951, 316741239,
1891868494, 2911254006, 2088979308, 2714165716, 3286526189, 513917525,
128023199, 3672428583, 3100006686, 1703146406, 2328307850, 1468170802,
899681035, 3907363251, 4058323321, 748729281, 1317157624, 2479329344,
2515008081, 1218597097, 713087440, 4156912488, 4005940130, 864051482,
1369630755, 2363966107, 1671666103, 3202757391, 3703880246, 25235598,
411150404, 3317957372, 2816904133, 2057511293, 1386268991, 2414175111,
3989301950, 813842438, 696449228, 4106703476, 2531646285, 1268806133,
2766449369, 2040594529, 461605208, 3334874080, 3754335018, 42152338,
1621211307, 3185840659, 3150215170, 1719784122, 77814659, 3655790907,
3236317681, 497279817, 2139187824, 2730803400, 1300241380, 2428875100,
4075239525, 799183581, 916597271, 3957817519, 2311391638, 1417716526,
2240142772, 1489008396, 987954741, 3886503053, 4272417863, 602031871,
1103155142, 2625987966, 1942077010, 2927891690, 3433471443, 300103531,
149131169, 3584435481, 3078925344, 1791035032, 1826712713, 2980365873,
3548794632, 247719344, 398679418, 3397842882, 2829352699, 1977734211,
2594508655, 1205904855, 633482478, 4169631318, 3783736988, 1019384868,
1591745821, 2208675749, 4177958616, 608386144, 1180808537, 2602835937,
2183440171, 1600195987, 1027835050, 3758501394, 256046398, 3523698566,
2955269823, 1835039751, 1952498893, 2837802613, 3406292812, 373444084,
274868197, 3441921373, 2936341604, 1916841692, 1799362070, 3053829294,
3559339415, 157458223, 3861267459, 996404923, 1497458562, 2214907194,
2634315248, 1078058824, 576935537, 4280745161, 774079059, 4083558635,
2437194194, 1275136874, 1426174880, 2286164248, 3932590113, 925055641,
3630686645, 86133517, 1728102964, 3125110924, 2739261510, 2113960702,
472052679, 3244775807, 3343332206, 436378070, 2015367407, 2774907479,
3160736413, 1629530149, 50471196, 3729230756, 822300808, 3964074544,
2388947721, 1394727345, 1243701627, 2539965379, 4115022586, 671344706,
],
[
0, 940666796, 1881333592, 1211347188, 3762667184, 3629437212,
2422694376, 2826309188, 3311864721, 4252394557, 3041252553,
2371140453, 623031585, 489937549, 1426090617, 1829832149, 2401395155,
3073576575, 4278238859, 3339833639, 1869078371, 1467396303, 524615739,
659845015, 1246063170, 1918109166, 979875098, 41343670, 2852181234,
2450635614, 3659664298, 3795018758, 464041303, 599382779, 1804233231,
1402668451, 4226616295, 3288097867, 2345653439, 3017718547,
3738156742, 3873362282, 2934792606, 2533101106, 1049231478, 110850010,
1319690030, 1991880834, 2492126340, 2895887144, 3836218332,
3703137392, 1959750196, 1289618840, 82687340, 1023204032, 1374543637,
1778167993, 567214157, 434008033, 2980602277, 2310606345, 3247095549,
4187738449, 928082606, 255853826, 1198765558, 2137184858, 3608466462,
4010130354, 2805336902, 2670159082, 4063650111, 3391557267,
2182397543, 3120943563, 309583759, 711110691, 1649475799, 1514172283,
3094547325, 2153931985, 3360805925, 4030774153, 1479980493,
1613224545, 672426645, 268764473, 2098462956, 1157984064, 221700020,
891793432, 2639380060, 2772488688, 3983761668, 3579973288, 754573305,
350793813, 1557856417, 1690988301, 3434897737, 4104982245, 3164519953,
2224017853, 3919500392, 3515857860, 2579237680, 2712495260, 165374680,
835323252, 2046408064, 1105779244, 2749087274, 2613760390, 3556335986,
3957853918, 1134428314, 2072997686, 868016066, 195932270, 1723643323,
1588451863, 379480803, 781124943, 2264468235, 3202901159, 4141601875,
3469392895, 1856165212, 1454619376, 511707652, 647062952, 2397531116,
3069576256, 4274369716, 3335838488, 2881871565, 2480189793,
3689349525, 3824578105, 1266704509, 1938886609, 1000521509, 62115977,
3783308431, 3650214691, 2443340759, 2847081595, 29690431, 970220947,
1911018855, 1240906443, 619167518, 485937330, 1422221382, 1825837034,
3298951598, 4239617538, 3028344566, 2358358362, 1963614219,
1293619111, 86556499, 1027199231, 2505039547, 2908664087, 3849126371,
3715919439, 2959960986, 2289828918, 3226449090, 4166966126,
1344853290, 1748613766, 537528946, 404448734, 4196925912, 3258543732,
2315968128, 2988159276, 443400040, 578605252, 1783586864, 1381896092,
1062144585, 123626981, 1332598033, 2004662973, 3742020857, 3877362517,
2938661793, 2537096205, 1509146610, 1642254430, 701587626, 297799430,
3115712834, 2175233774, 3381976602, 4052070838, 2626991203,
2760235983, 3971377979, 3567715479, 2094074579, 1153459583, 217306507,
887274023, 3604078113, 4005605773, 2800943481, 2665639637, 915693713,
243601213, 1186381769, 2124927077, 330749360, 732412444, 1670646504,
1535468868, 4092816128, 3420587180, 2211558488, 3149978612,
1113262757, 2051695881, 846845437, 174635601, 2719921173, 2584730553,
3527174989, 3928818913, 2268856628, 3207425688, 4145995372,
3473912256, 1736032132, 1600704552, 391864540, 793382768, 3447286646,
4117234906, 3176903726, 2236275586, 758961606, 355318378, 1562249886,
1695507762, 136208615, 806293323, 2017247167, 1076744211, 3898334807,
3494556155, 2558066959, 2691198627,
],
[
0, 4012927769, 3683426499, 884788186, 3002414967, 1573215342,
1769576372, 2252995757, 1611012127, 2402710278, 3146430684,
1421530053, 3539152744, 1036207217, 159354795, 3863995570, 3222024254,
792484647, 461410557, 4105239524, 1928922953, 2647223376, 2843060106,
1178979475, 2685020193, 1329218360, 2072414434, 2495013883, 318709590,
4258231375, 3379806101, 641979532, 2247366285, 1791262100, 1584969294,
2974342487, 922821114, 3627109091, 3968696633, 62777888, 3857845906,
180512139, 1048489553, 3511600456, 1460091365, 3090633468, 2357958950,
1673261631, 1173890739, 2865253802, 2658436720, 1900342633,
4144828868, 406682333, 746696967, 3283212830, 637419180, 3402519989,
4268924527, 289600886, 2534083035, 2017157826, 1283959064, 2746728961,
235166699, 3778294002, 3582524200, 985174065, 3169938588, 1405159301,
1736297567, 2286790470, 1845642228, 2167548141, 3046040375,
1522436142, 3707204739, 868687770, 125555776, 3897278297, 3456658389,
557318348, 361024278, 4206141455, 2096979106, 2479699899, 2809265249,
1212258168, 2920182730, 1094588627, 1971507977, 2595403792, 486229181,
4090179492, 3346523262, 675778407, 2347781478, 1690314367, 1350364581,
3209463484, 956660241, 3593801992, 3800685266, 230273483, 3958789497,
80100960, 813364666, 3746209443, 1493393934, 3056797975, 2190459597,
1841277396, 1274838360, 2764838465, 2423315867, 2134947458,
4178135599, 372842806, 579201772, 3451224565, 737830215, 3301576286,
4034315652, 524725917, 2567918128, 1983854889, 1115943667, 2914228714,
470333398, 4080590031, 3347322645, 682916876, 2935849121, 1104014264,
1970348130, 2587970427, 2081337289, 2470364368, 2810318602,
1219650579, 3472595134, 567014311, 360134781, 4198978404, 3691284456,
859106545, 126363435, 3904392242, 1861333151, 2176965510, 3044872284,
1515027269, 3154288631, 1395848430, 1737375540, 2294174765, 251111552,
3787965337, 3581610051, 978019162, 2583470427, 1993132610, 1114636696,
2906679937, 722048556, 3292134709, 4035262191, 531979766, 4193958212,
382390877, 578165127, 3443946142, 1259310643, 2755650858, 2424516336,
2142455273, 1508938085, 3066100348, 2189177254, 1833720511,
3943015954, 70634763, 814286545, 3753471432, 972458362, 3603358307,
3799656889, 222970528, 2332278285, 1681118484, 1351556814, 3216995799,
302836797, 4248602404, 3380628734, 649078759, 2700729162, 1338617939,
2071296905, 2487554192, 1913320482, 2637864763, 2844153057,
1186349048, 3237987157, 802138188, 460546966, 4098033807, 3523271683,
1026602778, 160201920, 3871086553, 1626729332, 2412085357, 3145288631,
1414078638, 2986787868, 1563864837, 1770677471, 2260340678, 15987563,
4022573170, 3682554792, 877607089, 2549676720, 2026410409, 1282693747,
2739155306, 621661639, 3393038046, 4269894916, 296814109, 4160676527,
416188854, 745685612, 3275893109, 1158403544, 2856042177, 2659677467,
1907826178, 1475660430, 3099894167, 2356701773, 1665663316,
3842113017, 171022048, 1049451834, 3518838307, 938660497, 3636640136,
3967709778, 55449931, 2231887334, 1782025983, 1586185509, 2981834300,
],
[
0, 1745038536, 3490077072, 3087365464, 2782971345, 3454265625,
1978047553, 501592201, 1311636819, 640602523, 2653660355, 4129851403,
3956095106, 2211320906, 1003184402, 1405636058, 2623273638,
4099462766, 1281205046, 610177022, 968572791, 1371018175, 3921503975,
2176731695, 3530950645, 3128240957, 40918629, 1785950893, 2006368804,
529919724, 2811272116, 3482564476, 1029407677, 1431875445, 3982350893,
2237593317, 2562410092, 4038617764, 1220354044, 549335860, 1937145582,
460673574, 2742036350, 3413314486, 3600202559, 3197474807, 110158511,
1855180391, 2701162779, 3372438995, 1896226955, 419761219, 81837258,
1826852866, 3571901786, 3169175954, 4012737608, 2267981952,
1059839448, 1462300944, 1254965657, 583953745, 2597001225, 4073206977,
2058815354, 313797554, 2863750890, 3266474530, 3747070635, 3075796579,
257006395, 1733474291, 882571817, 1553585889, 3835470777, 2359267185,
2440708088, 4185461552, 1098671720, 696208032, 3874291164, 2398081300,
921347148, 1592363140, 1124874253, 722408645, 2466931101, 4211690837,
2831220879, 3233950791, 2026330399, 281310679, 220317022, 1696786838,
3710360782, 3039080454, 1206682823, 804235279, 2548751703, 4293521823,
3792453910, 2316266974, 839522438, 1510552654, 163674516, 1640125788,
3653705732, 2982415564, 2887892037, 3290599565, 2082989525, 337955101,
3686235745, 3014939305, 196159473, 1672612665, 2119678896, 374642552,
2924601888, 3327315688, 2509931314, 4254707706, 1167907490, 765458026,
813319907, 1484352043, 3766230899, 2290037691, 4117630708, 2641175100,
627595108, 1298889644, 1351535397, 948824045, 2156434101, 3901472381,
3141792679, 3544244079, 1799727671, 54953727, 514012790, 1990204094,
3466948582, 2795914030, 1765143634, 20371610, 3107171778, 3509616906,
3436523907, 2765495627, 483616787, 1959806171, 655886593, 1327179209,
4145959057, 2669509721, 2197343440, 3942375448, 1392416064, 989706632,
3358952777, 2687934849, 406050009, 1882257425, 1842694296, 97936464,
3184726280, 3587194304, 2249748506, 3994770642, 1444817290,
1042089282, 603502027, 1274779907, 4093570139, 2617098387, 1416525807,
1013799719, 2221420159, 3966436023, 4052660798, 2576195318, 562621358,
1233897318, 440634044, 1916839540, 3393573676, 2722562020, 3215150957,
3617612709, 1873090301, 128334389, 2413365646, 3889833286, 1608470558,
937196758, 708430943, 1111154839, 4198471119, 2453453063, 3254056157,
2851592213, 301116749, 2045870469, 1679044876, 202841540, 3021105308,
3692119124, 327349032, 2072109024, 3280251576, 2877785712, 3059889913,
3730905649, 1717858153, 241648545, 1571753595, 900473523, 2376685547,
3853155107, 4165979050, 2420959074, 675910202, 1078640370, 2994899507,
3665929979, 1652872099, 176684907, 392318946, 2137088810, 3345225330,
2942778042, 4239357792, 2494323624, 749285104, 1151992376, 1498395313,
827104889, 2303322913, 3779774441, 786002069, 1188715613, 4276037893,
2531001805, 2335814980, 3812268428, 1530916052, 859619356, 1626639814,
150446350, 2968704086, 3639736478, 3306440727, 2903991519, 353505671,
2098281807,
],
[
0, 1228700967, 2457401934, 3678701417, 555582061, 1747058506,
3009771555, 4200137988, 1111164122, 185039357, 3494117012, 2575270835,
1663469239, 706411408, 4049501433, 3093430750, 2222328244, 3444208787,
370078714, 1597148893, 2775288793, 3965187838, 924021143, 2117012656,
3326938478, 2406576201, 1412822816, 487164423, 3880816387, 2926375460,
1965585741, 1007945834, 218129817, 1144789182, 2675482583, 3594838768,
740157428, 1696701139, 3194297786, 4149829789, 1329291587, 101129316,
3712195341, 2491409962, 1848042286, 656055817, 4234025312, 3043124295,
2306239533, 3226079498, 453940835, 1379068740, 2825645632, 3780612967,
974328846, 1932486953, 3410847991, 2188449232, 1496683193, 269086622,
3931171482, 2741802941, 2015891668, 823422451, 436259634, 1396487701,
2289578364, 3242478683, 991775071, 1914778744, 2842014481, 3763981878,
1480314856, 285717199, 3393402278, 2206156929, 2032553349, 807022754,
3948853195, 2724383468, 2658583174, 3612000161, 202258632, 1160922607,
3211477227, 4132912588, 756267685, 1680852866, 3696084572, 2507258747,
1312111634, 118047029, 4249895985, 3026991382, 1864941183, 638894936,
385920683, 1581044620, 2239255781, 3427019202, 907881670, 2132890081,
2758137480, 3982076847, 1429973617, 470275926, 3343077439, 2390699288,
1948657692, 1025135931, 3864973906, 2942480245, 2474026783,
3662338616, 17718609, 1211244662, 2993366386, 4216805461, 538173244,
1764729371, 3511526341, 2557599458, 1127569803, 168371372, 4031783336,
3110886543, 1646844902, 722773697, 872519268, 2101209923, 2792975402,
4014280973, 354161673, 1545627950, 2271538759, 3461911392, 1983550142,
1057419161, 3829557488, 2910721495, 1462178003, 505114100, 3311397533,
2355337146, 2960629712, 4182500087, 571434398, 1798510777, 2439650749,
3629539482, 51570675, 1244568276, 4065106698, 3144738349, 1614045508,
688397411, 3545307495, 2590860352, 1093264169, 135634446, 956429309,
1883082458, 2876836275, 3796202644, 404517264, 1361054903, 2321845214,
3277387513, 2067461927, 839289344, 3913420137, 2692640846, 1512535370,
320538733, 3361705732, 2170810915, 3178756681, 4098590574, 789512199,
1714650400, 2624223268, 3579184387, 236094058, 1194262349, 4283235987,
3060827060, 1832125661, 604535290, 3729882366, 2540503513, 1277789872,
85326743, 771841366, 1732059249, 3162089240, 4114995775, 253550395,
1176543772, 2640586101, 3562559570, 1815763340, 621159595, 4265780162,
3078545125, 1294457825, 68921030, 3747553711, 2523094152, 2859947234,
3813353925, 940551852, 1899221899, 2339034767, 3260459944, 420621505,
1345212902, 3897315384, 2708483359, 2050271862, 856217425, 3377582677,
2154671986, 1529423899, 303387964, 587282639, 1782400488, 2977546881,
4165320614, 35437218, 1260439429, 2422489324, 3646438859, 1631206421,
671498546, 4081239643, 3128867708, 1076346488, 152814431, 3529458742,
2606971153, 2809606523, 3997912156, 890227509, 2083763730, 2255139606,
3478572593, 336742744, 1563309183, 3846976929, 2893039750, 1999949807,
1040757448, 3293689804, 2372782827, 1445547394, 521482405,
],
[
0, 4097758792, 3985758817, 430902313, 3738157619, 720442491,
861804626, 3345010202, 3094606487, 1280124127, 1440884982, 2715614910,
1723609252, 2458052332, 2335042245, 2131967117, 1963693023,
2167752087, 2560248254, 1822728182, 2881769964, 1610254244,
1180011405, 2993380805, 3447218504, 960935680, 552188713, 3570888033,
330802043, 3884545331, 4263934234, 169389906, 3927386046, 506065398,
126287327, 4088933271, 886629773, 3236312005, 3645456364, 762833316,
1382339881, 2790916961, 3220508488, 1271650560, 2360022810,
2023080274, 1631243643, 2500074291, 2669458529, 1797415465,
1921871360, 2259925064, 1104377426, 3052249114, 2890050611,
1484552827, 661604086, 3545338046, 3405683863, 1052789471, 4188046533,
228479629, 338779812, 3759114476, 3519166861, 637333445, 1012130796,
3362600356, 252574654, 4214435318, 3801883103, 379778967, 1773259546,
2643402066, 2216694139, 1881065267, 3078490409, 1128324961,
1525666632, 2932933888, 2764679762, 1358396442, 1230532659,
3177621115, 2047240289, 2386083369, 2543301120, 1672045640, 481974469,
3901001357, 4046160548, 85284076, 3262487286, 910904510, 803487895,
3688535775, 1003822643, 3488335995, 3594830930, 578425370, 3843742720,
287574600, 143328865, 4239773737, 2208754852, 2006465260, 1849112261,
2584338573, 1567174295, 2841114847, 2969105654, 1153835710,
1323208172, 3135265700, 2739885965, 1467056581, 2417053663,
1680841111, 2105578942, 2310947830, 4138565499, 43231539, 456959258,
4009915218, 677559624, 3697044224, 3321063209, 835563873, 2791835115,
1381421987, 1274666890, 3217492418, 2024261592, 2358841744,
2503351737, 1627966449, 505149308, 3928301876, 4085919005, 129301333,
3235132751, 887808775, 759557934, 3648731494, 3546519092, 660422780,
1056066645, 3402406429, 229397511, 4187128399, 3762130534, 335763502,
1796236451, 2670637803, 2256649922, 1925146762, 3051333264,
1105293528, 1481538801, 2893064889, 1283400277, 3091330077,
2716792884, 1439706748, 2461065318, 1720596014, 2132883975,
2334125135, 4094480578, 3278474, 429722275, 3986939115, 717427441,
3741172921, 3344091280, 862723800, 963948938, 3444205506, 3571805163,
551271843, 3887821753, 327525873, 170568152, 4262756240, 2164736797,
1966708053, 1821809020, 2561167156, 1606975790, 2885048166,
2992200527, 1181191431, 2007645286, 2207574574, 2587616775,
1845833807, 2842033749, 1566255133, 1156850740, 2966090364,
3487158001, 1005000889, 575149200, 3598107352, 286657730, 3844659850,
4236760739, 146342123, 44150713, 4137646577, 4012930520, 453944208,
3698224522, 676379586, 838842347, 3317784995, 3134348590, 1324125030,
1464043343, 2742898951, 1679662877, 2418231637, 2307671420,
2108855092, 2646416344, 1770245520, 1881981369, 2215778289,
1131600363, 3075215267, 2934113162, 1524487618, 634317135, 3522182919,
3361682222, 1013048678, 4211157884, 255851828, 378597661, 3803064149,
3904276487, 478699087, 86463078, 4044981294, 913918516, 3259473020,
3689451605, 802571805, 1355119248, 2767957208, 3176440049, 1231713977,
2383067299, 2050256619, 1671127746, 2544219274,
],
[
0, 3411442597, 2470478267, 1477900830, 594376071, 3896184354,
2955801660, 2071695257, 1188752142, 2374799531, 3583666869, 516690192,
1706532489, 2934039852, 4143390514, 1033987223, 2377504284,
1189326265, 519395239, 3584240642, 2933433243, 1703860286, 1033380384,
4140718469, 3413064978, 3753655, 1479523497, 2474231564, 3892463765,
592720688, 2067974446, 2954146443, 512219849, 3587285356, 2378652530,
1183916247, 1038790478, 4139570411, 2930388725, 1711035728,
1482502599, 2466990690, 3407720572, 4967385, 2066760768, 2959491045,
3899704827, 589741662, 2469530837, 1482979184, 7507310, 3408197323,
2959046994, 2064188151, 589297897, 3897131852, 3588810715, 515808382,
1185441376, 2382241221, 4135948892, 1037298169, 1707414503,
2928896066, 1024439698, 4133080631, 2924426281, 1696157580, 509788181,
3577002928, 2367832494, 1182022155, 2077580956, 2961384761,
3902136103, 600024194, 1488464667, 2481868990, 3422071456, 11456773,
2965005198, 2079070251, 603644469, 3903625616, 2480346633, 1484877228,
9934770, 3418483735, 4133521536, 1027011365, 1696598331, 2926998174,
3574463751, 509314722, 1179483324, 2367358745, 596143963, 3906868478,
2965958368, 2073990469, 15014620, 3417530745, 2477103975, 1492377794,
1699906645, 2919563248, 4128376302, 1027898955, 1178595794,
2372504183, 3581898857, 506006476, 2923280711, 1701561058, 1031616764,
4130030425, 2370882752, 1174845285, 504384891, 3578148574, 3907473993,
598813164, 2074596338, 2968627287, 3414829006, 14441579, 1489675893,
2476531152, 2048879396, 2974355585, 3915377311, 571052346, 1500651171,
2451858694, 3392315160, 23389373, 1019576362, 4153670543, 2944729489,
1691580980, 531166637, 3573452296, 2364044310, 1203638195, 4155161912,
1023198877, 1693072515, 2948351782, 3569862847, 529642266, 1200048388,
2362520225, 2976929334, 2049322387, 573626253, 3915820072, 2451383217,
1498109972, 22913546, 3389774255, 1687728621, 2949565000, 4158140502,
1015958515, 1207288938, 2359541711, 3568649681, 534986356, 574773987,
3910410566, 2969754456, 2052366589, 19869540, 3396949185, 2456792799,
1496962426, 3912067057, 578493524, 2054022730, 2973474287, 3393196662,
18246099, 1493210061, 2455169128, 2952236287, 1688336218, 1018629444,
4158748385, 2358966648, 1204585181, 534411459, 3565945702, 1192287926,
2353440019, 3562037005, 520496296, 1685957425, 2938884244, 4147980938,
1013666095, 30029240, 3399241245, 2458563587, 1507643302, 581386303,
3924900762, 2984755588, 2058467873, 3399813290, 32731919, 1508215057,
2461266612, 3922230573, 580781704, 2055797910, 2984150835, 2357191588,
1193908225, 524247583, 3563657658, 2937230883, 1682238854, 1012012952,
4144262205, 1503069311, 2462154714, 3403122116, 25296481, 2063233528,
2980842077, 3921342531, 585927654, 525201265, 3558577364, 2349690570,
1197151599, 1008769782, 4151763283, 2942311245, 1681285352,
3559051875, 527739334, 1197626328, 2352228477, 4149192676, 1008327745,
1678714463, 2941869562, 2465741165, 1504592584, 28883158, 3404645235,
2979351786, 2059614031, 584437073, 3917723380,
],
[
0, 2540828609, 722442611, 3162402482, 1444885222, 3245262119,
2098244501, 3932249172, 2889770444, 995070477, 2268200127, 272632702,
4196489002, 1834000619, 3509505625, 1180645784, 1569766761,
3403762344, 1990140954, 3790525403, 193957775, 2633922638, 545265404,
3086082365, 4054767781, 1725902692, 3668001238, 1305523735,
2813454915, 817896834, 2361291568, 466584817, 3139533522, 743476499,
2418992033, 123671648, 3980281908, 2052046837, 3325153607, 1363158662,
387915550, 2154752223, 1007715949, 2875290028, 1090530808, 3597785657,
1779414155, 4252910410, 3870410683, 1908420730, 3451805384,
1523558665, 2964256093, 668926620, 2611047470, 214997999, 1250927223,
3724432822, 1635793668, 4143041733, 479236241, 2346805072, 933169634,
2700017187, 1940816725, 3839849620, 1486952998, 3486576103, 632402355,
2998945394, 247343296, 2580537089, 3750815385, 1222709592, 4104093674,
1676576811, 2307904639, 519971774, 2726317324, 905034445, 775831100,
3109014013, 87140175, 2453688462, 2015431898, 4015061787, 1395561897,
3294585448, 2181061616, 359771185, 2836382339, 1048458562, 3558828310,
1131323095, 4279300197, 1751189412, 3364878727, 1610485318,
3816841460, 1961989941, 2660289377, 165756064, 3047117330, 586065363,
1689361483, 4089473930, 1337853240, 3637506809, 850308781, 2782878060,
429995998, 2396045343, 2501854446, 40809263, 3188776349, 694233692,
3271587336, 1416724937, 3893358459, 2138970298, 958472482, 2924533475,
305051729, 2237616016, 1866339268, 4165985285, 1144097463, 3544218998,
3881633450, 1881993579, 3427966937, 1529047064, 2973905996, 640926605,
2588781887, 222059262, 1264804710, 3692205223, 1617754645, 4145876436,
494686592, 2316150337, 913557747, 2701279026, 3134045123, 767314946,
2445419184, 112448881, 3973220645, 2074312420, 3353153622, 1353508759,
385080847, 2172791246, 1039943548, 2861412541, 1089268969, 3617397544,
1810068890, 4237460059, 1551662200, 3406662585, 2004083979,
3758232266, 174280350, 2635250015, 560781293, 3055362092, 4030863796,
1731456629, 3679289543, 1279031046, 2791123794, 825023635, 2371007009,
438519264, 32293137, 2526885584, 719542370, 3180507043, 1475605495,
3229746230, 2096917124, 3951926597, 2916263133, 983782172, 2262646190,
296536687, 4224554555, 1824285178, 3502378824, 1202976905, 2498987519,
58880574, 3220970636, 680389453, 3270293273, 1436369112, 3923979882,
2123553195, 953016371, 2948339698, 331512128, 2226359937, 1859310293,
4188218644, 1172130726, 3534535783, 3378722966, 1578291031,
3798770149, 1964856868, 2675706480, 135134641, 3027473155, 587359426,
1700617562, 4063013531, 1314047017, 3642962920, 859991996, 2754844797,
407762639, 2403074318, 802357037, 3097692396, 81618526, 2477560223,
2043530699, 4005313034, 1388467384, 3316884345, 2213321441, 345861408,
2833449874, 1066595411, 3589515271, 1115840454, 4277940596,
1770899125, 1916944964, 3845371269, 1498274615, 3460050166, 610103458,
3006039907, 257092049, 2552438288, 3732678536, 1225642057, 4118003451,
1644316986, 2288194926, 521331375, 2741799965, 874347484,
],
[
0, 829543472, 1659086944, 1402109008, 3318173888, 4105602288,
2804218016, 2522164368, 2388842353, 3205694273, 3967909649,
3723537185, 1269139377, 2060735361, 692465617, 406322145, 422172691,
676858915, 2076864627, 1253811267, 3706620115, 3986644195, 3188531379,
2407330947, 2538278754, 2788875090, 4121470722, 3302585138,
1384931234, 1677560722, 812644290, 18752498, 844345382, 52585494,
1353717830, 1640090742, 4153729254, 3336910038, 2507622534,
2751896758, 3157354327, 2369827687, 3738357559, 4020443911,
2046179223, 1216865191, 454402039, 711216071, 729442357, 436976645,
1234813013, 2028475493, 4005378293, 3754749125, 2355007637,
3173991589, 2769862468, 2489936756, 3355121444, 4136289044,
1625288580, 1370373044, 37504996, 860722132, 1688690764, 1440134268,
105170988, 926227484, 2707435660, 2417091772, 3280181484, 4075965660,
3938826045, 3686032141, 2284199773, 3109538669, 788719613, 510866381,
1306611613, 2089851821, 2106505311, 1291807855, 527241279, 773637135,
3091851423, 2302164143, 3668590847, 3957036239, 4092358446,
3265116958, 2433730382, 2692617086, 908804078, 123399134, 1422432142,
1706640318, 1458884714, 1736770650, 873953290, 90614842, 2469626026,
2722256026, 4056950986, 3231841530, 3633710875, 3924284203,
3128274811, 2332326731, 491870171, 740328427, 2142437307, 1321413515,
1339885689, 2125257801, 759078937, 474969129, 2316982457, 3144387721,
3908694233, 3649578217, 3250577160, 4040035128, 2740746088,
2452464472, 75009992, 889805816, 1721444264, 1475015576, 3377381528,
4164883624, 2880268536, 2598157512, 210341976, 1039680616, 1852454968,
1595665416, 1194072041, 1985856473, 634371977, 348023737, 2196457257,
3013251865, 3758681929, 3514383225, 3496417419, 3776367803,
2995040491, 2213897435, 362825803, 617716859, 2000937003, 1177695259,
1577439226, 1869880266, 1021732762, 228045738, 2613223226, 2863876874,
4179703642, 3360744298, 4213010622, 3396117646, 2583615710,
2827947246, 1054482558, 262927438, 1547274270, 1833458734, 1971300303,
1141797887, 396103599, 653122463, 2964911887, 2177442623, 3529203567,
3811216223, 3795101869, 3544546461, 2161574093, 2980500733, 670300269,
377629789, 1158696973, 1952547901, 1817608156, 1562881004, 246798268,
1069810572, 2844864284, 2564881196, 3413280636, 4194521932,
2917769428, 2627237092, 3473541300, 4269530244, 1747906580,
1499407396, 181229684, 1002212420, 596342693, 318415765, 1097392069,
1880689653, 3863750501, 3611161429, 2226097925, 3051248437,
3032512711, 2243013879, 3592671399, 3880912023, 1896294407,
1081539639, 333742183, 580211799, 983740342, 198409094, 1480656854,
1764807654, 4284874614, 3457428294, 2642827030, 2901902118,
2679771378, 2932589762, 4250515602, 3425201314, 1518157874,
1795986434, 949938258, 166673506, 299419523, 547951539, 1933275107,
1112194003, 3558840131, 3849208691, 3069984547, 2274224915,
2257832161, 3085049041, 3832569985, 3573658801, 1129617441,
1915046929, 565653569, 281470065, 150019984, 964742048, 1779611632,
1533240256, 3442888528, 4232551264, 2950031152, 2661561088,
],
[
0, 819083365, 1638166730, 1366706351, 3276333460, 4087011825,
2733412702, 2453580091, 2206053849, 3014626748, 3805922579,
3524001142, 1077236813, 1894214696, 563160199, 289610978, 51846467,
868558118, 1655926153, 1382110700, 3227516119, 4035822770, 2717617181,
2435429496, 2154473626, 2964885759, 3788429392, 3508330549,
1126320398, 1945137515, 579221956, 307495329, 103692934, 922485475,
1737116236, 1465414185, 3311852306, 4122272631, 2764221400,
2484114365, 2236845919, 3045177146, 3841458069, 3559245808,
1176202955, 1992906414, 666836481, 393029220, 87631813, 904601504,
1688033039, 1414492010, 3329345105, 4137942580, 2815800987,
2533854974, 2252640796, 3063327353, 3890275030, 3610434227,
1158443912, 1977502701, 614990658, 343554855, 207385868, 1015958889,
1844970950, 1563049379, 3474232472, 4291210493, 2930828370,
2657279031, 2401353941, 3220437168, 4001738783, 3730278522,
1281958209, 2092636452, 768430475, 488597998, 256600143, 1067012138,
1861163141, 1581064416, 3422783963, 4241600958, 2913466641,
2641740148, 2352405910, 3169117683, 3985812828, 3711997241,
1333672962, 2141979751, 786058440, 503870637, 175263626, 983594991,
1809203008, 1526990629, 3376066078, 4192769659, 2828984020,
2555176625, 2299525715, 3118318134, 3903556249, 3631854332,
1246174151, 2056594338, 736324365, 456217448, 157635273, 968321708,
1757487619, 1477646950, 3391992669, 4211051320, 2877932439,
2606496754, 2316887824, 3133857653, 3955005402, 3681464255,
1229981316, 2038578913, 687109710, 405163563, 414771736, 678089341,
2031917778, 1238278839, 3689941900, 3944887273, 3126098758,
2324054819, 2613403585, 2870437796, 4200673035, 3400734574,
1485684309, 1751090736, 959041183, 167507706, 464516955, 729665342,
2047575953, 1255784436, 3639023311, 3895799466, 3108201989,
2308005472, 2563916418, 2818603751, 4185272904, 3382970925,
1536860950, 1799920499, 977195996, 183299001, 513200286, 776268027,
2134024276, 1340119089, 3722326282, 3976989039, 3162128832,
2359851429, 2649449799, 2906217762, 4233041293, 3432852968,
1587774675, 1852947638, 1057485849, 265669756, 495046109, 760477112,
2082848023, 1291289970, 3737726025, 3994752044, 3211615363,
2411685094, 2667345924, 2922266721, 4283959502, 3481940139,
1572116880, 1835442677, 1007741274, 214094143, 350527252, 607561585,
1967189982, 1167251387, 3618406016, 3883812581, 3053981258,
2262447663, 2543397581, 2806715048, 4131215879, 3337577058,
1423035225, 1677980476, 896908179, 94864374, 401834583, 656521778,
1985475229, 1183173368, 3569050563, 3832109990, 3038712585,
2244815724, 2492348302, 2757496811, 4113188676, 3321397025,
1472648730, 1729425023, 912434896, 112238261, 315270546, 572038647,
1936643416, 1136454973, 3514975238, 3780148323, 2955293900,
2163477673, 2444693579, 2707761198, 4027801729, 3233896676,
1392505311, 1647167930, 861634837, 59357552, 299743441, 554664116,
1887029275, 1085010046, 3533003077, 3796328736, 3006343567,
2212696554, 2459962632, 2725393773, 4077157826, 3285599655,
1374219420, 1631245561, 810327126, 10396723,
],
[
0, 1409766726, 2819533452, 4228513738, 1441866729, 32929455,
4261382501, 2851658787, 2883733458, 4293202580, 65858910, 1475065880,
4262683707, 2853450109, 1444794039, 35298289, 1378416981, 103787539,
4196815833, 2921399967, 131717820, 1407094778, 2950131760, 4224722294,
4190813831, 2915953601, 1371804683, 96682317, 2889588078, 4164732968,
70596578, 1345479332, 2756833962, 4032210924, 207575078, 1482165600,
4053848387, 2779218949, 1504607183, 229191305, 263435640, 1538580542,
2814189556, 4089072306, 1514313361, 239453143, 4065082397, 2789960027,
4135128063, 2726190777, 1584898419, 175174709, 2743609366, 4153376080,
193364634, 1602344924, 1570458669, 161225067, 4120241825, 2710746087,
141193156, 1550662274, 2690958664, 4100165646, 1297060773, 424199907,
3846256937, 2974182511, 415150156, 1287251210, 2964331200, 3837218694,
3870151799, 2997518641, 1319337723, 446966717, 3009214366, 3881542360,
458382610, 1330972756, 526871280, 1264598966, 3077161084, 3815675194,
1251363097, 512826463, 3801670549, 3063920339, 3028626722, 3766646884,
478906286, 1217188584, 3782479563, 3044236173, 1232774215, 494792961,
3911082255, 3172545609, 1091619715, 353869509, 3169796838, 3907524512,
350349418, 1088863532, 1123821277, 385577883, 3941764177, 3203782935,
386729268, 1124749426, 3204689848, 3942972158, 3140917338, 4013018396,
322450134, 1195337616, 4006067123, 3133206261, 1187582271, 315507833,
282386312, 1154714318, 3101324548, 3973914690, 1160117345, 287484199,
3979040493, 3106669483, 2594121546, 3466097164, 848399814, 1721161856,
3480093859, 2607370725, 1734389295, 862452585, 830300312, 1702507998,
2574502420, 3446972242, 1686913905, 814421559, 3431131645, 2558901435,
3367493151, 2628815705, 1622766739, 884875733, 2638675446, 3376523440,
893933434, 1632567868, 1666554317, 928173195, 3411751745, 2673632775,
916765220, 1654910818, 2661945512, 3400353262, 1053742560, 1791590566,
2529197932, 3267832362, 1799353865, 1060676431, 3274792069,
2536901059, 2502726194, 3240871796, 1025652926, 1764060664,
3235754459, 2497373341, 1758665559, 1020546577, 1827024053, 954300915,
3303573049, 2431636351, 957812572, 1829788186, 2434377168, 3307139222,
3338955623, 2466463265, 1862975979, 990745773, 2465548430, 3337756104,
989585922, 1862055748, 3620779247, 2211963305, 2145263203, 735660837,
2183239430, 3592864320, 707739018, 2116577484, 2083713853, 674604667,
3560724913, 2151353591, 700698836, 2110031250, 2177727064, 3586797342,
2247642554, 3523156220, 771155766, 2045882992, 3490278995, 2215525141,
2013775071, 738234777, 773458536, 2048745262, 2249498852, 3524523426,
2079009153, 804027591, 3555033869, 2279790155, 1937851973, 663098115,
3683642569, 2408102287, 644900268, 1920413930, 2390675232, 3665402470,
3630367127, 2355385553, 1886235419, 610991709, 2375164542, 3650451256,
631015666, 1906040244, 564772624, 1974397526, 2309428636, 3718267098,
1951964409, 543148479, 3696637557, 2287035187, 2320234690, 3729567108,
574968398, 1984038664, 3753564971, 2344455789, 2008314279, 598942945,
],
[
0, 1737424129, 3474848258, 2828207875, 2614592245, 4233723892,
1422555383, 860128758, 843281179, 1439534618, 4250831129, 2597352472,
2845110766, 3457813743, 1720257516, 17299181, 1686562358, 50862903,
2879069236, 3423985973, 4283524291, 2564790722, 810327745, 1472357312,
1455789357, 827025452, 2581098287, 4267086382, 3440515032, 2862410457,
34598362, 1702957275, 3373124716, 2927833453, 101725806, 1637796719,
1390038681, 894743448, 2647110811, 4199106970, 4216242039, 2629845622,
877872501, 1407039604, 1620655490, 118997123, 2944714624, 3356113537,
2911578714, 3389380443, 1654050904, 85470553, 912042159, 1372738990,
4181807789, 2664411052, 2680707393, 4165379136, 1356178243, 928734786,
69196724, 1670457013, 3405914550, 2894912695, 2549607977, 4034466600,
1491735595, 1063577898, 203451612, 1806602717, 3275593438, 2763221983,
2780077362, 3258605619, 1789486896, 220699185, 1046683591, 1508762310,
4051625413, 2532317380, 4084271135, 2499802398, 1013772829,
1541541660, 1755745002, 254310379, 2814079208, 3224735209, 3241310980,
2797372933, 237994246, 1772190727, 1525021169, 1030423792, 2516059123,
4067884786, 1593451077, 963960644, 2447890503, 4134085958, 3308101808,
2728615345, 170941106, 1841211315, 1824084318, 188197983, 2745477980,
3291108957, 4151235499, 2430611114, 947071401, 1610470568, 981255283,
1576155506, 4116790897, 2465186672, 2712356486, 3324361607,
1857469572, 154681733, 138393448, 1873889897, 3340914026, 2695671915,
2481468829, 4100376732, 1559613343, 997929630, 704883363, 1301108642,
3843969185, 2190519712, 2983471190, 3596277079, 2127155796, 424095573,
406903224, 2144216249, 3613205434, 2966675131, 2207734605, 3826886220,
1284153679, 721706062, 1317358741, 688632212, 2174269079, 3860220822,
3578973792, 3000775521, 441398370, 2109852003, 2093367182, 457753231,
3017524620, 3562354829, 3876699515, 2157920378, 671893369, 1333967480,
3809371855, 2223021006, 739482829, 1268605388, 2027545658, 525801787,
3083083320, 3494568761, 3511490004, 3066292437, 508620758, 2044596951,
1251645217, 756312608, 2240245027, 3792277538, 2273870073, 3758521848,
1217755899, 790333434, 475988492, 2077359885, 3544381454, 3033269519,
3050042338, 3527741155, 2060847584, 492369121, 773615895, 1234340886,
3774974741, 2257548820, 3186902154, 3665475979, 1927921288, 359089033,
639878783, 1101871998, 3913170045, 2393948540, 2411149201, 3896101520,
1084935571, 656683154, 341882212, 1944995941, 3682422630, 3170087527,
3648168636, 3204210621, 376395966, 1910613439, 1118117961, 623631688,
2377701963, 3929417546, 3945910695, 2361339046, 606874533, 1134745252,
1894142802, 392736339, 3220941136, 3631567953, 1962510566, 326596071,
3152311012, 3697971173, 4012771859, 2292250386, 540274705, 1203571984,
1186659325, 557057788, 2309423615, 3995729150, 3714939144, 3135472649,
309363466, 1979612683, 276786896, 2012320721, 3747779794, 3102501331,
2343103525, 3961917732, 1152718375, 591129382, 574365131, 1169350858,
3978422217, 2326731464, 3119226686, 3731186239, 1995859260, 293115965,
],
[
0, 4060876286, 3790892301, 335044851, 3322195179, 872980757,
670089702, 3590114328, 2313498407, 2078876377, 1745961514, 2585612244,
1340179404, 3186462258, 2920672961, 1545200447, 371599551, 3827967297,
4157752754, 98453580, 3491923028, 573475242, 836168025, 3285902503,
2680358808, 1842285158, 2117560981, 2352703339, 1506257779,
2882250381, 3090400894, 1245694848, 743199102, 3728759936, 3451403379,
1068773773, 3930652053, 407171179, 196907160, 4189101414, 2779348569,
1470460839, 1146950484, 3058769578, 1672336050, 2443304780,
2186919871, 1884664385, 980056513, 3362157631, 3684570316, 697440562,
4235121962, 241359060, 496678951, 4019631577, 3012515558, 1099127576,
1383807979, 2692167189, 1972107789, 2273834995, 2491389696,
1718852350, 1486398204, 2861870850, 3110916081, 1264632335,
2661027351, 1821377513, 2137547546, 2372169444, 3514666459, 594640933,
814342358, 3263556904, 393814320, 3849661646, 4136455229, 75579843,
1321110083, 3165816765, 2940921678, 1564928688, 2293900968,
2058758998, 1766738853, 2604811867, 3344672100, 894937242, 649054313,
3567502743, 23005583, 4082304113, 3769328770, 312961404, 1960113026,
2262367868, 2501942927, 1730974577, 3000000361, 1088180887,
1394881124, 2703769498, 4247903397, 255709531, 482718120, 4006198358,
993357902, 3375988144, 3670089027, 684527805, 1660083005, 2432620227,
2198255152, 1896528846, 2767615958, 1459255848, 1157765851,
3071153957, 3944215578, 421263844, 182688023, 4176450793, 756242673,
3743372559, 3437704700, 1055602690, 2972796408, 1128089606,
1355098357, 2731091211, 2000021779, 2235163885, 2529264670,
1691191776, 953445087, 3403179809, 3642755026, 724306476, 4275095092,
215796682, 522496825, 3978864327, 2803330375, 1427857593, 1189281866,
3035565492, 1628684716, 2468334674, 2162666657, 1928044895, 787628640,
3707654046, 3473289069, 1024074387, 3908497035, 452649845, 151159686,
4212035192, 2642220166, 1869683064, 2089384331, 2391110773,
1534703725, 2843063699, 3129857376, 1216469150, 345521057, 3868472927,
4117517996, 123755346, 3533477706, 546347700, 862517831, 3244619705,
2338012217, 2035757511, 1789874484, 2560842954, 1298108626,
3209927980, 2896952799, 1588064289, 46011166, 4038205152, 3813309971,
289829869, 3300573173, 917942795, 625922808, 3611483910, 3920226052,
463858426, 140347913, 4199647223, 799886319, 3718333969, 3461949154,
1012214556, 1615644707, 2453718493, 2176361774, 1941219536,
2789762248, 1413769526, 1203505605, 3048211515, 4287614907, 226738757,
511419062, 3967266632, 965436240, 3414650542, 3632205405, 712180643,
1986715804, 2221337954, 2543750545, 1704099951, 2960018551,
1113735561, 1369055610, 2744528004, 3320166010, 938064772, 605150071,
3592279689, 65084049, 4058847087, 3793057692, 270105186, 1275107677,
3188495523, 2918511696, 1610152366, 2315531702, 2013804616,
1810913467, 2583450949, 3552812741, 567251771, 842527688, 3225157174,
365376046, 3888857040, 4097007395, 104813277, 1512485346, 2821372956,
3151158511, 1239339281, 2619481353, 1848512759, 2111205380,
2413460986,
],
];