dom_count_auto_gen.rs (91424B)
1 use ascii_domain::dom::Domain; 2 use num_bigint::BigUint; 3 /// The count of proper subdomains for both `Adblock` and `Wildcard` `Domain` when subdomains 4 /// and proper subdomains are represented respectively. 5 #[expect( 6 clippy::arithmetic_side_effects, 7 clippy::as_conversions, 8 clippy::indexing_slicing, 9 clippy::too_many_lines, 10 clippy::unreadable_literal, 11 reason = "autogenerated code and need it all" 12 )] 13 pub fn proper_subdomain_count(dom: &Domain<&str>) -> BigUint { 14 // The commented out code at the end of the function was used to calculate the cardinalities 15 // for each possible value of domain length; however it takes as much as 16 seconds to calculate 16 // for a given value of n, so we cache the results 17 // instead. The array is ordered based on the descending order of length of `Domain`s 18 // (e.g., index 0 corresponds to the number of subdomains for `Domain`s of length 251 which 19 // is the max length of a `Domain` with at least one proper subdomain). 20 [ 21 BigUint::new(vec![52]), 22 BigUint::new(vec![2756]), 23 BigUint::new(vec![146068]), 24 BigUint::new(vec![7738900]), 25 BigUint::new(vec![410018388]), 26 BigUint::new(vec![248542548, 5]), 27 BigUint::new(vec![4180397652, 267]), 28 BigUint::new(vec![2671623764, 14197]), 29 BigUint::new(vec![4117795412, 752210]), 30 BigUint::new(vec![862478932, 39853246]), 31 BigUint::new(vec![1276228180, 2111483772]), 32 BigUint::new(vec![3838587476, 200375265, 26]), 33 BigUint::new(vec![3977409108, 4252552993, 1379]), 34 BigUint::new(vec![2704896596, 3919002822, 73113]), 35 BigUint::new(vec![3882512980, 4014107452, 3873682]), 36 BigUint::new(vec![3242881620, 204873911, 205233436]), 37 BigUint::new(vec![1153331796, 343698866, 2283635595, 2]), 38 BigUint::new(vec![969830996, 2755980681, 572170738, 134]), 39 BigUint::new(vec![3030282836, 2269546517, 2473041289, 7106]), 40 BigUint::new(vec![1847489108, 3629376584, 3732202808, 376516]), 41 BigUint::new(vec![241070676, 1801323295, 550145915, 19948419]), 42 BigUint::new(vec![1230926420, 3223519493, 3638801565, 1056896671]), 43 BigUint::new(vec![3529405012, 3593787233, 3076904220, 161369882, 13]), 44 BigUint::new(vec![2724098644, 2312631537, 1324349926, 3220318693, 690]), 45 BigUint::new(vec![3059642964, 2191098099, 1231948975, 4049114113, 36596]), 46 BigUint::new(vec![106852948, 2265707158, 4078524026, 53383894, 1938960]), 47 BigUint::new(vec![ 48 1449030228, 4120606714, 1266689161, 2876498924, 102728961, 49 ]), 50 BigUint::new(vec![ 51 3596513876, 1375839570, 3073178857, 2030051240, 1147764631, 1, 52 ]), 53 BigUint::new(vec![ 54 375288404, 2347365293, 2334837610, 1737538116, 601157403, 67, 55 ]), 56 BigUint::new(vec![ 57 375288404, 333124604, 2043982089, 2641118257, 749632597, 3557, 58 ]), 59 BigUint::new(vec![ 60 375288404, 1946521181, 65357692, 56864761, 1521603317, 188464, 61 ]), 62 BigUint::new(vec![ 63 375288404, 2577463837, 2311486239, 2856163489, 2140150568, 9985119, 64 ]), 65 BigUint::new(vec![ 66 375288404, 3318986961, 3336800178, 1153613668, 1432641031, 529026360, 67 ]), 68 BigUint::new(vec![ 69 375288404, 1672763489, 1653117627, 2349982024, 1101569468, 2258793175, 6, 70 ]), 71 BigUint::new(vec![ 72 375288404, 1872985649, 1777688160, 1798349612, 2929927110, 3232695082, 345, 73 ]), 74 BigUint::new(vec![ 75 375288404, 3990328753, 2308241830, 964880313, 3479391898, 2089547876, 18318, 76 ]), 77 BigUint::new(vec![ 78 375288404, 4244638193, 2014962046, 1954035381, 2572106657, 1878726949, 970540, 79 ]), 80 BigUint::new(vec![ 81 375288404, 3016518897, 1468302259, 1459760780, 1145312287, 191860765, 51420664, 82 ]), 83 BigUint::new(vec![ 84 375288404, 3918013937, 741117515, 1423741278, 32256809, 296378773, 2724342633, 85 ]), 86 BigUint::new(vec![ 87 375288404, 4113421809, 3220678635, 3913218978, 1104050882, 3913619510, 2605770681, 33, 88 ]), 89 BigUint::new(vec![ 90 375288404, 1022831089, 4149936985, 2644026415, 3253425148, 4171545929, 2287985434, 1780, 91 ]), 92 BigUint::new(vec![ 93 375288404, 797178353, 1019922958, 1674344141, 3250454247, 3816775168, 1072247613, 94335, 94 ]), 95 BigUint::new(vec![ 96 375288404, 151210481, 2544744706, 1216969582, 3194279504, 3075836706, 2933426700, 97 4998020, 98 ]), 99 BigUint::new(vec![ 100 375288404, 2071579121, 679124811, 24458279, 118705999, 1933531958, 2136634151, 101 264802508, 102 ]), 103 BigUint::new(vec![ 104 375288404, 3915909617, 137490366, 129739371, 476554331, 2789132808, 1650159256, 105 1144725629, 3, 106 ]), 107 BigUint::new(vec![ 108 375288404, 2111769073, 3809283612, 3723310513, 888766089, 765431967, 3639728901, 109 281019137, 173, 110 ]), 111 BigUint::new(vec![ 112 375288404, 4201646577, 3368784016, 2790098399, 2277185150, 153774588, 196277263, 113 1124283864, 9169, 114 ]), 115 BigUint::new(vec![ 116 375288404, 1880099313, 3892329276, 3689814422, 1420707258, 554100642, 1903824923, 117 61312066, 485801, 118 ]), 119 BigUint::new(vec![ 120 375288404, 2718173681, 3915736505, 1948017691, 3311844270, 2449773636, 1831131280, 121 1521446241, 25738454, 122 ]), 123 BigUint::new(vec![ 124 375288404, 2886994417, 2292494843, 1109493842, 1279543652, 1582639857, 944194272, 125 699053385, 1363661279, 126 ]), 127 BigUint::new(vec![ 128 375288404, 3705932273, 705482963, 76809839, 2528970701, 3527071483, 2583007984, 129 3796830889, 3529309406, 16, 130 ]), 131 BigUint::new(vec![ 132 375288404, 3529771505, 1276023335, 1558249304, 474250754, 3711984670, 3025890941, 133 1857748306, 1031405210, 891, 134 ]), 135 BigUint::new(vec![ 136 375288404, 2594441713, 4254079775, 3418696835, 1548693023, 2768765240, 3899935355, 137 1980342079, 933958820, 47219, 138 ]), 139 BigUint::new(vec![ 140 375288404, 631507441, 4097520258, 1103161534, 2113861360, 1991546256, 3660681902, 141 2012204487, 3414681798, 2501743, 142 ]), 143 BigUint::new(vec![ 144 375288404, 245631473, 491504859, 3208401305, 1474266946, 2723061964, 2310073485, 145 1453991315, 2791012792, 132546076, 146 ]), 147 BigUint::new(vec![ 148 375288404, 2661550577, 2406104814, 862968291, 1899078236, 346491611, 1241634869, 149 4148522640, 573571521, 2727519367, 1, 150 ]), 151 BigUint::new(vec![ 152 375288404, 849611249, 351847671, 1257821523, 3615257673, 702995988, 5240717, 153 3567916871, 3159692503, 2694515012, 86, 154 ]), 155 BigUint::new(vec![ 156 375288404, 2191788529, 1679608494, 2906887961, 3277625757, 3033747662, 413021044, 157 1822896059, 856201021, 2772913513, 4589, 158 ]), 159 BigUint::new(vec![ 160 375288404, 3533965809, 2556505512, 1816528392, 1947652842, 1037141563, 274775137, 161 1149398125, 2668033105, 838441812, 243166, 162 ]), 163 BigUint::new(vec![ 164 375288404, 1386482161, 1234596285, 804514535, 1131547557, 1232842259, 1405663093, 165 4235442216, 2871548155, 3106883214, 12883303, 166 ]), 167 BigUint::new(vec![ 168 375288404, 2460223985, 3863765183, 3150246073, 1204630827, 2075041789, 1483442067, 169 838823512, 295416753, 3293438507, 682576435, 170 ]), 171 BigUint::new(vec![ 172 375288404, 2460223985, 3121791326, 3784088765, 1222191727, 211278684, 4204580296, 173 1868812834, 1473418029, 2104247738, 1804168085, 8, 174 ]), 175 BigUint::new(vec![ 176 375288404, 2460223985, 2471685663, 4103126092, 1640721307, 2924547633, 3719386775, 177 3358136588, 1785095480, 1506810521, 461696225, 446, 178 ]), 179 BigUint::new(vec![ 180 375288404, 2460223985, 3097994655, 2113279511, 1888061798, 1596718373, 3213304653, 181 152654476, 2978780767, 2083463032, 1742258559, 16363, 182 ]), 183 BigUint::new(vec![ 184 375288404, 2460223985, 1860567763, 1130544223, 2153567102, 625138177, 3206578786, 185 1106733064, 3948231794, 1002658338, 2817930503, 866822, 186 ]), 187 BigUint::new(vec![ 188 375288404, 2460223985, 147208035, 1175109684, 660928834, 1730986888, 3083362323, 189 412094060, 2997340098, 3976540641, 3212428124, 45540257, 190 ]), 191 BigUint::new(vec![ 192 375288404, 2460223985, 1325126451, 3929886196, 1506154326, 283097260, 2162374086, 193 1083031484, 2385562882, 1083286932, 3864853917, 2393119200, 194 ]), 195 BigUint::new(vec![ 196 375288404, 2460223985, 3546949299, 3466780721, 1591926664, 3866228006, 3769344032, 197 3294539415, 761827863, 3320756801, 1055962996, 1194022465, 29, 198 ]), 199 BigUint::new(vec![ 200 375288404, 2460223985, 4239835891, 2374590398, 341723740, 1768865321, 3009735295, 201 640743363, 760884641, 1286523815, 1425636762, 1404846044, 1538, 202 ]), 203 BigUint::new(vec![ 204 375288404, 2460223985, 1185904115, 3103587562, 1485183809, 1874654482, 3208312786, 205 2785384481, 313087062, 1389949551, 3463745521, 1039435803, 80821, 206 ]), 207 BigUint::new(vec![ 208 375288404, 2460223985, 2965606131, 1397412449, 3110808017, 2226053202, 3474793386, 209 257483838, 2073200290, 2070753250, 1854563799, 2728715379, 4245916, 210 ]), 211 BigUint::new(vec![ 212 375288404, 2460223985, 1130168051, 2123766638, 316945545, 132357966, 3454088252, 213 3364776445, 2707843191, 452091523, 2613197394, 888667529, 223041660, 214 ]), 215 BigUint::new(vec![ 216 375288404, 2460223985, 2526860019, 2712686141, 2768201501, 3657483061, 763339927, 217 2809075408, 4010198047, 1079127981, 404473813, 1744216475, 3125773904, 2, 218 ]), 219 BigUint::new(vec![ 220 375288404, 2460223985, 1186898675, 2387441384, 2136278685, 2507538597, 4291433051, 221 4120455470, 4126082953, 4124167878, 1816064621, 56141297, 1164585958, 143, 222 ]), 223 BigUint::new(vec![ 224 375288404, 2460223985, 4136891123, 3213626288, 3178750640, 3483039856, 2585028864, 225 307761499, 612469337, 2705587210, 2331449101, 2528560486, 2004283004, 7524, 226 ]), 227 BigUint::new(vec![ 228 375288404, 2460223985, 1959162611, 3492710176, 4176981138, 187691056, 2590522248, 229 1426342635, 2139644698, 2023712095, 4279998285, 2289341587, 1312229383, 395147, 230 ]), 231 BigUint::new(vec![ 232 375288404, 2460223985, 3462181619, 837145225, 2194072164, 1472386366, 1537487790, 233 439148352, 2717361996, 3390324277, 1458645090, 4049643816, 731583843, 20749520, 234 ]), 235 BigUint::new(vec![ 236 375288404, 2460223985, 2737025779, 1814181525, 1816957655, 4281341807, 4095807471, 237 814369634, 1431209630, 3374966462, 3448108709, 31622598, 1983475365, 1089487382, 238 ]), 239 BigUint::new(vec![ 240 375288404, 2460223985, 236237555, 430037603, 1852070087, 2118228517, 3252136865, 241 3422495617, 2590246972, 3459047098, 3973588529, 3171827264, 92475618, 1366057699, 13, 242 ]), 243 BigUint::new(vec![ 244 375288404, 2460223985, 4285838067, 735277699, 3811534046, 3138836190, 397415289, 245 2582819123, 1510113859, 2843520944, 231283193, 1071216799, 881488229, 734567190, 699, 246 ]), 247 BigUint::new(vec![ 248 375288404, 2460223985, 3219698419, 466853614, 1331826237, 875975020, 1508049190, 249 2008133206, 1300868705, 3490208720, 2376565918, 2037490725, 1237796068, 4043718151, 250 36701, 251 ]), 252 BigUint::new(vec![ 253 375288404, 2460223985, 3740840691, 2381286222, 1266084405, 3478844871, 138766328, 254 2627058549, 1862482887, 3802739663, 3303530586, 670509360, 729738179, 1103040603, 255 1926447, 256 ]), 257 BigUint::new(vec![ 258 375288404, 2460223985, 1170780915, 2074383492, 1961754613, 1827774001, 916656902, 259 3259243073, 210875113, 335228650, 3589141125, 431855961, 918438149, 3617060868, 260 101108337, 261 ]), 262 BigUint::new(vec![ 263 375288404, 2460223985, 2001253107, 4061558499, 3398113640, 2159180498, 3282472469, 264 2781426599, 2457937046, 705967069, 1864750529, 2770072726, 4100119564, 3195678530, 265 1011162313, 1, 266 ]), 267 BigUint::new(vec![ 268 375288404, 2460223985, 1737011955, 1241403666, 1629794265, 1113534036, 219462432, 269 3724660491, 1632655042, 2458055004, 4216935476, 2686950025, 703127910, 202085749, 270 3560425265, 64, 271 ]), 272 BigUint::new(vec![ 273 375288404, 2460223985, 1116254963, 876125681, 2080401951, 2417594553, 1281467958, 274 1222232179, 673709201, 3936590470, 2560633599, 1145420807, 450422830, 2135989143, 275 2462786277, 3401, 276 ]), 277 BigUint::new(vec![ 278 375288404, 2460223985, 2340991731, 2737343678, 1289015076, 1347075108, 2512475061, 279 1412108126, 4100065885, 1354686988, 95090307, 1491981215, 1626720129, 1489450116, 280 1884072652, 178463, 281 ]), 282 BigUint::new(vec![ 283 375288404, 2460223985, 3683169011, 3216812981, 2744855154, 4058157834, 3543196209, 284 4060346256, 3819377805, 880180604, 3698897414, 2155732057, 219486495, 2801311956, 285 196802852, 9362171, 286 ]), 287 BigUint::new(vec![ 288 375288404, 2460223985, 4018713331, 378501028, 3741989739, 4071246630, 3223764155, 289 944505703, 4060511320, 3998749690, 1376306696, 541422658, 3194641855, 1822586890, 290 2833605965, 491089841, 291 ]), 292 BigUint::new(vec![ 293 375288404, 2460223985, 1065923315, 2272734833, 2112108986, 105514710, 1835282898, 294 73796845, 594435594, 3623404924, 3134226987, 1565418351, 2713974924, 557744684, 295 2768639568, 4282534202, 5, 296 ]), 297 BigUint::new(vec![ 298 375288404, 2460223985, 2408100595, 425311361, 2226869327, 1674710348, 1445832078, 299 312177116, 2231562669, 3746125130, 3498765241, 1939808910, 1301732400, 854687535, 300 3104899461, 2200045581, 314, 301 ]), 302 BigUint::new(vec![ 303 375288404, 2460223985, 260616947, 2859448658, 3702809247, 3320531005, 3151878689, 304 4207742540, 2040955801, 252969925, 386120380, 1743412687, 3776929748, 2230776619, 305 1412589968, 2363163963, 16492, 306 ]), 307 BigUint::new(vec![ 308 375288404, 2460223985, 1334358771, 3303796476, 2667360554, 3871609700, 911605988, 309 27609975, 1290159954, 1842020606, 3449686738, 4185142679, 3778140731, 3809292562, 310 2284720990, 3785464148, 864751, 311 ]), 312 BigUint::new(vec![ 313 375288404, 2460223985, 1334358771, 2661167083, 3024326089, 3454077871, 3099468518, 314 2527626308, 1167917430, 1316291304, 2175736981, 3846068744, 1555994873, 2137553745, 315 2603347602, 3190393459, 45336466, 316 ]), 317 BigUint::new(vec![ 318 375288404, 2460223985, 1334358771, 940459788, 2102940239, 3591716736, 3834980050, 319 1875345014, 528139358, 3296012157, 3763402287, 624898860, 1256164751, 3436662455, 320 2303595502, 90138154, 2376595497, 321 ]), 322 BigUint::new(vec![ 323 375288404, 2460223985, 1334358771, 2601003596, 2817854902, 3738069448, 49753232, 324 395556631, 4278421792, 1332236424, 2899221004, 2382694996, 1653174695, 1396595153, 325 2947866156, 2578251457, 15892544, 29, 326 ]), 327 BigUint::new(vec![ 328 375288404, 2460223985, 1334358771, 3767469568, 671287769, 3791280922, 2921453395, 329 4023886981, 3031459970, 3699531449, 4253680083, 3347977273, 3228548537, 2887358797, 330 2042847151, 1961985952, 257705967, 1520, 331 ]), 332 BigUint::new(vec![ 333 375288404, 2460223985, 1334358771, 448122768, 3534770692, 578405276, 433247806, 334 4175667383, 3340326313, 851853855, 3728964000, 1960633968, 431785542, 1966122388, 335 1627483431, 2802782821, 2538621092, 79655, 336 ]), 337 BigUint::new(vec![ 338 375288404, 2460223985, 1334358771, 167469408, 2159686082, 821089061, 2324782401, 339 578797663, 3194338755, 2071266770, 3465944956, 683610840, 2498722363, 2423090999, 340 2865272105, 48834160, 912286961, 4173677, 341 ]), 342 BigUint::new(vec![ 343 375288404, 2460223985, 1334358771, 1946022112, 2246986986, 3745071011, 3383180416, 344 807758270, 1127886323, 1915334517, 2927471789, 4218978062, 441286161, 2533902413, 345 89124065, 3692088392, 3505188042, 218658982, 346 ]), 347 BigUint::new(vec![ 348 375288404, 2460223985, 1334358771, 2527376672, 4001711028, 3217742207, 1841952496, 349 3072670916, 3204261182, 3208730903, 3551501038, 3441960928, 3295757255, 299807985, 350 1166589037, 2169989204, 3733494551, 2864151189, 2, 351 ]), 352 BigUint::new(vec![ 353 375288404, 2460223985, 1334358771, 688502816, 1002760441, 377188254, 794405575, 354 1675507559, 1446917124, 3708509626, 1867858013, 920339131, 2428156058, 2092486826, 355 3748575832, 1953057757, 2363909823, 2924476765, 139, 356 ]), 357 BigUint::new(vec![ 358 375288404, 2460223985, 1334358771, 4016976160, 727489525, 65915787, 1183254543, 359 2888071423, 3049200727, 2690107908, 2198215983, 4119894348, 3875556523, 442037750, 360 1898863513, 160023236, 989734902, 90609241, 7315, 361 ]), 362 BigUint::new(vec![ 363 375288404, 2460223985, 1334358771, 4166738208, 2266663227, 673332435, 550627422, 364 3488007317, 3671482230, 59074521, 4227541302, 2262677408, 1149291744, 921863748, 365 3112047771, 3399675251, 652952636, 3354949157, 383031, 366 ]), 367 BigUint::new(vec![ 368 375288404, 2460223985, 1334358771, 351384864, 3565098702, 4155390886, 3220789349, 369 2608312059, 2103834788, 944768032, 949615699, 4118569665, 1685119122, 980757317, 370 1694451395, 393065143, 2754423072, 3616955801, 20053644, 371 ]), 372 BigUint::new(vec![ 373 375288404, 2460223985, 1334358771, 3014165792, 796920501, 3672616261, 1130012766, 374 4077271733, 2971834292, 252963730, 1652648553, 69566497, 1999168979, 3104695664, 375 710159863, 1735470542, 4064425944, 1573131256, 1049759101, 376 ]), 377 BigUint::new(vec![ 378 375288404, 2460223985, 1334358771, 3209942304, 1679710063, 1755690075, 4251598478, 379 1049675705, 1717017534, 705215572, 2260440090, 2765904623, 975350201, 1756060381, 380 1886465482, 2733251981, 3115673342, 472751457, 3404646711, 12, 381 ]), 382 BigUint::new(vec![ 383 375288404, 2460223985, 1334358771, 1531073824, 2423748678, 1729816840, 1740611885, 384 2777212627, 2969100597, 501119910, 1886104013, 1931706566, 96118838, 3281936552, 385 4069997219, 1398231818, 2988777868, 2856575295, 2009829544, 669, 386 ]), 387 BigUint::new(vec![ 388 375288404, 2460223985, 1334358771, 1719702816, 1119467944, 3767307448, 1949393548, 389 1966720572, 2729045600, 3753905954, 3937507823, 3731918463, 3146610355, 2967238817, 390 2505065361, 2485535643, 1893300314, 166365062, 874087629, 35029, 391 ]), 392 BigUint::new(vec![ 393 375288404, 2460223985, 1334358771, 1536660768, 2051648810, 2202156949, 1371566363, 394 1821496179, 1684562462, 1200503648, 1234387596, 2182170796, 1165941114, 1382310371, 395 1755514751, 2474898046, 2611907239, 456112578, 2749340137, 1832576, 396 ]), 397 BigUint::new(vec![ 398 375288404, 2460223985, 1334358771, 1827181856, 4177292154, 2680738868, 1607480411, 399 1794618371, 3703803888, 2600970549, 2966298121, 174262665, 1367904220, 905247628, 400 2766298775, 3949556221, 1103455785, 3652079576, 1227653919, 95856967, 401 ]), 402 BigUint::new(vec![ 403 375288404, 2460223985, 1334358771, 3121124640, 4270361123, 2054576521, 3629448573, 404 2564600244, 132302420, 4285170993, 2743649285, 133493916, 3207419472, 3048390000, 405 2806218966, 2081300703, 4181751659, 1789896323, 1910815868, 718209863, 1, 406 ]), 407 BigUint::new(vec![ 408 375288404, 2460223985, 1334358771, 3908867360, 3679284426, 2607521588, 512862844, 409 2732858915, 2032099596, 1011088742, 4023691910, 2343553854, 2039346656, 791945032, 410 3298005749, 1732434189, 2233637154, 2006257184, 4156212473, 144011146, 61, 411 ]), 412 BigUint::new(vec![ 413 375288404, 2460223985, 1334358771, 487363872, 3552686372, 3532184366, 1586939227, 414 3724812754, 2465159099, 2444171857, 3424835511, 2900544237, 1283399694, 2991378323, 415 2924594123, 3463506096, 3517618882, 1646903520, 850003639, 3693629995, 3190, 416 ]), 417 BigUint::new(vec![ 418 375288404, 2460223985, 1334358771, 970757408, 593337656, 2621124778, 2362798218, 419 1847405156, 3380032365, 3917922903, 1684495821, 3187390150, 3115120277, 3126047712, 420 1298279344, 3937900583, 3741958231, 1599463652, 2918936608, 2485862381, 166789, 421 ]), 422 BigUint::new(vec![ 423 375288404, 2460223985, 1334358771, 2807862560, 3332862828, 3314859132, 1713311062, 424 3684236752, 781458918, 1258707760, 795101932, 1642963495, 1566360302, 2027884895, 425 2599672732, 4134932573, 4218553122, 3065721011, 3586743940, 3098048383, 8716654, 426 ]), 427 BigUint::new(vec![ 428 375288404, 2460223985, 1334358771, 3214710048, 491973160, 2927525970, 3000056542, 429 3840979468, 354856496, 2429638914, 1493528488, 2621804923, 1074562622, 2337847084, 430 805113811, 2215452942, 2043738784, 862449625, 3952422953, 2935835032, 455457980, 431 ]), 432 BigUint::new(vec![ 433 375288404, 2460223985, 1334358771, 3936130336, 3810953987, 1542106736, 3855036022, 434 737849359, 946161952, 3426822660, 140914304, 1709004311, 1784614413, 2398718531, 435 3365991385, 2536976033, 1995705147, 903783129, 3958112258, 744347273, 2318865108, 5, 436 ]), 437 BigUint::new(vec![ 438 375288404, 2460223985, 1334358771, 2476512544, 2901890493, 1516229638, 4279451811, 439 1158581914, 3413180859, 2662373916, 138227816, 3500608007, 1021825042, 1542512059, 440 1657638841, 2546098455, 2167488194, 2639913991, 1190253808, 3657171949, 1517999094, 441 289, 442 ]), 443 BigUint::new(vec![ 444 375288404, 2460223985, 1334358771, 2744948000, 3663540216, 1529140403, 1719575268, 445 788302244, 3133780986, 1080231567, 1297291346, 2555205130, 1013378818, 3710964045, 446 254267420, 169782776, 444582309, 3263263535, 4006521636, 3677731565, 142388726, 15110, 447 ]), 448 BigUint::new(vec![ 449 375288404, 2460223985, 1334358771, 933008672, 292991406, 2733939278, 3620414616, 450 610832446, 2435459475, 3940308335, 1824151617, 1013413903, 1529153948, 3841031730, 451 2270845647, 2514900921, 352319593, 4070392803, 1250818383, 2493419008, 4180057617, 452 788877, 453 ]), 454 BigUint::new(vec![ 455 375288404, 2460223985, 1334358771, 2275185952, 2069192335, 3442270414, 3613722894, 456 3792005945, 782718190, 2966897497, 2085152667, 4262162053, 1687190049, 507318413, 457 3050269090, 4242352422, 3290464898, 312510041, 1161865422, 2075798102, 3170157616, 458 41177419, 459 ]), 460 BigUint::new(vec![ 461 375288404, 2460223985, 1334358771, 3617363232, 767481141, 2798605879, 216592806, 462 3009776831, 2287157616, 746314070, 533365218, 1941679715, 3683198332, 1287225523, 463 1783505619, 2435916847, 30895875, 2414036950, 3357534644, 2488836996, 1476424431, 464 2148871451, 465 ]), 466 BigUint::new(vec![ 467 375288404, 2460223985, 1334358771, 1469879584, 3966110914, 524124560, 152391733, 468 2511082427, 2824602280, 2073871626, 1879641108, 629469854, 1723285870, 1308591480, 469 1139848879, 1338115761, 1345716577, 2490757277, 2518816577, 2890283632, 3045945884, 470 445080315, 26, 471 ]), 472 BigUint::new(vec![ 473 375288404, 2460223985, 1334358771, 2543621408, 3821629204, 1251879183, 2891264873, 474 862372749, 2730649920, 3946196409, 386054333, 495072142, 3997453427, 1929934700, 475 2286014611, 3132574989, 3816564976, 3613717384, 137659154, 3503341474, 2723213443, 476 2543045884, 1361, 477 ]), 478 BigUint::new(vec![ 479 375288404, 2460223985, 1334358771, 2543621408, 3723538515, 1352727828, 2409267632, 480 1399204016, 963872732, 2078104532, 2376079728, 3106353504, 2941033470, 1552894073, 481 1150412642, 3250864799, 1200024207, 1381405911, 1845036695, 2091830815, 696155422, 482 2031249559, 71004, 483 ]), 484 BigUint::new(vec![ 485 375288404, 2460223985, 1334358771, 2543621408, 3994675668, 1490424801, 2018541335, 486 3386372446, 1887579055, 1070949466, 3015236068, 2125386458, 2576663800, 787844066, 487 3899955011, 3896043957, 3245195291, 3451998588, 4137134477, 2870460987, 2223995227, 488 1856577899, 3701804, 489 ]), 490 BigUint::new(vec![ 491 375288404, 2460223985, 1334358771, 2543621408, 108189908, 1009895052, 2417361073, 492 3716302432, 1206236872, 1714392538, 2423637157, 1446646222, 2951583407, 381426507, 493 4171738569, 2486690329, 1225283083, 81479387, 655056393, 1387263240, 3653525540, 494 158300381, 192941957, 495 ]), 496 BigUint::new(vec![ 497 375288404, 2460223985, 1334358771, 2543621408, 1088623368, 362459840, 1427608929, 498 4026337049, 17759160, 2131962935, 3078358333, 3350714126, 2005794791, 1986667923, 499 3069103584, 2589397401, 872859540, 3464091314, 2827312770, 2771039149, 2983482937, 500 3282652449, 1516545866, 2, 501 ]), 502 BigUint::new(vec![ 503 375288404, 2460223985, 1334358771, 2543621408, 297759128, 1837823977, 1597754151, 504 2594200211, 3938329176, 1514863451, 170335670, 4104939771, 2122122959, 204320869, 505 1514324102, 1749816223, 2472922285, 1345800768, 672452179, 1118197205, 2132458193, 506 2742243656, 985429928, 123, 507 ]), 508 BigUint::new(vec![ 509 375288404, 2460223985, 1334358771, 2543621408, 1565423976, 1940455119, 2001544857, 510 3190388342, 2147138011, 3053711670, 4016476330, 2167732712, 1190433567, 1594135970, 511 291103371, 1626580129, 1301317960, 1559418209, 738610514, 205838008, 1400741198, 512 4214199197, 796192726, 6453, 513 ]), 514 BigUint::new(vec![ 515 375288404, 2460223985, 1334358771, 2543621408, 589251816, 2391831009, 1728723516, 516 181130724, 4285375407, 2929351545, 3233212788, 2309651665, 2730928462, 146568749, 517 2657314986, 3107049692, 1532662895, 1514403156, 103999350, 3374554676, 3436565642, 518 2034666958, 2828653903, 337921, 519 ]), 520 BigUint::new(vec![ 521 375288404, 2460223985, 1334358771, 2543621408, 2861969704, 1135425604, 1039070983, 522 1500008042, 756650173, 1226466646, 2884374739, 2720613726, 4037861095, 1154327514, 523 948102900, 2402380469, 518831132, 287068554, 455744436, 2132737622, 3684840433, 524 2753298665, 1829483875, 17694581, 525 ]), 526 BigUint::new(vec![ 527 375288404, 2460223985, 1334358771, 2543621408, 1562870824, 2223563800, 627601685, 528 3931191767, 1963804481, 2068642021, 3182461511, 3440237650, 3372627476, 3882745516, 529 155135794, 328106351, 153352687, 532473956, 384060564, 2089202149, 2414435551, 530 2221820394, 1383076804, 926503403, 531 ]), 532 BigUint::new(vec![ 533 375288404, 2460223985, 1334358771, 2543621408, 651451688, 2063603536, 4195344935, 534 628247983, 3694049076, 409781270, 3866516567, 3575005349, 477908172, 1365517798, 535 4219664552, 2267226689, 1273207489, 715477852, 2130518214, 407639283, 1646907501, 536 3664713902, 3419206668, 1265920647, 11, 537 ]), 538 BigUint::new(vec![ 539 375288404, 2460223985, 1334358771, 2543621408, 1668631848, 3084215717, 2535623602, 540 1355370279, 1711209510, 3565276581, 334763960, 1637078921, 1157348908, 2867965050, 541 4160429863, 1209329262, 1964536455, 3844490096, 3112905541, 3015147941, 609034362, 542 3114335197, 2289791300, 1525249047, 591, 543 ]), 544 BigUint::new(vec![ 545 375288404, 2460223985, 1334358771, 2543621408, 2873237800, 593475146, 3957752737, 546 3607753543, 998755275, 2973630508, 3812764564, 729867179, 3117173245, 1205481369, 547 3859663194, 2382784159, 4166471027, 338216186, 2248990593, 4122863298, 2190421143, 548 962475347, 3363479543, 644463577, 30960, 549 ]), 550 BigUint::new(vec![ 551 375288404, 2460223985, 1334358771, 2543621408, 2441998632, 1456210221, 3517676631, 552 2125186749, 2336040486, 1803295599, 497828393, 3354229517, 2315762146, 2390170442, 553 2471250722, 3262196615, 3636458986, 1948827006, 3805560749, 1978273630, 2198623259, 554 4237805852, 1489294306, 3466543098, 1620841, 555 ]), 556 BigUint::new(vec![ 557 375288404, 2460223985, 1334358771, 2543621408, 4002365736, 2699270358, 4035612103, 558 4236649769, 2481511290, 286754901, 2192344738, 3423993860, 3397041319, 2594484709, 559 3540687144, 447363625, 488059790, 444324058, 1568636462, 2963210948, 924176437, 560 1842840823, 23040779, 22811001, 84851830, 561 ]), 562 BigUint::new(vec![ 563 375288404, 2460223985, 1334358771, 2543621408, 2587476264, 531471700, 565661081, 564 3173396807, 560588409, 2397243561, 2939066677, 1112532089, 4016222432, 4054750870, 565 1034402982, 1728888132, 2408752621, 3982402714, 3118679989, 1289461419, 1709813332, 566 2514987870, 1439101459, 4218408052, 146893508, 1, 567 ]), 568 BigUint::new(vec![ 569 375288404, 2460223985, 1334358771, 2543621408, 1562378536, 3984676162, 1533759221, 570 2265150196, 4077915242, 3191635425, 1391128044, 79630882, 1799432732, 798767144, 571 788136604, 3877311258, 2344732049, 2771994519, 730903558, 1075120241, 2762438885, 572 1653779067, 641228852, 4115900764, 587300920, 54, 573 ]), 574 BigUint::new(vec![ 575 375288404, 2460223985, 1334358771, 2543621408, 3532063016, 2106301204, 1161579613, 576 3977699201, 517035130, 2794580228, 3841970396, 3789755434, 721327799, 1673345532, 577 77309593, 2039372378, 2275232492, 247383471, 1521519421, 3259734418, 42022609, 578 2135694052, 1236139276, 2334490590, 3251143850, 2833, 579 ]), 580 BigUint::new(vec![ 581 375288404, 2460223985, 1334358771, 2543621408, 1110966568, 2393056800, 1350110272, 582 2924655289, 1459090315, 3475237696, 1257511530, 4036949063, 723610430, 1552731592, 583 1205849493, 3220845583, 3701829803, 2849977890, 1258404014, 238739126, 2442636624, 584 4014062691, 3433106490, 1901814374, 3462971528, 148325, 585 ]), 586 BigUint::new(vec![ 587 375288404, 2460223985, 1334358771, 2543621408, 3407348008, 1233228594, 3411181417, 588 2093918876, 1827015250, 1338390636, 4278954490, 2855758896, 2194310770, 3410983728, 589 620234408, 1826608367, 3617389928, 246027064, 1642755342, 1870814843, 1879774701, 590 904530615, 3902271887, 3396039084, 4245280487, 7763447, 591 ]), 592 BigUint::new(vec![ 593 375288404, 2460223985, 1334358771, 2543621408, 1217134888, 3078093129, 3061112270, 594 1278695255, 3616386859, 4024538543, 2988611858, 2589454103, 787801141, 2215111346, 595 4020818330, 3231249235, 3792889391, 1656781417, 1381049381, 2527801670, 1083965285, 596 1627715319, 2367340571, 1283593976, 1268495279, 406327846, 597 ]), 598 BigUint::new(vec![ 599 375288404, 2460223985, 1334358771, 2543621408, 2442920232, 45276574, 2032627375, 600 917984412, 2986861814, 2373466326, 1802961357, 3126051563, 2002628262, 2936766148, 601 3750548047, 3767161939, 2780915648, 1069487964, 4036604440, 1550559861, 1170372835, 602 3083458002, 1323016514, 1640149106, 4074778593, 4085980586, 4, 603 ]), 604 BigUint::new(vec![ 605 375288404, 2460223985, 1334358771, 2543621408, 3832283432, 2696280962, 2572683480, 606 4175448237, 3404610727, 2136661146, 4257763704, 892952018, 2218618404, 1250412368, 607 2141474832, 700052702, 1861341822, 1903102532, 539549951, 987106772, 2352847513, 608 2795598340, 142672976, 3553933053, 3432928320, 547528798, 259, 609 ]), 610 BigUint::new(vec![ 611 375288404, 2460223985, 1334358771, 2543621408, 2381054248, 21917494, 2024589020, 612 3035885024, 1544851454, 3873165476, 52544173, 584620594, 999613054, 53857787, 613 2953709759, 3669630452, 1795146519, 968325082, 4236363572, 3962694578, 607022979, 614 1147753971, 3246682774, 1373916352, 3588841297, 3896070368, 13560, 615 ]), 616 BigUint::new(vec![ 617 375288404, 2460223985, 1334358771, 2543621408, 3458990376, 3102212629, 2923606015, 618 2610526647, 2862495030, 2462184740, 247107426, 2375588414, 1615032415, 2018689308, 619 23577407, 757254239, 3469952833, 2523407951, 236907216, 2696977587, 3342638617, 620 3218520741, 1307512362, 1441329142, 1553236610, 3099072064, 709657, 621 ]), 622 BigUint::new(vec![ 623 375288404, 2460223985, 1334358771, 2543621408, 1227620648, 2735822829, 3182207984, 624 2655874152, 1911959699, 3202269726, 3352265041, 2482043729, 1096361615, 1827680999, 625 2108667791, 4109372722, 3751633681, 4168743365, 1483427286, 3668772749, 371413044, 626 891157989, 3614903301, 379159372, 2554584355, 2523739390, 37135930, 627 ]), 628 BigUint::new(vec![ 629 375288404, 2460223985, 1334358771, 2543621408, 1378615592, 2124979467, 3869608993, 630 1182792460, 2640281798, 94061031, 3072662239, 1765178173, 522921752, 1599801713, 631 2392193932, 3491954298, 3409559666, 995484266, 287535901, 1813090899, 3858071186, 632 2932421652, 2727235639, 47972540, 1760330552, 1367320824, 1943234256, 633 ]), 634 BigUint::new(vec![ 635 375288404, 2460223985, 1334358771, 2543621408, 573309224, 2848462570, 297419517, 636 784731094, 2768546732, 295310148, 1482184039, 3289378734, 1626845618, 4088238483, 637 572708640, 1418696534, 4059942084, 984728194, 2831713861, 2810244614, 2425826462, 638 502741229, 2484597449, 2051110097, 1309436654, 1582624320, 2897210858, 23, 639 ]), 640 BigUint::new(vec![ 641 375288404, 2460223985, 1334358771, 2543621408, 908853544, 115794502, 3565064611, 642 4224203971, 3003673416, 2040538988, 3494903392, 2174787101, 730958942, 1587426713, 643 1216059146, 2222641978, 458956447, 2568862701, 1118079692, 3242301930, 3084300380, 644 4119311250, 3093156219, 1587649575, 1429127399, 2586105371, 3232553230, 1238, 645 ]), 646 BigUint::new(vec![ 647 375288404, 2460223985, 1334358771, 2543621408, 2251030824, 3012358716, 278114290, 648 2220419113, 3976552303, 2715134477, 1681099792, 1589972998, 3000442551, 404778394, 649 832783608, 2396613513, 1673183307, 1942089317, 1845205033, 3482430837, 4084553639, 650 2323389363, 3896457087, 348002344, 4044436031, 287449663, 3114057219, 64814, 651 ]), 652 BigUint::new(vec![ 653 375288404, 2460223985, 1334358771, 2543621408, 3593208104, 2945023736, 2227032504, 654 2193119976, 808267449, 3216385101, 3033836400, 456555884, 1125870240, 464859713, 655 10507958, 270631227, 2210300992, 1703891855, 551285133, 2264386612, 1922395156, 656 3034507121, 1040591836, 922801132, 1637967686, 3017872049, 3114302110, 3391169, 657 ]), 658 BigUint::new(vec![ 659 375288404, 2460223985, 1334358771, 2543621408, 1445724456, 4036055873, 26662430, 660 2849460476, 126144669, 3134242821, 3267407193, 3385299635, 2084731548, 3086885011, 661 2933551302, 1118233540, 334662835, 2478562709, 3520965186, 286926085, 2281497960, 662 4239060620, 2277599706, 456079410, 3755990621, 289475438, 3137271329, 177424049, 663 ]), 664 BigUint::new(vec![ 665 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1433733179, 1983551259, 666 3183236740, 3213866899, 4208537401, 2945052152, 3940374272, 3882475903, 1509970502, 667 3309566084, 1926141956, 3284707559, 3230861295, 3043572573, 2579360888, 3177799575, 668 1588286429, 932093071, 3711427490, 368598896, 1429105521, 906409877, 692522539, 2, 669 ]), 670 BigUint::new(vec![ 671 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 156035530, 1133686565, 672 1743320647, 3375072318, 2012342394, 1153370874, 2481071177, 583451137, 327194059, 673 397399572, 2128700879, 944339639, 1239680795, 3991450197, 3388101214, 3344426675, 674 3597872431, 4206908931, 2447851829, 1889574113, 1472740103, 3986860253, 294017406, 113, 675 ]), 676 BigUint::new(vec![ 677 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 258440619, 2864366690, 678 1036994977, 1375962384, 623996537, 3277116958, 3199396551, 4141879303, 592996622, 679 3477310669, 492237602, 337428166, 1626177557, 299025377, 994816793, 779280139, 680 2761101027, 3415256044, 2363507292, 3483241717, 2337671414, 2257176492, 784913708, 681 5915, 682 ]), 683 BigUint::new(vec![ 684 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 3567736939, 1422128831, 685 1359905647, 3749719229, 127483939, 4223227770, 2169435423, 2138123196, 1126010966, 686 613271075, 605448982, 3068413273, 1547048905, 2583389829, 1453489243, 8760026, 687 1648613590, 2555144115, 401564871, 4196029032, 1612167424, 302476558, 550178662, 688 309445, 689 ]), 690 BigUint::new(vec![ 691 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 587583775, 3536224817, 692 2781219922, 2582698859, 2983955949, 913689216, 2656586171, 486487766, 3837012000, 693 3679195413, 1772417733, 2985095058, 1205369396, 1096725427, 2527158883, 3112953302, 694 45546555, 685048376, 2320196409, 3593580469, 3481366272, 3387590826, 1954897998, 695 16187820, 696 ]), 697 BigUint::new(vec![ 698 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 523158703, 4113109057, 699 2100971674, 217956614, 596199284, 2380878930, 3063776566, 1398583896, 475510041, 700 2647065, 569539020, 3670413946, 1728895160, 1053315873, 2514048110, 2778013497, 701 3821961787, 4267822458, 13820863, 1167343593, 3268996059, 1641040263, 140134694, 702 846803892, 703 ]), 704 BigUint::new(vec![ 705 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1118880383, 2310160004, 706 3019308007, 4008582343, 2896674950, 330609170, 817589387, 2952646134, 1654073678, 707 8987835, 2423235159, 664912750, 3046216472, 489593826, 2216686240, 1791381573, 708 2387259047, 2476423337, 3775812603, 4086181528, 2412691423, 184457215, 464564228, 709 1346638432, 10, 710 ]), 711 BigUint::new(vec![ 712 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 2976500223, 2979299174, 713 3407692876, 1015168976, 1405129545, 89483162, 1793466320, 4107506794, 451927044, 714 3854789239, 2292720344, 3033627639, 3414458444, 4206167043, 3911629651, 1549165729, 715 2609588033, 1282189107, 3868152888, 2198179607, 187872385, 1757276935, 1970119063, 716 2103526322, 539, 717 ]), 718 BigUint::new(vec![ 719 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1701240383, 4150727432, 720 4229846246, 1491411143, 3448010050, 2748284773, 435433000, 2628046556, 2404309504, 721 1338368081, 3510713777, 1756851377, 3559685262, 3651796331, 2244954464, 847590960, 722 1051616462, 2516424913, 980131917, 619425458, 246904961, 3660903002, 4148712762, 723 2358648193, 28219, 724 ]), 725 BigUint::new(vec![ 726 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1919189311, 1075985887, 727 3115672713, 3401657272, 3896084877, 525825118, 876173054, 3168154221, 2976809555, 728 2149006125, 4178177611, 2236024378, 2590801160, 2938337185, 2230946803, 3406716434, 729 1896413717, 485546906, 2995780162, 2252419063, 951366215, 1875230279, 3453444322, 730 2272567594, 1476076, 731 ]), 732 BigUint::new(vec![ 733 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 2773596735, 887942758, 734 3663982038, 1807451680, 3462435410, 4176426144, 3909880531, 569807074, 2047733993, 735 32965839, 1144605978, 2238484561, 243114785, 530662820, 1119792380, 2182736718, 736 2324124763, 1631774642, 2784602890, 1606266084, 1344911530, 3252479184, 699521876, 737 2806160939, 77207632, 738 ]), 739 BigUint::new(vec![ 740 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 2701552191, 3021831563, 741 3761866094, 1495182712, 3005256748, 1578935760, 729160555, 1248336637, 96469620, 742 2453445089, 3694966433, 33145778, 582073547, 2108534160, 910164355, 1709948987, 743 4081974507, 962001181, 1665189504, 3356106364, 2947861254, 1856731644, 1088109335, 744 571966670, 4038357842, 745 ]), 746 BigUint::new(vec![ 747 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 434748991, 1126591621, 748 2683503626, 3186698004, 2540597168, 2833518046, 2921126828, 3105171050, 1989368494, 749 902639402, 2679724105, 1682425435, 2556927276, 3696061619, 1949936733, 2929994801, 750 1995337434, 2496165830, 1577335356, 1326658277, 3155215019, 4233228516, 707341872, 751 1525371270, 770589498, 49, 752 ]), 753 BigUint::new(vec![ 754 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 3368717887, 651430580, 755 1331245725, 1870762458, 952297851, 288351487, 3062668627, 1959269072, 110037462, 756 4211895868, 88728104, 3759138601, 2492810714, 2210040404, 2053569231, 1675388541, 757 3095602713, 1096209388, 842591810, 4253831717, 1328811468, 2020607979, 1049249342, 758 1275113326, 1155387700, 2572, 759 ]), 760 BigUint::new(vec![ 761 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 3701595711, 1944631056, 762 3913388044, 1972358401, 2211743384, 2468061449, 1825696645, 3950254819, 4175887213, 763 658190054, 988997182, 79409135, 3369430523, 2182610800, 1656518321, 3430281761, 764 467517116, 1215120427, 1477681381, 1103183017, 1606806971, 410824471, 966071681, 765 404550408, 3941253598, 134537, 766 ]), 767 BigUint::new(vec![ 768 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1778933311, 1533008756, 769 993702014, 1124262251, 3395509530, 3217741713, 1279240497, 3816440002, 1903989291, 770 51592826, 788752418, 435974174, 1298746546, 2043470592, 3595479373, 1154431373, 771 474663849, 2645512080, 1612537241, 2883787901, 2770004941, 3764226311, 820346693, 772 2815966245, 3411107300, 7036700, 773 ]), 774 BigUint::new(vec![ 775 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 714513983, 130433633, 776 43631165, 1061573839, 3636110016, 3105933977, 4119850069, 3850315024, 3307706156, 777 1888708654, 1089500020, 3483168113, 4246385694, 148388959, 3339203696, 50446275, 778 3495488798, 1475116976, 3302398184, 3737270005, 335208268, 3241199250, 1916720821, 779 1631957933, 2590429742, 368036023, 780 ]), 781 BigUint::new(vec![ 782 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 5086783, 281448113, 783 2198189083, 2950462223, 1083532748, 999096768, 120317796, 3666454154, 3267420670, 784 3370080400, 3355726828, 577850252, 948557141, 2836218692, 1427932166, 1569892183, 785 3940072213, 585643425, 376346774, 2570723472, 3703624351, 241067127, 2244633063, 786 388840025, 2897967481, 2069179149, 4, 787 ]), 788 BigUint::new(vec![ 789 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 2254347839, 3919771391, 790 2083221487, 1248859317, 2584251500, 2309118643, 2966295632, 530227479, 3941029541, 791 3829792983, 1331460141, 794511141, 4238539339, 3614639971, 3888520003, 671875281, 792 1318280390, 1017040504, 4102400675, 3908602649, 3081942537, 3325786435, 2657424156, 793 2789779288, 2421537869, 1739491396, 234, 794 ]), 795 BigUint::new(vec![ 796 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 721329727, 3396839210, 797 3681663045, 2164575428, 2501982576, 1849109597, 300912659, 2388520714, 1411624874, 798 2624693519, 167813227, 3136212958, 3590039522, 366933383, 3827298677, 1462508872, 799 4104316159, 3408037632, 75945980, 142801927, 110906538, 224733420, 3587144888, 800 2079024206, 1816483967, 3487529667, 12259, 801 ]), 802 BigUint::new(vec![ 803 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 3606224447, 2188419014, 804 1682084083, 3590599894, 890252841, 412438068, 1372266175, 373594701, 3372748264, 805 2179273181, 4139821800, 3352899463, 3096202992, 4118590511, 1812536094, 933259209, 806 2398707774, 2707207274, 2998411347, 3811914682, 3520084344, 1714267093, 1063807448, 807 3971931589, 2091560152, 941864838, 641211, 808 ]), 809 BigUint::new(vec![ 810 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 889364031, 2352408643, 811 2785101230, 1733772378, 434784163, 4073566559, 2380432466, 31602380, 4066003450, 812 4237626852, 40313701, 575299096, 3781620268, 2441227883, 169978061, 469088410, 813 4035978047, 1815582963, 950034051, 3187464554, 3077778800, 959496553, 627861401, 814 1054229804, 2989469638, 476513413, 33536656, 815 ]), 816 BigUint::new(vec![ 817 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1037213247, 3876594009, 818 2266627829, 1919250987, 537147373, 2107714153, 2288848718, 3541705719, 457011493, 819 1804491592, 2322151177, 1323959538, 2711719661, 3758789829, 2391880189, 1967683422, 820 1660874094, 762547319, 2152582589, 3218958934, 3364300115, 2092930734, 112375585, 821 1053460104, 1303864359, 1010650355, 1754045079, 822 ]), 823 BigUint::new(vec![ 824 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 592617023, 1467380502, 825 2920044402, 3863208706, 2968900529, 3891775804, 1937888664, 1517322414, 4079190218, 826 2261620489, 922271986, 1130329623, 3364875314, 3847148069, 2618495464, 190888988, 827 3288980521, 966383648, 731142836, 624127045, 1186738324, 1079024412, 4233796097, 828 3186498315, 2896863071, 2664720291, 1547038600, 21, 829 ]), 830 BigUint::new(vec![ 831 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 2341641791, 2690557422, 832 1657533239, 3963446746, 2703859152, 249614421, 2885391040, 1382595792, 1418129263, 833 3838274635, 366387568, 576270801, 474192704, 531259356, 3296862651, 3613193853, 834 3267779581, 1895643517, 2825715628, 2202733356, 130729796, 488623509, 1763848835, 835 2605511812, 2862954514, 2332937230, 894415183, 1117, 836 ]), 837 BigUint::new(vec![ 838 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1452449343, 1146197058, 839 2863763601, 93635278, 4064052986, 1491278843, 3759242632, 2357543838, 1663095871, 840 2905572294, 1392422334, 650761418, 970832320, 478005943, 1896661229, 1639868621, 841 3674871690, 3321586441, 3192994991, 4009230510, 1248211706, 4222945771, 818509991, 842 1745442306, 3321513893, 2773719933, 1718321319, 58434, 843 ]), 844 BigUint::new(vec![ 845 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 3214057023, 1624527164, 846 3510708953, 572913639, 976867443, 3600176463, 566184589, 202266931, 3799707683, 847 2676529998, 2657330927, 146625937, 3197015680, 3446603163, 3159890695, 385445176, 848 985476360, 2726297137, 3136737090, 180444142, 3558697084, 1848158780, 2837294127, 849 3264483530, 3316877529, 114183317, 1315990856, 3056397, 850 ]), 851 BigUint::new(vec![ 852 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1335008831, 2025528607, 853 2551216052, 1231522767, 1577354711, 2011572376, 3223747309, 1201751868, 3525934298, 854 2868471710, 1932753307, 2293006463, 3175890606, 310909112, 3878142961, 943828189, 855 3647227586, 2588718047, 722658033, 4186505903, 685808546, 604140331, 4121595882, 856 798648471, 3597867602, 1023618253, 2393446371, 159867062, 857 ]), 858 BigUint::new(vec![ 859 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 3818036799, 506128897, 860 3210177243, 2823203764, 3664221334, 92701100, 3929787299, 3240683251, 2162523887, 861 241905739, 1168759323, 1987737378, 215876082, 2620200269, 766727543, 1367504002, 862 256654718, 1602659492, 3580579779, 877599467, 3288208776, 403329079, 3503114788, 863 1822959735, 1853927691, 2913901605, 2974172155, 4067172038, 1, 864 ]), 865 BigUint::new(vec![ 866 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 865246783, 2478961165, 867 2279369525, 1520299851, 1366585487, 1882728022, 4008137538, 1871447639, 3136473970, 868 3318579424, 872785890, 2718034001, 1178511011, 2797504317, 3859536305, 3499293615, 869 3699614382, 1622854171, 3883461695, 3549424136, 3601002501, 3866372034, 2873861091, 870 2935925015, 178042204, 3684726535, 1974077257, 3615893361, 101, 871 ]), 872 BigUint::new(vec![ 873 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 2207424063, 287650399, 874 3981042031, 1021320006, 1997542145, 1279380243, 2113901254, 185032623, 2126737977, 875 2069376527, 3345854844, 944924203, 1381750296, 3143952166, 2542102859, 3968815518, 876 1505847453, 392713703, 3301576050, 4089524993, 105444836, 137335223, 2482596656, 877 3198079093, 1239483262, 1952216162, 3413804971, 1291819903, 5327, 878 ]), 879 BigUint::new(vec![ 880 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 59940415, 1811670372, 881 4069128060, 323976449, 972848863, 4196783059, 2091578826, 4136797996, 2137688135, 882 2072447942, 3494899784, 3293304898, 3077389977, 3297643560, 4127008437, 906830581, 883 2345350258, 3830948402, 181768411, 1490075293, 2758544777, 2659560401, 1217847221, 884 2331559151, 1117191399, 3989967619, 223309308, 236525387, 278677, 885 ]), 886 BigUint::new(vec![ 887 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 1472287494, 888 499807712, 3091974659, 4285256010, 3709032953, 2652354345, 1492839133, 3720959829, 889 3181700988, 243307285, 2635473859, 3928938903, 1318083514, 3873894276, 3864396159, 890 4074500574, 3372801244, 4206609721, 195422496, 1336336801, 119286259, 377214804, 891 3067415634, 3479414776, 849565694, 2893846532, 850758156, 14578400, 892 ]), 893 BigUint::new(vec![ 894 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 2943874277, 895 3085475042, 1945597866, 333623124, 611451271, 623193460, 401877214, 721271982, 896 1599632279, 2905205146, 2666546460, 1055507639, 2433365035, 2462715959, 571334422, 897 2536517743, 2916272350, 2556731527, 1027980980, 3685046324, 1363456080, 2137673941, 898 4179722900, 4282073441, 721763253, 2564496459, 3570344581, 762666481, 899 ]), 900 BigUint::new(vec![ 901 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 1688935206, 902 3475125672, 1130811827, 1933921485, 531309505, 2114739632, 4153679106, 3454868205, 903 3216657819, 3610045576, 200928018, 667211958, 1718836400, 3546350352, 365452608, 904 4278360604, 1394651330, 1897113925, 2604987881, 393693183, 2422383856, 2173309089, 905 2039658552, 1552739446, 1806832201, 202993211, 643893967, 1245681714, 9, 906 ]), 907 BigUint::new(vec![ 908 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 69714342, 909 3572836939, 917813014, 2872424929, 3320167609, 3915314664, 2158359498, 4096929447, 910 1758773917, 786611217, 775992986, 2828036016, 1548582321, 3515773534, 1812941543, 911 2323394627, 2767537218, 1984982431, 1938557130, 2280845712, 2129545450, 33303255, 912 3422157941, 2567101694, 2032365961, 287136117, 218347635, 205070838, 486, 913 ]), 914 BigUint::new(vec![ 915 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 937253082, 916 3145851772, 399354380, 3966343270, 166744482, 268238601, 3920682663, 2684648910, 917 3319860812, 3123677841, 3438421899, 1745377561, 2255572901, 750005822, 2952830203, 918 3372110582, 185116763, 2002594349, 2433711601, 4063410951, 2286486142, 1772751515, 919 3216019658, 4000395493, 4000253346, 789132859, 1524346577, 3799756468, 25430, 920 ]), 921 BigUint::new(vec![ 922 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 504488298, 923 3203478147, 623275496, 484461782, 1186077606, 1635005427, 3292075576, 2904368173, 924 3518426662, 181481468, 1620487576, 425716765, 604055179, 805684953, 805173333, 925 3762705229, 2028717707, 801243590, 2881187444, 846270972, 3082213948, 1607262303, 926 1052034558, 157330487, 100016280, 3992222713, 1068806644, 2968059137, 1330568, 927 ]), 928 BigUint::new(vec![ 929 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 1637897530, 930 1176690152, 2518524412, 1571689290, 564727034, 2889640772, 189920587, 971299436, 931 197455917, 506450197, 314150642, 2142474017, 1145233556, 2799889119, 149868198, 932 1878569113, 2059335395, 1444099206, 3839586651, 278212380, 1911724378, 3294879169, 933 3920817795, 858717088, 3156125105, 3400670886, 2237009409, 266827588, 69615850, 934 ]), 935 BigUint::new(vec![ 936 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3711670458, 937 1859501024, 3610388180, 946947779, 188562960, 1743243970, 1574884712, 226401137, 938 1143881879, 4062190916, 229671045, 2229726790, 999524008, 1316690469, 4167061421, 939 2498109216, 4190372998, 879299639, 2242805718, 497842390, 1722101840, 3774019732, 940 4234321243, 3960322840, 2849777158, 2529803791, 1822070296, 4066700810, 3642286032, 941 ]), 942 BigUint::new(vec![ 943 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 2981418234, 944 692167403, 1848601396, 1851033287, 3082881006, 3029106926, 1056224599, 1747081078, 945 2663632879, 154522774, 2209597776, 2772758834, 3547012403, 2334215292, 3375366183, 946 457373055, 1042267069, 1683395470, 3464887484, 3950738381, 2895002845, 3347042372, 947 2078125748, 4255125750, 2065510086, 4099872968, 2407024158, 1480172293, 1582961262, 44, 948 ]), 949 BigUint::new(vec![ 950 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 4125018106, 951 1266788247, 1827479118, 2740028768, 2177761845, 4240657249, 2664765720, 2699426397, 952 3614214301, 1454649263, 4133484154, 3036887598, 2683101280, 3074486753, 835341147, 953 3368320629, 1229459788, 452669746, 56808418, 1624613901, 4220917568, 2053078848, 954 2242861251, 3442203080, 3939617165, 3443289142, 614889031, 3317401451, 1303453973, 955 2321, 956 ]), 957 BigUint::new(vec![ 958 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 4144259322, 959 510494920, 1764954127, 83312554, 3748961014, 313729141, 1602272849, 1269321234, 960 2686911170, 490015867, 1664750701, 2562471748, 3259156338, 2516500245, 1735770725, 961 663832606, 3550903612, 581616448, 2323885727, 1028803259, 1389737432, 2800431785, 962 4132179859, 1971645827, 1316284844, 589480419, 3424138973, 4047738950, 1015097954, 963 121446, 964 ]), 965 BigUint::new(vec![ 966 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 187486458, 967 3948427707, 2684007304, 2019110728, 297954, 19026412, 2220806674, 2961165664, 968 2731046581, 2226946501, 99313115, 2011440358, 2223279933, 3825085095, 1243730519, 969 1520855745, 753516187, 3495541403, 1121681341, 2249905758, 1470892432, 2528006013, 970 2635297570, 1569210250, 820756082, 4161553654, 3820200787, 2695080773, 1601345601, 971 6353776, 972 ]), 973 BigUint::new(vec![ 974 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 1594270970, 975 1659758811, 2150372209, 203424308, 1450821561, 1840071673, 2158310511, 1256614075, 976 852448241, 2516168341, 1280629025, 3243030782, 866104124, 3526173307, 2529026022, 977 3647096254, 1307891285, 2747650692, 1894152882, 3020927393, 1257295519, 2541719605, 978 753092931, 1207937333, 406183594, 3734804116, 4235922774, 294736150, 3803850933, 979 332411224, 980 ]), 981 BigUint::new(vec![ 982 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 2138862842, 983 1291938968, 1063251815, 3170601015, 2671654210, 113890197, 2650092083, 2105084901, 984 2357022675, 1649775569, 2595302470, 1910508674, 1571126118, 3725528327, 2509219534, 985 1328702106, 2413808307, 1504672593, 3563655142, 909319039, 3320511195, 778354275, 986 1567520491, 2609521647, 1419322921, 3424589238, 1666238921, 247329657, 2462539832, 987 210767815, 4, 988 ]), 989 BigUint::new(vec![ 990 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 531219706, 991 593478036, 450119827, 3749065210, 2086394584, 2910876912, 614108214, 4115375801, 992 44864403, 2006634342, 1680960375, 3812244716, 1231206091, 4257658636, 3572109458, 993 1925186103, 1437593381, 283293330, 2722021809, 1726475417, 337402759, 2228226360, 994 2318797623, 3821440697, 3602072373, 2563060900, 3870061838, 2190672447, 3834326569, 995 3573601848, 211, 996 ]), 997 BigUint::new(vec![ 998 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 1087128826, 999 981452571, 2880291694, 690450234, 2453641974, 3692566137, 598633614, 3877527001, 1000 768346722, 3382159864, 161950338, 2269297588, 2586046528, 1220588270, 1193232140, 1001 2163563226, 643752406, 1617927903, 3402316016, 682532534, 2135929957, 2020237801, 1002 42718290, 1243975999, 65815584, 2766923586, 3228600988, 508222157, 2234744696, 1003 649167307, 11082, 1004 ]), 1005 BigUint::new(vec![ 1006 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 2231534842, 1007 2016029098, 2102547670, 3923335417, 1984901852, 350880092, 2844195792, 458613143, 1008 275085070, 4008059670, 925677591, 264491974, 3331668198, 909553008, 1056346490, 1009 4172757287, 2231906487, 3027579414, 2137629704, 3313017339, 3340434766, 3868134082, 1010 3178418324, 1989113004, 2491891383, 3924450077, 1227802997, 1133757557, 4201533026, 1011 1655299608, 579766, 1012 ]), 1013 BigUint::new(vec![ 1014 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 453608698, 1015 2974240311, 4190540419, 1410368863, 833699122, 3566653284, 1221166785, 2701860513, 1016 4209709410, 134442109, 3051903255, 723203335, 3738552855, 3445694436, 1098450603, 1017 3456666556, 2312759672, 390733580, 1065635372, 3833332957, 1784038691, 365685078, 1018 4203571811, 3960413215, 2644005498, 1308680782, 2528127772, 2922357531, 2538871130, 1019 89406648, 30330440, 1020 ]), 1021 BigUint::new(vec![ 1022 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 1870300410, 1023 3519987679, 1785307871, 2076018399, 2631762895, 3337063364, 2197180164, 1044451958, 1024 3461946801, 2428986168, 3118024345, 1762268358, 231516531, 822067348, 1654625105, 1025 2372345571, 2157667181, 2651495586, 2166886651, 3634216025, 92645252, 1757253515, 1026 193416704, 2676968478, 102624486, 1554339635, 601848384, 2183691411, 83598378, 1027 1020113734, 1586723574, 1028 ]), 1029 BigUint::new(vec![ 1030 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 265979130, 1031 121455263, 2188672198, 3408550078, 2397184039, 2427373929, 3201791133, 2777668048, 1032 1115407813, 3103231190, 3537501048, 760881182, 1284277906, 3353426689, 1853209179, 1033 396964304, 1239487750, 1277749024, 1370670850, 3779603290, 1520771030, 140592522, 1034 1810338136, 3929439595, 4176243011, 561601281, 3519529757, 3757993485, 3139295079, 1035 1630853870, 1403800759, 19, 1036 ]), 1037 BigUint::new(vec![ 1038 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3394143482, 1039 2100488124, 3706196543, 4119429252, 943109685, 1644436876, 2936915684, 3287021127, 1040 3957754123, 1028688673, 2578375259, 2520030764, 530159313, 3457850287, 1263475043, 1041 607228571, 1147164734, 3334565589, 2049984080, 2117393090, 224359410, 4143333089, 1042 29920363, 3675525811, 2314357996, 2934312505, 589492290, 890888488, 1586529790, 1043 1388279943, 267009447, 1011, 1044 ]), 1045 BigUint::new(vec![ 1046 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 1029604602, 1047 1300955315, 1830990254, 1970899103, 1916726520, 3486386395, 1053589970, 2175764065, 1048 2379095055, 754945042, 531625132, 4014252696, 3829929750, 2474352983, 189287338, 1049 1723055400, 1365757113, 3099920986, 3432163066, 1799736303, 3216463597, 434456139, 1050 1543423970, 3109762217, 3137941216, 509720093, 1827337688, 720424945, 2707331184, 1051 816691531, 1092968965, 52892, 1052 ]), 1053 BigUint::new(vec![ 1054 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 2083423482, 1055 2505415884, 3212144860, 710902257, 3320088221, 3147567479, 3091994784, 4201390360, 1056 4143787420, 1074850321, 2060158878, 3635644273, 4179910906, 2722055679, 2939194020, 1057 2466925622, 202688522, 372284267, 3277804064, 3401490865, 1773346774, 506145463, 1058 1388421892, 3493417405, 20233904, 3395525644, 4196390909, 1444793471, 3972498474, 1059 1443159463, 745252462, 2766966, 1060 ]), 1061 BigUint::new(vec![ 1062 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 2645460218, 1063 2086822908, 2707204293, 1114209013, 825850397, 873488971, 2792723373, 36856421, 1064 3667233282, 1582246548, 651520439, 1928100686, 474104159, 2536694282, 2452371321, 1065 2833948873, 2693133614, 1565755751, 1806845266, 3169331798, 2417037154, 3779543345, 1066 1304854875, 3783283689, 507107699, 299935788, 4261007077, 4249521952, 797303627, 1067 2793347355, 243877443, 144748256, 1068 ]), 1069 BigUint::new(vec![ 1070 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 770606330, 1071 2264804, 329439611, 2332764211, 3451269867, 1927897295, 3114736445, 3016443594, 1072 1060032281, 82130215, 1783271780, 3996233488, 2763222839, 1195102010, 3973812197, 1073 3274054474, 1182302338, 1246796164, 1177746551, 227103909, 22573863, 514858324, 1074 1220606725, 1982433693, 3507357714, 1424442578, 2527561086, 2442928632, 1529612946, 1075 3953493533, 4285474694, 3277208968, 1, 1076 ]), 1077 BigUint::new(vec![ 1078 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 1223591162, 1079 2982394804, 2895911336, 367523356, 2047351792, 371938123, 1378078781, 873612867, 1080 3202209579, 1262032369, 714144373, 3437733071, 602639567, 3984064747, 612978490, 1081 3471864183, 674481286, 1394271724, 1763826443, 2990163968, 3301989925, 614316342, 1082 37291547, 1513490987, 4181721666, 449071607, 3349264364, 4080788191, 992432549, 1083 110857720, 2412516358, 982433320, 92, 1084 ]), 1085 BigUint::new(vec![ 1086 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 300844282, 1087 2307493123, 2055145423, 1171144040, 2971339012, 869159436, 4016520557, 2700899514, 1088 1661166827, 1912303342, 936071126, 2875533686, 3868206806, 2282746627, 2149397043, 1089 4175901529, 1080663404, 1982433417, 1398961609, 2644130322, 1226711637, 2742866472, 1090 245919861, 1192438573, 796345551, 1845430816, 4013717915, 1845523693, 219966706, 1091 15237374, 1933961567, 2987494186, 4824, 1092 ]), 1093 BigUint::new(vec![ 1094 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 1643021562, 1095 1920281417, 1446539515, 672005290, 1339606105, 1060185642, 2928538624, 1412353665, 1096 502198486, 1114659620, 2915704511, 2151278059, 2021357877, 3160496898, 2352263002, 1097 1249509765, 4146969416, 1655382877, 4172807454, 20332050, 3769739973, 2432429984, 1098 1945135808, 620977496, 3648234946, 1743994192, 2945771402, 2947990629, 3617215824, 1099 3994616034, 552805990, 3762013631, 252389, 1100 ]), 1101 BigUint::new(vec![ 1102 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 1978565882, 1103 2524960146, 4193922506, 4076590529, 2516223737, 391695821, 2190762613, 522673139, 1104 1987128608, 440254412, 2807372635, 359959156, 3737477879, 2747000479, 581553201, 1105 2511797953, 702434943, 2652697923, 3695193898, 3613772647, 1816774943, 2722879248, 1106 2302144282, 3030219558, 3287548153, 218079512, 3420566846, 1009458358, 935580230, 1107 1506862800, 4272011209, 2867187996, 13202995, 1108 ]), 1109 BigUint::new(vec![ 1110 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3320743162, 1111 948343474, 3405636809, 4014767551, 2612885443, 3972612845, 824281737, 4137837656, 1112 414658304, 1027983595, 1814268684, 1190496019, 2283765592, 2254837733, 1402998045, 1113 3229446146, 2921499078, 1872277523, 40810166, 1881592946, 1676856550, 4237240479, 1114 954097323, 3540364155, 2427558438, 4097986023, 1876897108, 2259500003, 410781233, 1115 47810089, 1460850268, 3796693287, 690671804, 1116 ]), 1117 BigUint::new(vec![ 1118 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 367953146, 1119 1947178011, 857303701, 4252140757, 2685473375, 170237623, 681228584, 2546374475, 1120 647727024, 574155167, 3835998138, 3156977392, 1377964963, 879242026, 2397433252, 1121 3151903944, 321716629, 2915001872, 2034067052, 4197479390, 239762274, 411187050, 1122 1913498586, 1999752094, 3974430733, 3337922549, 3113592958, 2973554659, 262245046, 1123 3390159210, 3748777389, 3567389094, 1770416790, 8, 1124 ]), 1125 BigUint::new(vec![ 1126 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 2515436794, 1127 1967278043, 2104607690, 2279407792, 4042270982, 2493824756, 2093025952, 3057235161, 1128 1947246360, 2051169369, 148967671, 2639851938, 447496030, 1169299488, 2272991543, 1129 2665184954, 859991147, 2025887591, 1226166406, 1287398010, 3430001396, 89366649, 1130 4067196564, 961555706, 1728104225, 3397127484, 4040801740, 2318882210, 3672174130, 1131 1476555222, 3748652491, 797956256, 236712014, 440, 1132 ]), 1133 BigUint::new(vec![ 1134 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1135 3412268069, 1023086602, 2026210508, 2948640365, 1990377411, 3418447020, 2628410977, 1136 1991879622, 3672905839, 1223731781, 2017025521, 2737855981, 2257171014, 890828011, 1137 2761812033, 1866749028, 3636324627, 776987488, 3662393815, 1860335431, 3546671068, 1138 559330021, 3174795765, 244385001, 399604355, 141731703, 1407315466, 3798132614, 1139 2901035943, 3891090695, 2549732229, 3844051172, 23019, 1140 ]), 1141 BigUint::new(vec![ 1142 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1143 2287539796, 4275088352, 2524788671, 428301997, 3800466684, 3002290381, 589736055, 1144 1142130780, 373738384, 3768739486, 2628080437, 2388674081, 2423831981, 2386510872, 1145 3309501747, 3119841775, 3519820, 4127203326, 2410571999, 3790961085, 393878211, 1146 1807298400, 787387858, 3771609922, 2083085827, 3431083982, 1779441946, 1173778119, 1147 2530463497, 102816871, 3379839254, 3462765990, 1204200, 1148 ]), 1149 BigUint::new(vec![ 1150 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1151 1761281781, 1175965788, 1954342487, 1084525753, 3257851189, 1650471046, 589323451, 1152 1708627683, 2913630328, 327508870, 65450921, 387930981, 868838718, 1131223535, 1153 2045168060, 2182484972, 1305171510, 3513059695, 2783764003, 1352841236, 4223790765, 1154 2355760065, 1705130248, 2408827385, 1032430657, 2597771791, 2207430797, 1314791031, 1155 2272867397, 3418340483, 4056746188, 2275032614, 62993239, 1156 ]), 1157 BigUint::new(vec![ 1158 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1159 1809340725, 535748848, 2651279796, 2972702886, 3798816580, 1689558595, 2563380497, 1160 2676026999, 735820630, 506791325, 3000489346, 1796919308, 3526045192, 486243855, 1161 372489664, 1906228610, 3800714730, 1747845295, 2957993825, 668549798, 2621876870, 1162 407136765, 591566264, 2632073022, 1636313827, 891821689, 2281824154, 1923313633, 1163 958388250, 1285318798, 1658461377, 856491293, 3295251525, 1164 ]), 1165 BigUint::new(vec![ 1166 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1167 2712792809, 3658590250, 1894120586, 698265268, 1162171068, 870321121, 3815695773, 1168 1680991420, 4253709444, 648283645, 1126625410, 3601123345, 2808686883, 1180925142, 1169 807407113, 560604794, 4237259425, 1207497088, 484611426, 2618666933, 3408262350, 1170 2884145631, 1261484694, 700732417, 2424618666, 267590588, 747041969, 769087774, 1171 4178986315, 138609815, 2888997761, 3066983590, 579742411, 40, 1172 ]), 1173 BigUint::new(vec![ 1174 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1175 651758713, 3906043406, 2548994640, 2228757432, 2121881214, 472348093, 878530644, 1176 971248989, 2081688077, 1949321364, 2647657092, 1107849908, 3882250508, 1952827114, 1177 859336559, 744223792, 3992135533, 68806754, 2609188276, 4080249809, 297055681, 1178 885074930, 2678708362, 3615821021, 2182633519, 760522724, 3081526858, 2240134876, 1179 3574753748, 1020578834, 4050681264, 124268560, 2177028858, 2099, 1180 ]), 1181 BigUint::new(vec![ 1182 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1183 587036233, 3067701272, 1697918617, 3416744348, 957762033, 2784479345, 3660801700, 1184 2341257627, 2870220782, 3127255235, 1850426667, 2590711144, 193256504, 3092252746, 1185 858791940, 3195757850, 2789572728, 2250403466, 4223626301, 883283817, 343136822, 1186 754616125, 4172822213, 377411409, 3910770529, 1514450968, 868753818, 333097290, 1187 2246022828, 2503075601, 462100262, 282524657, 2620007649, 109827, 1188 ]), 1189 BigUint::new(vec![ 1190 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1191 1716843977, 2406245462, 4100164558, 730871533, 2076274051, 1849094521, 441146666, 1192 463301781, 1449951415, 2543043405, 2506092364, 2186797030, 4026578175, 3937378246, 1193 698864271, 604408052, 870457054, 3903374973, 1022854923, 4281001692, 279067829, 1194 3748974629, 1724584816, 814693658, 848422032, 2238904762, 3671458914, 4166573676, 1195 2052797806, 200140248, 1816868384, 1300920824, 3180657116, 5745209, 1196 ]), 1197 BigUint::new(vec![ 1198 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1199 1266702857, 1726163715, 1868411348, 3369952439, 3242131435, 1534222815, 2135626846, 1200 3416782314, 2087636967, 1971732998, 3841794106, 322082412, 2445768432, 604649625, 1201 1736128197, 2376764098, 2774390933, 1146681592, 677359293, 1813892062, 968415609, 1202 1576242251, 3798010013, 3827678188, 902520545, 2549131665, 3909779088, 1506236052, 1203 2938795369, 485390229, 2269504120, 2792821107, 3274905154, 300538757, 1204 ]), 1205 BigUint::new(vec![ 1206 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1207 2249628937, 685687495, 2193556864, 849482254, 1892955482, 2678790792, 3215816948, 1208 3418405555, 4263405829, 2982365918, 3251176925, 1827020223, 3699084302, 4097605129, 1209 1965684458, 4076326152, 1772127055, 3933922126, 479474035, 1840427833, 3012899581, 1210 3831069482, 3298156499, 4038576278, 2408364303, 4056410551, 2104476906, 193784559, 1211 3125211841, 1505789080, 2696864045, 827610944, 2518243838, 2836651081, 3, 1212 ]), 1213 BigUint::new(vec![ 1214 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1215 4184643081, 1410986433, 1843600019, 2400675340, 929523537, 2459688753, 947275637, 1216 3237179039, 4130345007, 3653734165, 2190755476, 4082624876, 758859577, 215491460, 1217 3989305297, 2894966395, 1376384020, 4106882930, 292746535, 2711172166, 2768244740, 1218 146454730, 2700634288, 2811878475, 406039235, 3376346153, 2204857609, 1752048742, 1219 2908338330, 2827562179, 2659032057, 2206054502, 795376852, 2075947017, 191, 1220 ]), 1221 BigUint::new(vec![ 1222 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1223 1298712073, 2201636989, 3613796443, 3750533912, 813399020, 2846080568, 232014587, 1224 2397968910, 1395889404, 2894036997, 2880261938, 2445503214, 1309873853, 705309998, 1225 3769805381, 3352712840, 1793952063, 2039983215, 4181620852, 3563741840, 3416348297, 1226 3870361186, 3297272487, 740951942, 3216429413, 493979526, 3749505290, 2611250942, 1227 2114114653, 832062692, 3217332227, 580286736, 2603067450, 3236710367, 10016, 1228 ]), 1229 BigUint::new(vec![ 1230 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1231 3390642697, 3721599337, 871664873, 2911612331, 1048817226, 2119214535, 3867031815, 1232 713033506, 1637429796, 146757919, 604782956, 3611789462, 1105349601, 8293620, 1233 1235958732, 4107004201, 22662698, 4227745661, 615330606, 3555602145, 2758006042, 1234 1871034164, 1089875898, 3010016080, 3984027314, 1148724871, 2505171071, 2916506843, 1235 2063038348, 1635052446, 1554832576, 3305290580, 1432708148, 3316934573, 523990, 1236 ]), 1237 BigUint::new(vec![ 1238 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1239 757328393, 3614386048, 612921981, 3671275341, 229647166, 922873307, 4264649519, 1240 1719555435, 2266736286, 1533889711, 2441905738, 280079152, 828611854, 3201843831, 1241 3602591324, 280090900, 1469826922, 1875299088, 3069200698, 3724633479, 1990993253, 1242 4183411048, 2801573192, 3331946271, 3218951071, 3335901655, 2490262384, 3495191922, 1243 3995041812, 142479205, 912525419, 1349100142, 3879969713, 1156441875, 27410757, 1244 ]), 1245 BigUint::new(vec![ 1246 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1247 2670148105, 4062893077, 1020178806, 3590763106, 340483064, 735422676, 2016484003, 1248 123165102, 335678566, 2404537076, 3105061293, 262388713, 346139379, 4279497998, 1249 4229372948, 1689322293, 2741425721, 679181659, 3127270803, 4076916912, 754865685, 1250 3412746642, 1580171686, 983324276, 1665980275, 3530216836, 4061821633, 665902558, 1251 4257628544, 1810364691, 4287621734, 682959171, 1988619710, 3911294335, 1433901286, 1252 ]), 1253 BigUint::new(vec![ 1254 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1255 3859134985, 335331068, 49729055, 2180659011, 2028716409, 698050378, 1054422637, 1256 118763064, 3248361728, 4170950490, 1271907245, 2427996554, 3295652926, 3972266060, 1257 417838330, 3974975679, 196215687, 1069744590, 3392617455, 3081697941, 2439553383, 1258 3952135723, 1301176694, 3409091030, 1929659121, 429183607, 3113036387, 2212349291, 1259 2869725706, 2012444045, 9727018, 4144199701, 3596901873, 584228079, 1995418814, 17, 1260 ]), 1261 BigUint::new(vec![ 1262 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1263 1944320521, 1623163986, 628812511, 3164503401, 3895298003, 1054018629, 340174001, 1264 3153318879, 3928889269, 885285768, 3997011857, 1566203560, 1265094257, 2802058726, 1265 1331675844, 2827468672, 3060230221, 948837327, 1325629880, 2200958864, 1888334393, 1266 625826929, 2768815320, 2019796144, 3120134802, 1259302831, 758014572, 4152415859, 1267 4121411433, 4104878577, 4050987119, 4003867353, 365502017, 3906849072, 2599511236, 913, 1268 ]), 1269 BigUint::new(vec![ 1270 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1271 2855991817, 3606270125, 3181925397, 1257739756, 1915489712, 4000844533, 2935459934, 1272 3199937223, 585493537, 2183742943, 4127321345, 2262180642, 3815400108, 2289695961, 1273 2815189647, 4136674591, 4257830634, 1089901505, 2531093721, 2877560724, 3445987330, 1274 1090531247, 2485278853, 443621013, 801806268, 1637665528, 206526733, 142888530, 1275 215304120, 562513453, 1670416775, 769471011, 2404374923, 1720644795, 2109662988, 47792, 1276 ]), 1277 BigUint::new(vec![ 1278 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1279 2232154633, 1896409237, 2365622837, 3265658089, 2304950344, 629781221, 2808696483, 1280 3607626459, 1613690854, 3240893670, 2034809217, 3701333687, 4019267560, 2934788607, 1281 1000006471, 841934072, 3804698306, 1028929358, 37860002, 2667482229, 2989744713, 1282 1734489179, 3783538269, 3966691719, 1370314139, 3520981926, 4001410774, 3344358977, 1283 422292633, 3797056842, 4224698104, 2178099822, 2363633118, 840586894, 2027155544, 1284 2500125, 1285 ]), 1286 BigUint::new(vec![ 1287 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1288 19659273, 3220260405, 219408304, 2653515606, 2382656772, 1175565998, 4236323019, 1289 945581179, 2684487750, 2728069737, 1760710078, 3383293733, 225823767, 2592633266, 1290 2575153034, 1843036524, 2188424523, 2242423936, 1053404805, 1099379566, 3683175185, 1291 2856152948, 560129007, 2365107635, 4126904878, 2478475286, 3985790097, 2156013108, 1292 4114005084, 3855494087, 1718783362, 2995569012, 3215050506, 3538134199, 1735144505, 1293 130787134, 1294 ]), 1295 BigUint::new(vec![ 1296 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1297 2854222345, 327624114, 3930972968, 3338609940, 4160100491, 1369247557, 336580958, 1298 3829711641, 2260926043, 3169241416, 1890583300, 1600428045, 2513137876, 2569532300, 1299 1153079777, 2076762262, 1991046151, 2097142034, 3767179424, 2482412768, 1617290924, 1300 1831653476, 2536667053, 2459756649, 3342948645, 1411557415, 1984219451, 1838558342, 1301 2101966663, 4061975165, 3145853166, 3246339919, 1163935729, 1811615434, 902266163, 1302 2546816526, 1, 1303 ]), 1304 BigUint::new(vec![ 1305 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1306 842005001, 355176350, 2114974833, 494686742, 2433365255, 3877574949, 2315539152, 1307 876546272, 600231499, 611489188, 1562884203, 1619233555, 238670040, 278329366, 1308 253541034, 2893307126, 3022623747, 3858635470, 3361253054, 1047785714, 760632267, 1309 3451717120, 2363692180, 1104748202, 887485704, 4216544507, 666010480, 340335913, 1310 2196648833, 1519847578, 3079887219, 2197423964, 2161700369, 828284167, 2924785644, 1311 1428498487, 83, 1312 ]), 1313 BigUint::new(vec![ 1314 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1315 654309897, 1694660860, 53644162, 719830500, 1346144126, 673702875, 1861379378, 1316 1248111153, 88483473, 1214871104, 760018784, 748015845, 3920112330, 1451106470, 1317 2416521600, 139673472, 1631116243, 3635739447, 2140639545, 747719032, 4103149476, 1318 2448347463, 1918631311, 1045764051, 3937222717, 3527506827, 3791575540, 1130257547, 1319 1111955208, 3781906601, 1655764382, 546384510, 540931477, 692596877, 4183948736, 1320 1491597320, 4359, 1321 ]), 1322 BigUint::new(vec![ 1323 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1324 2222979593, 4061094889, 953466330, 4164056915, 2681813943, 3111113686, 3324352345, 1325 1740781125, 871329561, 3511837688, 2785070824, 2608723999, 167310482, 3357531027, 1326 3336475205, 1743224291, 1506125517, 1464703126, 3570815192, 1479890140, 1467987273, 1327 2535695435, 4011119207, 34118114, 2909809094, 2708212011, 3619957842, 3819607067, 1328 551243015, 4243601098, 2181644241, 4199986351, 3438670995, 1047519114, 3252714832, 1329 2109756729, 228049, 1330 ]), 1331 BigUint::new(vec![ 1332 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1333 1019214345, 3495330614, 3276646235, 2917694430, 202635504, 3127232740, 3096620825, 1334 2422150918, 2598217057, 2312710030, 1794242995, 3114292296, 4187839285, 2679606467, 1335 2363551913, 2720666805, 2294334399, 3171297205, 2597289631, 4007201490, 241513290, 1336 487844326, 159657130, 2759576089, 3694698832, 1216640832, 4275866767, 2977309375, 1337 1545701229, 3060587272, 1164198153, 2925687791, 153485005, 3909822127, 756091994, 1338 2803779685, 11929927, 1339 ]), 1340 BigUint::new(vec![ 1341 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1342 2814376457, 2640877314, 546262917, 2038320337, 4134503216, 6312622, 3742317570, 1343 2818695184, 1883758307, 1936304904, 940198419, 2574351302, 4202998030, 2096070289, 1344 1919640665, 3365064531, 2402066125, 3392759355, 808613323, 3281727309, 4218506968, 1345 1288863240, 2317106034, 1550598984, 3398356838, 2885063453, 967415299, 1655572686, 1346 311025610, 1003926595, 2301518401, 335703777, 1059867251, 2301363583, 1843601789, 1347 1172249251, 624090442, 1348 ]), 1349 BigUint::new(vec![ 1350 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1351 3502242313, 1804007453, 1735714352, 613223925, 1030198935, 952721098, 2082843195, 1352 2734934294, 3842351295, 831495393, 1110138176, 466303268, 3623141358, 1647759366, 1353 1128907386, 3234636962, 3317881823, 661273616, 2610082853, 2328028526, 481010401, 1354 3758025887, 3642284429, 2122902860, 1662465428, 3875062690, 2381397737, 1723696361, 1355 1080501446, 2606552252, 1487821436, 58750251, 3599280126, 2261211288, 4119403670, 1356 2613793840, 2583351593, 7, 1357 ]), 1358 BigUint::new(vec![ 1359 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1360 3770677769, 4049516327, 1450027359, 4002593979, 3413012441, 1624438220, 898545018, 1361 2498016501, 4137840039, 1065606392, 1492184036, 3226447526, 944013522, 3559656857, 1362 1179750270, 2389232650, 3467392352, 2728744532, 1465630338, 1488576798, 54611393, 1363 3518420558, 2772448600, 1309221855, 2829832393, 1606212912, 2057808156, 2116635731, 1364 3963120029, 2007695148, 1941388729, 1486623309, 1416380476, 510649109, 571816553, 1365 2275852204, 2826859509, 397, 1366 ]), 1367 BigUint::new(vec![ 1368 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1369 1958738441, 4284300983, 3080186296, 2744787675, 1702526358, 374933851, 2837853614, 1370 1077815519, 2215259023, 145245666, 549730322, 1889984953, 2172093180, 1553664732, 1371 1369083690, 2494515454, 3176957800, 2566989312, 2807639888, 3857504457, 3760142116, 1372 1535230380, 2027375774, 999441160, 2895617276, 2294641768, 3499880006, 3499376604, 1373 3713739526, 970936659, 4088926661, 3785432868, 3449522887, 1980098243, 2319665041, 1374 2860149894, 3536548067, 20802, 1375 ]), 1376 BigUint::new(vec![ 1377 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1378 3300915721, 115578348, 1790222711, 1858434925, 4115884344, 1661122603, 3566611261, 1379 540903953, 3108944241, 3649809669, 1068275229, 486997643, 886790309, 1831002139, 1380 2594785146, 23978661, 576512999, 3811470156, 3874159424, 2484542501, 3745592469, 1381 329497784, 2078580168, 2837461864, 3992415299, 91937857, 415278725, 1129439873, 1382 2753976754, 3981038028, 4127738104, 4170126886, 3452333906, 3051709874, 3061052331, 1383 1878810143, 2918565786, 1088266, 1384 ]), 1385 BigUint::new(vec![ 1386 375288404, 2460223985, 1334358771, 2543621408, 2519466280, 1133682239, 3589178618, 1387 348125705, 1709233643, 958334503, 3780539710, 2181893897, 2457156833, 3204765645, 1388 2728103430, 1817547150, 3102358416, 444185044, 3659003776, 10341713, 306326206, 1389 1336386425, 3942332649, 2036577878, 2460939277, 3976861337, 2101094571, 2241770079, 1390 2667853164, 3687350273, 109356153, 3455569358, 2333076459, 2433207896, 1553903141, 1391 2621943843, 4223295645, 1753858368, 130924388, 965594304, 3942586845, 1573844087, 1392 4237886128, 481383133, 56931017, 1393 ]), 1394 ][251 - dom.len().get() as usize] 1395 .clone() 1396 // #![feature(int_roundings)] 1397 // use num_bigint::BigUint; 1398 // use std::fs::File; 1399 // use std::io::{BufWriter, Write}; 1400 // fn main() { 1401 // let mut writer = BufWriter::new( 1402 // File::options() 1403 // .read(false) 1404 // .write(true) 1405 // .create_new(true) 1406 // .open("/home/zack/cards") 1407 // .unwrap(), 1408 // ); 1409 // writer.write_all(b" [").unwrap(); 1410 // let mut count = BigUint::new(Vec::new()); 1411 // // We only count proper subdomains which means 1412 // // the max length of a domain is 252. 1413 // // We dont count proper subdomains of the root domain, 1414 // // so the minimum length is 2. 1415 // for i in 2usize..=252 { 1416 // for j in i.div_ceil(64)..=i / 2 { 1417 // count += a_restricted_comp(i, j); 1418 // } 1419 // writer 1420 // .write_fmt(format_args!( 1421 // "BigUint::new(vec!{:?}), ", 1422 // count.to_u32_digits() 1423 // )) 1424 // .unwrap(); 1425 // } 1426 // writer 1427 // .write_all(b"][251 - dom.len().get() as usize].clone()") 1428 // .unwrap(); 1429 // } 1430 // fn poly_expand(left: &[BigUint], right: &[BigUint], n: usize) -> Vec<BigUint> { 1431 // let mut prod = vec![BigUint::new(Vec::new()); usize::min(n + 1, left.len() + right.len() - 1)]; 1432 // for i in 0..usize::min(left.len(), n + 1) { 1433 // for j in 0..usize::min(right.len(), n + 1 - i) { 1434 // prod[i + j] += &left[i] * &right[j]; 1435 // } 1436 // } 1437 // prod 1438 // } 1439 // fn a_restricted_comp(n: usize, k: usize) -> BigUint { 1440 // let init = { 1441 // let start = usize::max(2, (n + 64).saturating_sub(64 * k)); 1442 // let end = usize::min(64, n + 2 - (2 * k)); 1443 // let mut tmp = Vec::with_capacity(end + 1); 1444 // for _ in 0..start { 1445 // tmp.push(BigUint::new(Vec::new())); 1446 // } 1447 // for _ in start..=end { 1448 // tmp.push(BigUint::new(vec![1])); 1449 // } 1450 // tmp 1451 // }; 1452 // let mut two_power = 1; 1453 // let mut two_powers = Vec::<(Vec<BigUint>, usize)>::with_capacity(7); 1454 // let mut k_copy = k; 1455 // while k_copy > 0 { 1456 // if (k_copy & two_power) == two_power { 1457 // let (mut two_power_start, mut two) = two_powers 1458 // .last() 1459 // .map_or_else(|| (init.clone(), 1), |t| (t.0.clone(), t.1)); 1460 // while two < two_power { 1461 // two_power_start = 1462 // poly_expand(two_power_start.as_slice(), two_power_start.as_slice(), n); 1463 // two <<= 1; 1464 // } 1465 // two_powers.push((two_power_start, two_power)); 1466 // k_copy -= two_power; 1467 // } 1468 // two_power <<= 1; 1469 // } 1470 // let mut iter = two_powers.into_iter(); 1471 // let init = iter.next().unwrap().0; 1472 // iter.fold(init, |prev, cur| { 1473 // poly_expand(cur.0.as_slice(), prev.as_slice(), n) 1474 // }) 1475 // .into_iter() 1476 // .skip(n) 1477 // .next() 1478 // .unwrap() 1479 // * BigUint::new(vec![52]).pow((n - k) as u32) 1480 // } 1481 }