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