mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-05-01 07:12:47 +03:00
2085a4af56
The previous float-parsing method was lacking in a lot of areas. This commit introduces a state-of-the art implementation that is both accurate and fast to std. Code is derived from working repo https://github.com/tiehuis/zig-parsefloat. This includes more test-cases and performance numbers that are present in this commit. * Accuracy The primary testing regime has been using test-data found at https://github.com/tiehuis/parse-number-fxx-test-data. This is a fork of upstream with support for f128 test-cases added. This data has been verified against other independent implementations and represents accurate round-to-even IEEE-754 floating point semantics. * Performance Compared to the existing parseFloat implementation there is ~5-10x performance improvement using the above corpus. (f128 parsing excluded in below measurements). ** Old $ time ./test_all_fxx_data 3520298/5296694 succeeded (1776396 fail) ________________________________________________________ Executed in 28.68 secs fish external usr time 28.48 secs 0.00 micros 28.48 secs sys time 0.08 secs 694.00 micros 0.08 secs ** This Implementation $ time ./test_all_fxx_data 5296693/5296694 succeeded (1 fail) ________________________________________________________ Executed in 4.54 secs fish external usr time 4.37 secs 515.00 micros 4.37 secs sys time 0.10 secs 171.00 micros 0.10 secs Further performance numbers can be seen using the https://github.com/tiehuis/simple_fastfloat_benchmark/ repository, which compares against some other well-known string-to-float conversion functions. A breakdown can be found here: https://github.com/tiehuis/zig-parsefloat/blob/0d9f020f1a37ca88bf889703b397c1c41779f090/PERFORMANCE.md#commit-b15406a0d2e18b50a4b62fceb5a6a3bb60ca5706 In summary, we are within 20% of the C++ reference implementation and have about ~600-700MB/s throughput on a Intel I5-6500 3.5Ghz. * F128 Support Finally, f128 is now completely supported with full accuracy. This does use a slower path which is possible to improve in future. * Behavioural Changes There are a few behavioural changes to note. - `parseHexFloat` is now redundant and these are now supported directly in `parseFloat`. - We implement round-to-even in all parsing routines. This is as specified by IEEE-754. Previous code used different rounding mechanisms (standard was round-to-zero, hex-parsing looked to use round-up) so there may be subtle differences. Closes #2207. Fixes #11169.
844 lines
47 KiB
Zig
844 lines
47 KiB
Zig
const std = @import("std");
|
|
const math = std.math;
|
|
const common = @import("common.zig");
|
|
const FloatInfo = @import("FloatInfo.zig");
|
|
const BiasedFp = common.BiasedFp;
|
|
const Number = common.Number;
|
|
|
|
/// Compute a float using an extended-precision representation.
|
|
///
|
|
/// Fast conversion of a the significant digits and decimal exponent
|
|
/// a float to an extended representation with a binary float. This
|
|
/// algorithm will accurately parse the vast majority of cases,
|
|
/// and uses a 128-bit representation (with a fallback 192-bit
|
|
/// representation).
|
|
///
|
|
/// This algorithm scales the exponent by the decimal exponent
|
|
/// using pre-computed powers-of-5, and calculates if the
|
|
/// representation can be unambiguously rounded to the nearest
|
|
/// machine float. Near-halfway cases are not handled here,
|
|
/// and are represented by a negative, biased binary exponent.
|
|
///
|
|
/// The algorithm is described in detail in "Daniel Lemire, Number Parsing
|
|
/// at a Gigabyte per Second" in section 5, "Fast Algorithm", and
|
|
/// section 6, "Exact Numbers And Ties", available online:
|
|
/// <https://arxiv.org/abs/2101.11408.pdf>.
|
|
pub fn convertEiselLemire(comptime T: type, q: i64, w_: u64) ?BiasedFp(f64) {
|
|
std.debug.assert(T == f16 or T == f32 or T == f64);
|
|
var w = w_;
|
|
const float_info = FloatInfo.from(T);
|
|
|
|
// Short-circuit if the value can only be a literal 0 or infinity.
|
|
if (w == 0 or q < float_info.smallest_power_of_ten) {
|
|
return BiasedFp(f64).zero();
|
|
} else if (q > float_info.largest_power_of_ten) {
|
|
return BiasedFp(f64).inf(T);
|
|
}
|
|
|
|
// Normalize our significant digits, so the most-significant bit is set.
|
|
const lz = @clz(u64, @bitCast(u64, w));
|
|
w = math.shl(u64, w, lz);
|
|
|
|
const r = computeProductApprox(q, w, float_info.mantissa_explicit_bits + 3);
|
|
if (r.lo == 0xffff_ffff_ffff_ffff) {
|
|
// If we have failed to approximate w x 5^-q with our 128-bit value.
|
|
// Since the addition of 1 could lead to an overflow which could then
|
|
// round up over the half-way point, this can lead to improper rounding
|
|
// of a float.
|
|
//
|
|
// However, this can only occur if q ∈ [-27, 55]. The upper bound of q
|
|
// is 55 because 5^55 < 2^128, however, this can only happen if 5^q > 2^64,
|
|
// since otherwise the product can be represented in 64-bits, producing
|
|
// an exact result. For negative exponents, rounding-to-even can
|
|
// only occur if 5^-q < 2^64.
|
|
//
|
|
// For detailed explanations of rounding for negative exponents, see
|
|
// <https://arxiv.org/pdf/2101.11408.pdf#section.9.1>. For detailed
|
|
// explanations of rounding for positive exponents, see
|
|
// <https://arxiv.org/pdf/2101.11408.pdf#section.8>.
|
|
const inside_safe_exponent = q >= -27 and q <= 55;
|
|
if (!inside_safe_exponent) {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
const upper_bit = @intCast(i32, r.hi >> 63);
|
|
var mantissa = math.shr(u64, r.hi, upper_bit + 64 - @intCast(i32, float_info.mantissa_explicit_bits) - 3);
|
|
var power2 = power(@intCast(i32, q)) + upper_bit - @intCast(i32, lz) - float_info.minimum_exponent;
|
|
if (power2 <= 0) {
|
|
if (-power2 + 1 >= 64) {
|
|
// Have more than 64 bits below the minimum exponent, must be 0.
|
|
return BiasedFp(f64).zero();
|
|
}
|
|
// Have a subnormal value.
|
|
mantissa = math.shr(u64, mantissa, -power2 + 1);
|
|
mantissa += mantissa & 1;
|
|
mantissa >>= 1;
|
|
power2 = @boolToInt(mantissa >= (1 << float_info.mantissa_explicit_bits));
|
|
return BiasedFp(f64){ .f = mantissa, .e = power2 };
|
|
}
|
|
|
|
// Need to handle rounding ties. Normally, we need to round up,
|
|
// but if we fall right in between and and we have an even basis, we
|
|
// need to round down.
|
|
//
|
|
// This will only occur if:
|
|
// 1. The lower 64 bits of the 128-bit representation is 0.
|
|
// IE, 5^q fits in single 64-bit word.
|
|
// 2. The least-significant bit prior to truncated mantissa is odd.
|
|
// 3. All the bits truncated when shifting to mantissa bits + 1 are 0.
|
|
//
|
|
// Or, we may fall between two floats: we are exactly halfway.
|
|
if (r.lo <= 1 and
|
|
q >= float_info.min_exponent_round_to_even and
|
|
q <= float_info.max_exponent_round_to_even and
|
|
mantissa & 3 == 1 and
|
|
math.shl(u64, mantissa, (upper_bit + 64 - @intCast(i32, float_info.mantissa_explicit_bits) - 3)) == r.hi)
|
|
{
|
|
// Zero the lowest bit, so we don't round up.
|
|
mantissa &= ~@as(u64, 1);
|
|
}
|
|
|
|
// Round-to-even, then shift the significant digits into place.
|
|
mantissa += mantissa & 1;
|
|
mantissa >>= 1;
|
|
if (mantissa >= 2 << float_info.mantissa_explicit_bits) {
|
|
// Rounding up overflowed, so the carry bit is set. Set the
|
|
// mantissa to 1 (only the implicit, hidden bit is set) and
|
|
// increase the exponent.
|
|
mantissa = 1 << float_info.mantissa_explicit_bits;
|
|
power2 += 1;
|
|
}
|
|
|
|
// Zero out the hidden bit
|
|
mantissa &= ~(@as(u64, 1) << float_info.mantissa_explicit_bits);
|
|
if (power2 >= float_info.infinite_power) {
|
|
// Exponent is above largest normal value, must be infinite
|
|
return BiasedFp(f64).inf(T);
|
|
}
|
|
|
|
return BiasedFp(f64){ .f = mantissa, .e = power2 };
|
|
}
|
|
|
|
/// Calculate a base 2 exponent from a decimal exponent.
|
|
/// This uses a pre-computed integer approximation for
|
|
/// log2(10), where 217706 / 2^16 is accurate for the
|
|
/// entire range of non-finite decimal exponents.
|
|
fn power(q: i32) i32 {
|
|
return ((q *% (152170 + 65536)) >> 16) + 63;
|
|
}
|
|
|
|
const U128 = struct {
|
|
lo: u64,
|
|
hi: u64,
|
|
|
|
pub fn new(lo: u64, hi: u64) U128 {
|
|
return .{ .lo = lo, .hi = hi };
|
|
}
|
|
|
|
pub fn mul(a: u64, b: u64) U128 {
|
|
const x = @as(u128, a) * b;
|
|
return .{
|
|
.hi = @truncate(u64, x >> 64),
|
|
.lo = @truncate(u64, x),
|
|
};
|
|
}
|
|
};
|
|
|
|
// This will compute or rather approximate w * 5**q and return a pair of 64-bit words
|
|
// approximating the result, with the "high" part corresponding to the most significant
|
|
// bits and the low part corresponding to the least significant bits.
|
|
fn computeProductApprox(q: i64, w: u64, comptime precision: usize) U128 {
|
|
std.debug.assert(q >= eisel_lemire_smallest_power_of_five);
|
|
std.debug.assert(q <= eisel_lemire_largest_power_of_five);
|
|
std.debug.assert(precision <= 64);
|
|
|
|
const mask = if (precision < 64)
|
|
0xffff_ffff_ffff_ffff >> precision
|
|
else
|
|
0xffff_ffff_ffff_ffff;
|
|
|
|
// 5^q < 2^64, then the multiplication always provides an exact value.
|
|
// That means whenever we need to round ties to even, we always have
|
|
// an exact value.
|
|
const index = @intCast(usize, q - @intCast(i64, eisel_lemire_smallest_power_of_five));
|
|
const pow5 = eisel_lemire_table_powers_of_five_128[index];
|
|
|
|
// Only need one multiplication as long as there is 1 zero but
|
|
// in the explicit mantissa bits, +1 for the hidden bit, +1 to
|
|
// determine the rounding direction, +1 for if the computed
|
|
// product has a leading zero.
|
|
var first = U128.mul(w, pow5.lo);
|
|
if (first.hi & mask == mask) {
|
|
// Need to do a second multiplication to get better precision
|
|
// for the lower product. This will always be exact
|
|
// where q is < 55, since 5^55 < 2^128. If this wraps,
|
|
// then we need to need to round up the hi product.
|
|
const second = U128.mul(w, pow5.hi);
|
|
|
|
first.lo +%= second.hi;
|
|
if (second.hi > first.lo) {
|
|
first.hi += 1;
|
|
}
|
|
}
|
|
|
|
return .{ .lo = first.lo, .hi = first.hi };
|
|
}
|
|
|
|
// Eisel-Lemire tables ~10Kb
|
|
const eisel_lemire_smallest_power_of_five = -342;
|
|
const eisel_lemire_largest_power_of_five = 308;
|
|
const eisel_lemire_table_powers_of_five_128 = [_]U128{
|
|
U128.new(0xeef453d6923bd65a, 0x113faa2906a13b3f), // 5^-342
|
|
U128.new(0x9558b4661b6565f8, 0x4ac7ca59a424c507), // 5^-341
|
|
U128.new(0xbaaee17fa23ebf76, 0x5d79bcf00d2df649), // 5^-340
|
|
U128.new(0xe95a99df8ace6f53, 0xf4d82c2c107973dc), // 5^-339
|
|
U128.new(0x91d8a02bb6c10594, 0x79071b9b8a4be869), // 5^-338
|
|
U128.new(0xb64ec836a47146f9, 0x9748e2826cdee284), // 5^-337
|
|
U128.new(0xe3e27a444d8d98b7, 0xfd1b1b2308169b25), // 5^-336
|
|
U128.new(0x8e6d8c6ab0787f72, 0xfe30f0f5e50e20f7), // 5^-335
|
|
U128.new(0xb208ef855c969f4f, 0xbdbd2d335e51a935), // 5^-334
|
|
U128.new(0xde8b2b66b3bc4723, 0xad2c788035e61382), // 5^-333
|
|
U128.new(0x8b16fb203055ac76, 0x4c3bcb5021afcc31), // 5^-332
|
|
U128.new(0xaddcb9e83c6b1793, 0xdf4abe242a1bbf3d), // 5^-331
|
|
U128.new(0xd953e8624b85dd78, 0xd71d6dad34a2af0d), // 5^-330
|
|
U128.new(0x87d4713d6f33aa6b, 0x8672648c40e5ad68), // 5^-329
|
|
U128.new(0xa9c98d8ccb009506, 0x680efdaf511f18c2), // 5^-328
|
|
U128.new(0xd43bf0effdc0ba48, 0x212bd1b2566def2), // 5^-327
|
|
U128.new(0x84a57695fe98746d, 0x14bb630f7604b57), // 5^-326
|
|
U128.new(0xa5ced43b7e3e9188, 0x419ea3bd35385e2d), // 5^-325
|
|
U128.new(0xcf42894a5dce35ea, 0x52064cac828675b9), // 5^-324
|
|
U128.new(0x818995ce7aa0e1b2, 0x7343efebd1940993), // 5^-323
|
|
U128.new(0xa1ebfb4219491a1f, 0x1014ebe6c5f90bf8), // 5^-322
|
|
U128.new(0xca66fa129f9b60a6, 0xd41a26e077774ef6), // 5^-321
|
|
U128.new(0xfd00b897478238d0, 0x8920b098955522b4), // 5^-320
|
|
U128.new(0x9e20735e8cb16382, 0x55b46e5f5d5535b0), // 5^-319
|
|
U128.new(0xc5a890362fddbc62, 0xeb2189f734aa831d), // 5^-318
|
|
U128.new(0xf712b443bbd52b7b, 0xa5e9ec7501d523e4), // 5^-317
|
|
U128.new(0x9a6bb0aa55653b2d, 0x47b233c92125366e), // 5^-316
|
|
U128.new(0xc1069cd4eabe89f8, 0x999ec0bb696e840a), // 5^-315
|
|
U128.new(0xf148440a256e2c76, 0xc00670ea43ca250d), // 5^-314
|
|
U128.new(0x96cd2a865764dbca, 0x380406926a5e5728), // 5^-313
|
|
U128.new(0xbc807527ed3e12bc, 0xc605083704f5ecf2), // 5^-312
|
|
U128.new(0xeba09271e88d976b, 0xf7864a44c633682e), // 5^-311
|
|
U128.new(0x93445b8731587ea3, 0x7ab3ee6afbe0211d), // 5^-310
|
|
U128.new(0xb8157268fdae9e4c, 0x5960ea05bad82964), // 5^-309
|
|
U128.new(0xe61acf033d1a45df, 0x6fb92487298e33bd), // 5^-308
|
|
U128.new(0x8fd0c16206306bab, 0xa5d3b6d479f8e056), // 5^-307
|
|
U128.new(0xb3c4f1ba87bc8696, 0x8f48a4899877186c), // 5^-306
|
|
U128.new(0xe0b62e2929aba83c, 0x331acdabfe94de87), // 5^-305
|
|
U128.new(0x8c71dcd9ba0b4925, 0x9ff0c08b7f1d0b14), // 5^-304
|
|
U128.new(0xaf8e5410288e1b6f, 0x7ecf0ae5ee44dd9), // 5^-303
|
|
U128.new(0xdb71e91432b1a24a, 0xc9e82cd9f69d6150), // 5^-302
|
|
U128.new(0x892731ac9faf056e, 0xbe311c083a225cd2), // 5^-301
|
|
U128.new(0xab70fe17c79ac6ca, 0x6dbd630a48aaf406), // 5^-300
|
|
U128.new(0xd64d3d9db981787d, 0x92cbbccdad5b108), // 5^-299
|
|
U128.new(0x85f0468293f0eb4e, 0x25bbf56008c58ea5), // 5^-298
|
|
U128.new(0xa76c582338ed2621, 0xaf2af2b80af6f24e), // 5^-297
|
|
U128.new(0xd1476e2c07286faa, 0x1af5af660db4aee1), // 5^-296
|
|
U128.new(0x82cca4db847945ca, 0x50d98d9fc890ed4d), // 5^-295
|
|
U128.new(0xa37fce126597973c, 0xe50ff107bab528a0), // 5^-294
|
|
U128.new(0xcc5fc196fefd7d0c, 0x1e53ed49a96272c8), // 5^-293
|
|
U128.new(0xff77b1fcbebcdc4f, 0x25e8e89c13bb0f7a), // 5^-292
|
|
U128.new(0x9faacf3df73609b1, 0x77b191618c54e9ac), // 5^-291
|
|
U128.new(0xc795830d75038c1d, 0xd59df5b9ef6a2417), // 5^-290
|
|
U128.new(0xf97ae3d0d2446f25, 0x4b0573286b44ad1d), // 5^-289
|
|
U128.new(0x9becce62836ac577, 0x4ee367f9430aec32), // 5^-288
|
|
U128.new(0xc2e801fb244576d5, 0x229c41f793cda73f), // 5^-287
|
|
U128.new(0xf3a20279ed56d48a, 0x6b43527578c1110f), // 5^-286
|
|
U128.new(0x9845418c345644d6, 0x830a13896b78aaa9), // 5^-285
|
|
U128.new(0xbe5691ef416bd60c, 0x23cc986bc656d553), // 5^-284
|
|
U128.new(0xedec366b11c6cb8f, 0x2cbfbe86b7ec8aa8), // 5^-283
|
|
U128.new(0x94b3a202eb1c3f39, 0x7bf7d71432f3d6a9), // 5^-282
|
|
U128.new(0xb9e08a83a5e34f07, 0xdaf5ccd93fb0cc53), // 5^-281
|
|
U128.new(0xe858ad248f5c22c9, 0xd1b3400f8f9cff68), // 5^-280
|
|
U128.new(0x91376c36d99995be, 0x23100809b9c21fa1), // 5^-279
|
|
U128.new(0xb58547448ffffb2d, 0xabd40a0c2832a78a), // 5^-278
|
|
U128.new(0xe2e69915b3fff9f9, 0x16c90c8f323f516c), // 5^-277
|
|
U128.new(0x8dd01fad907ffc3b, 0xae3da7d97f6792e3), // 5^-276
|
|
U128.new(0xb1442798f49ffb4a, 0x99cd11cfdf41779c), // 5^-275
|
|
U128.new(0xdd95317f31c7fa1d, 0x40405643d711d583), // 5^-274
|
|
U128.new(0x8a7d3eef7f1cfc52, 0x482835ea666b2572), // 5^-273
|
|
U128.new(0xad1c8eab5ee43b66, 0xda3243650005eecf), // 5^-272
|
|
U128.new(0xd863b256369d4a40, 0x90bed43e40076a82), // 5^-271
|
|
U128.new(0x873e4f75e2224e68, 0x5a7744a6e804a291), // 5^-270
|
|
U128.new(0xa90de3535aaae202, 0x711515d0a205cb36), // 5^-269
|
|
U128.new(0xd3515c2831559a83, 0xd5a5b44ca873e03), // 5^-268
|
|
U128.new(0x8412d9991ed58091, 0xe858790afe9486c2), // 5^-267
|
|
U128.new(0xa5178fff668ae0b6, 0x626e974dbe39a872), // 5^-266
|
|
U128.new(0xce5d73ff402d98e3, 0xfb0a3d212dc8128f), // 5^-265
|
|
U128.new(0x80fa687f881c7f8e, 0x7ce66634bc9d0b99), // 5^-264
|
|
U128.new(0xa139029f6a239f72, 0x1c1fffc1ebc44e80), // 5^-263
|
|
U128.new(0xc987434744ac874e, 0xa327ffb266b56220), // 5^-262
|
|
U128.new(0xfbe9141915d7a922, 0x4bf1ff9f0062baa8), // 5^-261
|
|
U128.new(0x9d71ac8fada6c9b5, 0x6f773fc3603db4a9), // 5^-260
|
|
U128.new(0xc4ce17b399107c22, 0xcb550fb4384d21d3), // 5^-259
|
|
U128.new(0xf6019da07f549b2b, 0x7e2a53a146606a48), // 5^-258
|
|
U128.new(0x99c102844f94e0fb, 0x2eda7444cbfc426d), // 5^-257
|
|
U128.new(0xc0314325637a1939, 0xfa911155fefb5308), // 5^-256
|
|
U128.new(0xf03d93eebc589f88, 0x793555ab7eba27ca), // 5^-255
|
|
U128.new(0x96267c7535b763b5, 0x4bc1558b2f3458de), // 5^-254
|
|
U128.new(0xbbb01b9283253ca2, 0x9eb1aaedfb016f16), // 5^-253
|
|
U128.new(0xea9c227723ee8bcb, 0x465e15a979c1cadc), // 5^-252
|
|
U128.new(0x92a1958a7675175f, 0xbfacd89ec191ec9), // 5^-251
|
|
U128.new(0xb749faed14125d36, 0xcef980ec671f667b), // 5^-250
|
|
U128.new(0xe51c79a85916f484, 0x82b7e12780e7401a), // 5^-249
|
|
U128.new(0x8f31cc0937ae58d2, 0xd1b2ecb8b0908810), // 5^-248
|
|
U128.new(0xb2fe3f0b8599ef07, 0x861fa7e6dcb4aa15), // 5^-247
|
|
U128.new(0xdfbdcece67006ac9, 0x67a791e093e1d49a), // 5^-246
|
|
U128.new(0x8bd6a141006042bd, 0xe0c8bb2c5c6d24e0), // 5^-245
|
|
U128.new(0xaecc49914078536d, 0x58fae9f773886e18), // 5^-244
|
|
U128.new(0xda7f5bf590966848, 0xaf39a475506a899e), // 5^-243
|
|
U128.new(0x888f99797a5e012d, 0x6d8406c952429603), // 5^-242
|
|
U128.new(0xaab37fd7d8f58178, 0xc8e5087ba6d33b83), // 5^-241
|
|
U128.new(0xd5605fcdcf32e1d6, 0xfb1e4a9a90880a64), // 5^-240
|
|
U128.new(0x855c3be0a17fcd26, 0x5cf2eea09a55067f), // 5^-239
|
|
U128.new(0xa6b34ad8c9dfc06f, 0xf42faa48c0ea481e), // 5^-238
|
|
U128.new(0xd0601d8efc57b08b, 0xf13b94daf124da26), // 5^-237
|
|
U128.new(0x823c12795db6ce57, 0x76c53d08d6b70858), // 5^-236
|
|
U128.new(0xa2cb1717b52481ed, 0x54768c4b0c64ca6e), // 5^-235
|
|
U128.new(0xcb7ddcdda26da268, 0xa9942f5dcf7dfd09), // 5^-234
|
|
U128.new(0xfe5d54150b090b02, 0xd3f93b35435d7c4c), // 5^-233
|
|
U128.new(0x9efa548d26e5a6e1, 0xc47bc5014a1a6daf), // 5^-232
|
|
U128.new(0xc6b8e9b0709f109a, 0x359ab6419ca1091b), // 5^-231
|
|
U128.new(0xf867241c8cc6d4c0, 0xc30163d203c94b62), // 5^-230
|
|
U128.new(0x9b407691d7fc44f8, 0x79e0de63425dcf1d), // 5^-229
|
|
U128.new(0xc21094364dfb5636, 0x985915fc12f542e4), // 5^-228
|
|
U128.new(0xf294b943e17a2bc4, 0x3e6f5b7b17b2939d), // 5^-227
|
|
U128.new(0x979cf3ca6cec5b5a, 0xa705992ceecf9c42), // 5^-226
|
|
U128.new(0xbd8430bd08277231, 0x50c6ff782a838353), // 5^-225
|
|
U128.new(0xece53cec4a314ebd, 0xa4f8bf5635246428), // 5^-224
|
|
U128.new(0x940f4613ae5ed136, 0x871b7795e136be99), // 5^-223
|
|
U128.new(0xb913179899f68584, 0x28e2557b59846e3f), // 5^-222
|
|
U128.new(0xe757dd7ec07426e5, 0x331aeada2fe589cf), // 5^-221
|
|
U128.new(0x9096ea6f3848984f, 0x3ff0d2c85def7621), // 5^-220
|
|
U128.new(0xb4bca50b065abe63, 0xfed077a756b53a9), // 5^-219
|
|
U128.new(0xe1ebce4dc7f16dfb, 0xd3e8495912c62894), // 5^-218
|
|
U128.new(0x8d3360f09cf6e4bd, 0x64712dd7abbbd95c), // 5^-217
|
|
U128.new(0xb080392cc4349dec, 0xbd8d794d96aacfb3), // 5^-216
|
|
U128.new(0xdca04777f541c567, 0xecf0d7a0fc5583a0), // 5^-215
|
|
U128.new(0x89e42caaf9491b60, 0xf41686c49db57244), // 5^-214
|
|
U128.new(0xac5d37d5b79b6239, 0x311c2875c522ced5), // 5^-213
|
|
U128.new(0xd77485cb25823ac7, 0x7d633293366b828b), // 5^-212
|
|
U128.new(0x86a8d39ef77164bc, 0xae5dff9c02033197), // 5^-211
|
|
U128.new(0xa8530886b54dbdeb, 0xd9f57f830283fdfc), // 5^-210
|
|
U128.new(0xd267caa862a12d66, 0xd072df63c324fd7b), // 5^-209
|
|
U128.new(0x8380dea93da4bc60, 0x4247cb9e59f71e6d), // 5^-208
|
|
U128.new(0xa46116538d0deb78, 0x52d9be85f074e608), // 5^-207
|
|
U128.new(0xcd795be870516656, 0x67902e276c921f8b), // 5^-206
|
|
U128.new(0x806bd9714632dff6, 0xba1cd8a3db53b6), // 5^-205
|
|
U128.new(0xa086cfcd97bf97f3, 0x80e8a40eccd228a4), // 5^-204
|
|
U128.new(0xc8a883c0fdaf7df0, 0x6122cd128006b2cd), // 5^-203
|
|
U128.new(0xfad2a4b13d1b5d6c, 0x796b805720085f81), // 5^-202
|
|
U128.new(0x9cc3a6eec6311a63, 0xcbe3303674053bb0), // 5^-201
|
|
U128.new(0xc3f490aa77bd60fc, 0xbedbfc4411068a9c), // 5^-200
|
|
U128.new(0xf4f1b4d515acb93b, 0xee92fb5515482d44), // 5^-199
|
|
U128.new(0x991711052d8bf3c5, 0x751bdd152d4d1c4a), // 5^-198
|
|
U128.new(0xbf5cd54678eef0b6, 0xd262d45a78a0635d), // 5^-197
|
|
U128.new(0xef340a98172aace4, 0x86fb897116c87c34), // 5^-196
|
|
U128.new(0x9580869f0e7aac0e, 0xd45d35e6ae3d4da0), // 5^-195
|
|
U128.new(0xbae0a846d2195712, 0x8974836059cca109), // 5^-194
|
|
U128.new(0xe998d258869facd7, 0x2bd1a438703fc94b), // 5^-193
|
|
U128.new(0x91ff83775423cc06, 0x7b6306a34627ddcf), // 5^-192
|
|
U128.new(0xb67f6455292cbf08, 0x1a3bc84c17b1d542), // 5^-191
|
|
U128.new(0xe41f3d6a7377eeca, 0x20caba5f1d9e4a93), // 5^-190
|
|
U128.new(0x8e938662882af53e, 0x547eb47b7282ee9c), // 5^-189
|
|
U128.new(0xb23867fb2a35b28d, 0xe99e619a4f23aa43), // 5^-188
|
|
U128.new(0xdec681f9f4c31f31, 0x6405fa00e2ec94d4), // 5^-187
|
|
U128.new(0x8b3c113c38f9f37e, 0xde83bc408dd3dd04), // 5^-186
|
|
U128.new(0xae0b158b4738705e, 0x9624ab50b148d445), // 5^-185
|
|
U128.new(0xd98ddaee19068c76, 0x3badd624dd9b0957), // 5^-184
|
|
U128.new(0x87f8a8d4cfa417c9, 0xe54ca5d70a80e5d6), // 5^-183
|
|
U128.new(0xa9f6d30a038d1dbc, 0x5e9fcf4ccd211f4c), // 5^-182
|
|
U128.new(0xd47487cc8470652b, 0x7647c3200069671f), // 5^-181
|
|
U128.new(0x84c8d4dfd2c63f3b, 0x29ecd9f40041e073), // 5^-180
|
|
U128.new(0xa5fb0a17c777cf09, 0xf468107100525890), // 5^-179
|
|
U128.new(0xcf79cc9db955c2cc, 0x7182148d4066eeb4), // 5^-178
|
|
U128.new(0x81ac1fe293d599bf, 0xc6f14cd848405530), // 5^-177
|
|
U128.new(0xa21727db38cb002f, 0xb8ada00e5a506a7c), // 5^-176
|
|
U128.new(0xca9cf1d206fdc03b, 0xa6d90811f0e4851c), // 5^-175
|
|
U128.new(0xfd442e4688bd304a, 0x908f4a166d1da663), // 5^-174
|
|
U128.new(0x9e4a9cec15763e2e, 0x9a598e4e043287fe), // 5^-173
|
|
U128.new(0xc5dd44271ad3cdba, 0x40eff1e1853f29fd), // 5^-172
|
|
U128.new(0xf7549530e188c128, 0xd12bee59e68ef47c), // 5^-171
|
|
U128.new(0x9a94dd3e8cf578b9, 0x82bb74f8301958ce), // 5^-170
|
|
U128.new(0xc13a148e3032d6e7, 0xe36a52363c1faf01), // 5^-169
|
|
U128.new(0xf18899b1bc3f8ca1, 0xdc44e6c3cb279ac1), // 5^-168
|
|
U128.new(0x96f5600f15a7b7e5, 0x29ab103a5ef8c0b9), // 5^-167
|
|
U128.new(0xbcb2b812db11a5de, 0x7415d448f6b6f0e7), // 5^-166
|
|
U128.new(0xebdf661791d60f56, 0x111b495b3464ad21), // 5^-165
|
|
U128.new(0x936b9fcebb25c995, 0xcab10dd900beec34), // 5^-164
|
|
U128.new(0xb84687c269ef3bfb, 0x3d5d514f40eea742), // 5^-163
|
|
U128.new(0xe65829b3046b0afa, 0xcb4a5a3112a5112), // 5^-162
|
|
U128.new(0x8ff71a0fe2c2e6dc, 0x47f0e785eaba72ab), // 5^-161
|
|
U128.new(0xb3f4e093db73a093, 0x59ed216765690f56), // 5^-160
|
|
U128.new(0xe0f218b8d25088b8, 0x306869c13ec3532c), // 5^-159
|
|
U128.new(0x8c974f7383725573, 0x1e414218c73a13fb), // 5^-158
|
|
U128.new(0xafbd2350644eeacf, 0xe5d1929ef90898fa), // 5^-157
|
|
U128.new(0xdbac6c247d62a583, 0xdf45f746b74abf39), // 5^-156
|
|
U128.new(0x894bc396ce5da772, 0x6b8bba8c328eb783), // 5^-155
|
|
U128.new(0xab9eb47c81f5114f, 0x66ea92f3f326564), // 5^-154
|
|
U128.new(0xd686619ba27255a2, 0xc80a537b0efefebd), // 5^-153
|
|
U128.new(0x8613fd0145877585, 0xbd06742ce95f5f36), // 5^-152
|
|
U128.new(0xa798fc4196e952e7, 0x2c48113823b73704), // 5^-151
|
|
U128.new(0xd17f3b51fca3a7a0, 0xf75a15862ca504c5), // 5^-150
|
|
U128.new(0x82ef85133de648c4, 0x9a984d73dbe722fb), // 5^-149
|
|
U128.new(0xa3ab66580d5fdaf5, 0xc13e60d0d2e0ebba), // 5^-148
|
|
U128.new(0xcc963fee10b7d1b3, 0x318df905079926a8), // 5^-147
|
|
U128.new(0xffbbcfe994e5c61f, 0xfdf17746497f7052), // 5^-146
|
|
U128.new(0x9fd561f1fd0f9bd3, 0xfeb6ea8bedefa633), // 5^-145
|
|
U128.new(0xc7caba6e7c5382c8, 0xfe64a52ee96b8fc0), // 5^-144
|
|
U128.new(0xf9bd690a1b68637b, 0x3dfdce7aa3c673b0), // 5^-143
|
|
U128.new(0x9c1661a651213e2d, 0x6bea10ca65c084e), // 5^-142
|
|
U128.new(0xc31bfa0fe5698db8, 0x486e494fcff30a62), // 5^-141
|
|
U128.new(0xf3e2f893dec3f126, 0x5a89dba3c3efccfa), // 5^-140
|
|
U128.new(0x986ddb5c6b3a76b7, 0xf89629465a75e01c), // 5^-139
|
|
U128.new(0xbe89523386091465, 0xf6bbb397f1135823), // 5^-138
|
|
U128.new(0xee2ba6c0678b597f, 0x746aa07ded582e2c), // 5^-137
|
|
U128.new(0x94db483840b717ef, 0xa8c2a44eb4571cdc), // 5^-136
|
|
U128.new(0xba121a4650e4ddeb, 0x92f34d62616ce413), // 5^-135
|
|
U128.new(0xe896a0d7e51e1566, 0x77b020baf9c81d17), // 5^-134
|
|
U128.new(0x915e2486ef32cd60, 0xace1474dc1d122e), // 5^-133
|
|
U128.new(0xb5b5ada8aaff80b8, 0xd819992132456ba), // 5^-132
|
|
U128.new(0xe3231912d5bf60e6, 0x10e1fff697ed6c69), // 5^-131
|
|
U128.new(0x8df5efabc5979c8f, 0xca8d3ffa1ef463c1), // 5^-130
|
|
U128.new(0xb1736b96b6fd83b3, 0xbd308ff8a6b17cb2), // 5^-129
|
|
U128.new(0xddd0467c64bce4a0, 0xac7cb3f6d05ddbde), // 5^-128
|
|
U128.new(0x8aa22c0dbef60ee4, 0x6bcdf07a423aa96b), // 5^-127
|
|
U128.new(0xad4ab7112eb3929d, 0x86c16c98d2c953c6), // 5^-126
|
|
U128.new(0xd89d64d57a607744, 0xe871c7bf077ba8b7), // 5^-125
|
|
U128.new(0x87625f056c7c4a8b, 0x11471cd764ad4972), // 5^-124
|
|
U128.new(0xa93af6c6c79b5d2d, 0xd598e40d3dd89bcf), // 5^-123
|
|
U128.new(0xd389b47879823479, 0x4aff1d108d4ec2c3), // 5^-122
|
|
U128.new(0x843610cb4bf160cb, 0xcedf722a585139ba), // 5^-121
|
|
U128.new(0xa54394fe1eedb8fe, 0xc2974eb4ee658828), // 5^-120
|
|
U128.new(0xce947a3da6a9273e, 0x733d226229feea32), // 5^-119
|
|
U128.new(0x811ccc668829b887, 0x806357d5a3f525f), // 5^-118
|
|
U128.new(0xa163ff802a3426a8, 0xca07c2dcb0cf26f7), // 5^-117
|
|
U128.new(0xc9bcff6034c13052, 0xfc89b393dd02f0b5), // 5^-116
|
|
U128.new(0xfc2c3f3841f17c67, 0xbbac2078d443ace2), // 5^-115
|
|
U128.new(0x9d9ba7832936edc0, 0xd54b944b84aa4c0d), // 5^-114
|
|
U128.new(0xc5029163f384a931, 0xa9e795e65d4df11), // 5^-113
|
|
U128.new(0xf64335bcf065d37d, 0x4d4617b5ff4a16d5), // 5^-112
|
|
U128.new(0x99ea0196163fa42e, 0x504bced1bf8e4e45), // 5^-111
|
|
U128.new(0xc06481fb9bcf8d39, 0xe45ec2862f71e1d6), // 5^-110
|
|
U128.new(0xf07da27a82c37088, 0x5d767327bb4e5a4c), // 5^-109
|
|
U128.new(0x964e858c91ba2655, 0x3a6a07f8d510f86f), // 5^-108
|
|
U128.new(0xbbe226efb628afea, 0x890489f70a55368b), // 5^-107
|
|
U128.new(0xeadab0aba3b2dbe5, 0x2b45ac74ccea842e), // 5^-106
|
|
U128.new(0x92c8ae6b464fc96f, 0x3b0b8bc90012929d), // 5^-105
|
|
U128.new(0xb77ada0617e3bbcb, 0x9ce6ebb40173744), // 5^-104
|
|
U128.new(0xe55990879ddcaabd, 0xcc420a6a101d0515), // 5^-103
|
|
U128.new(0x8f57fa54c2a9eab6, 0x9fa946824a12232d), // 5^-102
|
|
U128.new(0xb32df8e9f3546564, 0x47939822dc96abf9), // 5^-101
|
|
U128.new(0xdff9772470297ebd, 0x59787e2b93bc56f7), // 5^-100
|
|
U128.new(0x8bfbea76c619ef36, 0x57eb4edb3c55b65a), // 5^-99
|
|
U128.new(0xaefae51477a06b03, 0xede622920b6b23f1), // 5^-98
|
|
U128.new(0xdab99e59958885c4, 0xe95fab368e45eced), // 5^-97
|
|
U128.new(0x88b402f7fd75539b, 0x11dbcb0218ebb414), // 5^-96
|
|
U128.new(0xaae103b5fcd2a881, 0xd652bdc29f26a119), // 5^-95
|
|
U128.new(0xd59944a37c0752a2, 0x4be76d3346f0495f), // 5^-94
|
|
U128.new(0x857fcae62d8493a5, 0x6f70a4400c562ddb), // 5^-93
|
|
U128.new(0xa6dfbd9fb8e5b88e, 0xcb4ccd500f6bb952), // 5^-92
|
|
U128.new(0xd097ad07a71f26b2, 0x7e2000a41346a7a7), // 5^-91
|
|
U128.new(0x825ecc24c873782f, 0x8ed400668c0c28c8), // 5^-90
|
|
U128.new(0xa2f67f2dfa90563b, 0x728900802f0f32fa), // 5^-89
|
|
U128.new(0xcbb41ef979346bca, 0x4f2b40a03ad2ffb9), // 5^-88
|
|
U128.new(0xfea126b7d78186bc, 0xe2f610c84987bfa8), // 5^-87
|
|
U128.new(0x9f24b832e6b0f436, 0xdd9ca7d2df4d7c9), // 5^-86
|
|
U128.new(0xc6ede63fa05d3143, 0x91503d1c79720dbb), // 5^-85
|
|
U128.new(0xf8a95fcf88747d94, 0x75a44c6397ce912a), // 5^-84
|
|
U128.new(0x9b69dbe1b548ce7c, 0xc986afbe3ee11aba), // 5^-83
|
|
U128.new(0xc24452da229b021b, 0xfbe85badce996168), // 5^-82
|
|
U128.new(0xf2d56790ab41c2a2, 0xfae27299423fb9c3), // 5^-81
|
|
U128.new(0x97c560ba6b0919a5, 0xdccd879fc967d41a), // 5^-80
|
|
U128.new(0xbdb6b8e905cb600f, 0x5400e987bbc1c920), // 5^-79
|
|
U128.new(0xed246723473e3813, 0x290123e9aab23b68), // 5^-78
|
|
U128.new(0x9436c0760c86e30b, 0xf9a0b6720aaf6521), // 5^-77
|
|
U128.new(0xb94470938fa89bce, 0xf808e40e8d5b3e69), // 5^-76
|
|
U128.new(0xe7958cb87392c2c2, 0xb60b1d1230b20e04), // 5^-75
|
|
U128.new(0x90bd77f3483bb9b9, 0xb1c6f22b5e6f48c2), // 5^-74
|
|
U128.new(0xb4ecd5f01a4aa828, 0x1e38aeb6360b1af3), // 5^-73
|
|
U128.new(0xe2280b6c20dd5232, 0x25c6da63c38de1b0), // 5^-72
|
|
U128.new(0x8d590723948a535f, 0x579c487e5a38ad0e), // 5^-71
|
|
U128.new(0xb0af48ec79ace837, 0x2d835a9df0c6d851), // 5^-70
|
|
U128.new(0xdcdb1b2798182244, 0xf8e431456cf88e65), // 5^-69
|
|
U128.new(0x8a08f0f8bf0f156b, 0x1b8e9ecb641b58ff), // 5^-68
|
|
U128.new(0xac8b2d36eed2dac5, 0xe272467e3d222f3f), // 5^-67
|
|
U128.new(0xd7adf884aa879177, 0x5b0ed81dcc6abb0f), // 5^-66
|
|
U128.new(0x86ccbb52ea94baea, 0x98e947129fc2b4e9), // 5^-65
|
|
U128.new(0xa87fea27a539e9a5, 0x3f2398d747b36224), // 5^-64
|
|
U128.new(0xd29fe4b18e88640e, 0x8eec7f0d19a03aad), // 5^-63
|
|
U128.new(0x83a3eeeef9153e89, 0x1953cf68300424ac), // 5^-62
|
|
U128.new(0xa48ceaaab75a8e2b, 0x5fa8c3423c052dd7), // 5^-61
|
|
U128.new(0xcdb02555653131b6, 0x3792f412cb06794d), // 5^-60
|
|
U128.new(0x808e17555f3ebf11, 0xe2bbd88bbee40bd0), // 5^-59
|
|
U128.new(0xa0b19d2ab70e6ed6, 0x5b6aceaeae9d0ec4), // 5^-58
|
|
U128.new(0xc8de047564d20a8b, 0xf245825a5a445275), // 5^-57
|
|
U128.new(0xfb158592be068d2e, 0xeed6e2f0f0d56712), // 5^-56
|
|
U128.new(0x9ced737bb6c4183d, 0x55464dd69685606b), // 5^-55
|
|
U128.new(0xc428d05aa4751e4c, 0xaa97e14c3c26b886), // 5^-54
|
|
U128.new(0xf53304714d9265df, 0xd53dd99f4b3066a8), // 5^-53
|
|
U128.new(0x993fe2c6d07b7fab, 0xe546a8038efe4029), // 5^-52
|
|
U128.new(0xbf8fdb78849a5f96, 0xde98520472bdd033), // 5^-51
|
|
U128.new(0xef73d256a5c0f77c, 0x963e66858f6d4440), // 5^-50
|
|
U128.new(0x95a8637627989aad, 0xdde7001379a44aa8), // 5^-49
|
|
U128.new(0xbb127c53b17ec159, 0x5560c018580d5d52), // 5^-48
|
|
U128.new(0xe9d71b689dde71af, 0xaab8f01e6e10b4a6), // 5^-47
|
|
U128.new(0x9226712162ab070d, 0xcab3961304ca70e8), // 5^-46
|
|
U128.new(0xb6b00d69bb55c8d1, 0x3d607b97c5fd0d22), // 5^-45
|
|
U128.new(0xe45c10c42a2b3b05, 0x8cb89a7db77c506a), // 5^-44
|
|
U128.new(0x8eb98a7a9a5b04e3, 0x77f3608e92adb242), // 5^-43
|
|
U128.new(0xb267ed1940f1c61c, 0x55f038b237591ed3), // 5^-42
|
|
U128.new(0xdf01e85f912e37a3, 0x6b6c46dec52f6688), // 5^-41
|
|
U128.new(0x8b61313bbabce2c6, 0x2323ac4b3b3da015), // 5^-40
|
|
U128.new(0xae397d8aa96c1b77, 0xabec975e0a0d081a), // 5^-39
|
|
U128.new(0xd9c7dced53c72255, 0x96e7bd358c904a21), // 5^-38
|
|
U128.new(0x881cea14545c7575, 0x7e50d64177da2e54), // 5^-37
|
|
U128.new(0xaa242499697392d2, 0xdde50bd1d5d0b9e9), // 5^-36
|
|
U128.new(0xd4ad2dbfc3d07787, 0x955e4ec64b44e864), // 5^-35
|
|
U128.new(0x84ec3c97da624ab4, 0xbd5af13bef0b113e), // 5^-34
|
|
U128.new(0xa6274bbdd0fadd61, 0xecb1ad8aeacdd58e), // 5^-33
|
|
U128.new(0xcfb11ead453994ba, 0x67de18eda5814af2), // 5^-32
|
|
U128.new(0x81ceb32c4b43fcf4, 0x80eacf948770ced7), // 5^-31
|
|
U128.new(0xa2425ff75e14fc31, 0xa1258379a94d028d), // 5^-30
|
|
U128.new(0xcad2f7f5359a3b3e, 0x96ee45813a04330), // 5^-29
|
|
U128.new(0xfd87b5f28300ca0d, 0x8bca9d6e188853fc), // 5^-28
|
|
U128.new(0x9e74d1b791e07e48, 0x775ea264cf55347e), // 5^-27
|
|
U128.new(0xc612062576589dda, 0x95364afe032a819e), // 5^-26
|
|
U128.new(0xf79687aed3eec551, 0x3a83ddbd83f52205), // 5^-25
|
|
U128.new(0x9abe14cd44753b52, 0xc4926a9672793543), // 5^-24
|
|
U128.new(0xc16d9a0095928a27, 0x75b7053c0f178294), // 5^-23
|
|
U128.new(0xf1c90080baf72cb1, 0x5324c68b12dd6339), // 5^-22
|
|
U128.new(0x971da05074da7bee, 0xd3f6fc16ebca5e04), // 5^-21
|
|
U128.new(0xbce5086492111aea, 0x88f4bb1ca6bcf585), // 5^-20
|
|
U128.new(0xec1e4a7db69561a5, 0x2b31e9e3d06c32e6), // 5^-19
|
|
U128.new(0x9392ee8e921d5d07, 0x3aff322e62439fd0), // 5^-18
|
|
U128.new(0xb877aa3236a4b449, 0x9befeb9fad487c3), // 5^-17
|
|
U128.new(0xe69594bec44de15b, 0x4c2ebe687989a9b4), // 5^-16
|
|
U128.new(0x901d7cf73ab0acd9, 0xf9d37014bf60a11), // 5^-15
|
|
U128.new(0xb424dc35095cd80f, 0x538484c19ef38c95), // 5^-14
|
|
U128.new(0xe12e13424bb40e13, 0x2865a5f206b06fba), // 5^-13
|
|
U128.new(0x8cbccc096f5088cb, 0xf93f87b7442e45d4), // 5^-12
|
|
U128.new(0xafebff0bcb24aafe, 0xf78f69a51539d749), // 5^-11
|
|
U128.new(0xdbe6fecebdedd5be, 0xb573440e5a884d1c), // 5^-10
|
|
U128.new(0x89705f4136b4a597, 0x31680a88f8953031), // 5^-9
|
|
U128.new(0xabcc77118461cefc, 0xfdc20d2b36ba7c3e), // 5^-8
|
|
U128.new(0xd6bf94d5e57a42bc, 0x3d32907604691b4d), // 5^-7
|
|
U128.new(0x8637bd05af6c69b5, 0xa63f9a49c2c1b110), // 5^-6
|
|
U128.new(0xa7c5ac471b478423, 0xfcf80dc33721d54), // 5^-5
|
|
U128.new(0xd1b71758e219652b, 0xd3c36113404ea4a9), // 5^-4
|
|
U128.new(0x83126e978d4fdf3b, 0x645a1cac083126ea), // 5^-3
|
|
U128.new(0xa3d70a3d70a3d70a, 0x3d70a3d70a3d70a4), // 5^-2
|
|
U128.new(0xcccccccccccccccc, 0xcccccccccccccccd), // 5^-1
|
|
U128.new(0x8000000000000000, 0x0), // 5^0
|
|
U128.new(0xa000000000000000, 0x0), // 5^1
|
|
U128.new(0xc800000000000000, 0x0), // 5^2
|
|
U128.new(0xfa00000000000000, 0x0), // 5^3
|
|
U128.new(0x9c40000000000000, 0x0), // 5^4
|
|
U128.new(0xc350000000000000, 0x0), // 5^5
|
|
U128.new(0xf424000000000000, 0x0), // 5^6
|
|
U128.new(0x9896800000000000, 0x0), // 5^7
|
|
U128.new(0xbebc200000000000, 0x0), // 5^8
|
|
U128.new(0xee6b280000000000, 0x0), // 5^9
|
|
U128.new(0x9502f90000000000, 0x0), // 5^10
|
|
U128.new(0xba43b74000000000, 0x0), // 5^11
|
|
U128.new(0xe8d4a51000000000, 0x0), // 5^12
|
|
U128.new(0x9184e72a00000000, 0x0), // 5^13
|
|
U128.new(0xb5e620f480000000, 0x0), // 5^14
|
|
U128.new(0xe35fa931a0000000, 0x0), // 5^15
|
|
U128.new(0x8e1bc9bf04000000, 0x0), // 5^16
|
|
U128.new(0xb1a2bc2ec5000000, 0x0), // 5^17
|
|
U128.new(0xde0b6b3a76400000, 0x0), // 5^18
|
|
U128.new(0x8ac7230489e80000, 0x0), // 5^19
|
|
U128.new(0xad78ebc5ac620000, 0x0), // 5^20
|
|
U128.new(0xd8d726b7177a8000, 0x0), // 5^21
|
|
U128.new(0x878678326eac9000, 0x0), // 5^22
|
|
U128.new(0xa968163f0a57b400, 0x0), // 5^23
|
|
U128.new(0xd3c21bcecceda100, 0x0), // 5^24
|
|
U128.new(0x84595161401484a0, 0x0), // 5^25
|
|
U128.new(0xa56fa5b99019a5c8, 0x0), // 5^26
|
|
U128.new(0xcecb8f27f4200f3a, 0x0), // 5^27
|
|
U128.new(0x813f3978f8940984, 0x4000000000000000), // 5^28
|
|
U128.new(0xa18f07d736b90be5, 0x5000000000000000), // 5^29
|
|
U128.new(0xc9f2c9cd04674ede, 0xa400000000000000), // 5^30
|
|
U128.new(0xfc6f7c4045812296, 0x4d00000000000000), // 5^31
|
|
U128.new(0x9dc5ada82b70b59d, 0xf020000000000000), // 5^32
|
|
U128.new(0xc5371912364ce305, 0x6c28000000000000), // 5^33
|
|
U128.new(0xf684df56c3e01bc6, 0xc732000000000000), // 5^34
|
|
U128.new(0x9a130b963a6c115c, 0x3c7f400000000000), // 5^35
|
|
U128.new(0xc097ce7bc90715b3, 0x4b9f100000000000), // 5^36
|
|
U128.new(0xf0bdc21abb48db20, 0x1e86d40000000000), // 5^37
|
|
U128.new(0x96769950b50d88f4, 0x1314448000000000), // 5^38
|
|
U128.new(0xbc143fa4e250eb31, 0x17d955a000000000), // 5^39
|
|
U128.new(0xeb194f8e1ae525fd, 0x5dcfab0800000000), // 5^40
|
|
U128.new(0x92efd1b8d0cf37be, 0x5aa1cae500000000), // 5^41
|
|
U128.new(0xb7abc627050305ad, 0xf14a3d9e40000000), // 5^42
|
|
U128.new(0xe596b7b0c643c719, 0x6d9ccd05d0000000), // 5^43
|
|
U128.new(0x8f7e32ce7bea5c6f, 0xe4820023a2000000), // 5^44
|
|
U128.new(0xb35dbf821ae4f38b, 0xdda2802c8a800000), // 5^45
|
|
U128.new(0xe0352f62a19e306e, 0xd50b2037ad200000), // 5^46
|
|
U128.new(0x8c213d9da502de45, 0x4526f422cc340000), // 5^47
|
|
U128.new(0xaf298d050e4395d6, 0x9670b12b7f410000), // 5^48
|
|
U128.new(0xdaf3f04651d47b4c, 0x3c0cdd765f114000), // 5^49
|
|
U128.new(0x88d8762bf324cd0f, 0xa5880a69fb6ac800), // 5^50
|
|
U128.new(0xab0e93b6efee0053, 0x8eea0d047a457a00), // 5^51
|
|
U128.new(0xd5d238a4abe98068, 0x72a4904598d6d880), // 5^52
|
|
U128.new(0x85a36366eb71f041, 0x47a6da2b7f864750), // 5^53
|
|
U128.new(0xa70c3c40a64e6c51, 0x999090b65f67d924), // 5^54
|
|
U128.new(0xd0cf4b50cfe20765, 0xfff4b4e3f741cf6d), // 5^55
|
|
U128.new(0x82818f1281ed449f, 0xbff8f10e7a8921a4), // 5^56
|
|
U128.new(0xa321f2d7226895c7, 0xaff72d52192b6a0d), // 5^57
|
|
U128.new(0xcbea6f8ceb02bb39, 0x9bf4f8a69f764490), // 5^58
|
|
U128.new(0xfee50b7025c36a08, 0x2f236d04753d5b4), // 5^59
|
|
U128.new(0x9f4f2726179a2245, 0x1d762422c946590), // 5^60
|
|
U128.new(0xc722f0ef9d80aad6, 0x424d3ad2b7b97ef5), // 5^61
|
|
U128.new(0xf8ebad2b84e0d58b, 0xd2e0898765a7deb2), // 5^62
|
|
U128.new(0x9b934c3b330c8577, 0x63cc55f49f88eb2f), // 5^63
|
|
U128.new(0xc2781f49ffcfa6d5, 0x3cbf6b71c76b25fb), // 5^64
|
|
U128.new(0xf316271c7fc3908a, 0x8bef464e3945ef7a), // 5^65
|
|
U128.new(0x97edd871cfda3a56, 0x97758bf0e3cbb5ac), // 5^66
|
|
U128.new(0xbde94e8e43d0c8ec, 0x3d52eeed1cbea317), // 5^67
|
|
U128.new(0xed63a231d4c4fb27, 0x4ca7aaa863ee4bdd), // 5^68
|
|
U128.new(0x945e455f24fb1cf8, 0x8fe8caa93e74ef6a), // 5^69
|
|
U128.new(0xb975d6b6ee39e436, 0xb3e2fd538e122b44), // 5^70
|
|
U128.new(0xe7d34c64a9c85d44, 0x60dbbca87196b616), // 5^71
|
|
U128.new(0x90e40fbeea1d3a4a, 0xbc8955e946fe31cd), // 5^72
|
|
U128.new(0xb51d13aea4a488dd, 0x6babab6398bdbe41), // 5^73
|
|
U128.new(0xe264589a4dcdab14, 0xc696963c7eed2dd1), // 5^74
|
|
U128.new(0x8d7eb76070a08aec, 0xfc1e1de5cf543ca2), // 5^75
|
|
U128.new(0xb0de65388cc8ada8, 0x3b25a55f43294bcb), // 5^76
|
|
U128.new(0xdd15fe86affad912, 0x49ef0eb713f39ebe), // 5^77
|
|
U128.new(0x8a2dbf142dfcc7ab, 0x6e3569326c784337), // 5^78
|
|
U128.new(0xacb92ed9397bf996, 0x49c2c37f07965404), // 5^79
|
|
U128.new(0xd7e77a8f87daf7fb, 0xdc33745ec97be906), // 5^80
|
|
U128.new(0x86f0ac99b4e8dafd, 0x69a028bb3ded71a3), // 5^81
|
|
U128.new(0xa8acd7c0222311bc, 0xc40832ea0d68ce0c), // 5^82
|
|
U128.new(0xd2d80db02aabd62b, 0xf50a3fa490c30190), // 5^83
|
|
U128.new(0x83c7088e1aab65db, 0x792667c6da79e0fa), // 5^84
|
|
U128.new(0xa4b8cab1a1563f52, 0x577001b891185938), // 5^85
|
|
U128.new(0xcde6fd5e09abcf26, 0xed4c0226b55e6f86), // 5^86
|
|
U128.new(0x80b05e5ac60b6178, 0x544f8158315b05b4), // 5^87
|
|
U128.new(0xa0dc75f1778e39d6, 0x696361ae3db1c721), // 5^88
|
|
U128.new(0xc913936dd571c84c, 0x3bc3a19cd1e38e9), // 5^89
|
|
U128.new(0xfb5878494ace3a5f, 0x4ab48a04065c723), // 5^90
|
|
U128.new(0x9d174b2dcec0e47b, 0x62eb0d64283f9c76), // 5^91
|
|
U128.new(0xc45d1df942711d9a, 0x3ba5d0bd324f8394), // 5^92
|
|
U128.new(0xf5746577930d6500, 0xca8f44ec7ee36479), // 5^93
|
|
U128.new(0x9968bf6abbe85f20, 0x7e998b13cf4e1ecb), // 5^94
|
|
U128.new(0xbfc2ef456ae276e8, 0x9e3fedd8c321a67e), // 5^95
|
|
U128.new(0xefb3ab16c59b14a2, 0xc5cfe94ef3ea101e), // 5^96
|
|
U128.new(0x95d04aee3b80ece5, 0xbba1f1d158724a12), // 5^97
|
|
U128.new(0xbb445da9ca61281f, 0x2a8a6e45ae8edc97), // 5^98
|
|
U128.new(0xea1575143cf97226, 0xf52d09d71a3293bd), // 5^99
|
|
U128.new(0x924d692ca61be758, 0x593c2626705f9c56), // 5^100
|
|
U128.new(0xb6e0c377cfa2e12e, 0x6f8b2fb00c77836c), // 5^101
|
|
U128.new(0xe498f455c38b997a, 0xb6dfb9c0f956447), // 5^102
|
|
U128.new(0x8edf98b59a373fec, 0x4724bd4189bd5eac), // 5^103
|
|
U128.new(0xb2977ee300c50fe7, 0x58edec91ec2cb657), // 5^104
|
|
U128.new(0xdf3d5e9bc0f653e1, 0x2f2967b66737e3ed), // 5^105
|
|
U128.new(0x8b865b215899f46c, 0xbd79e0d20082ee74), // 5^106
|
|
U128.new(0xae67f1e9aec07187, 0xecd8590680a3aa11), // 5^107
|
|
U128.new(0xda01ee641a708de9, 0xe80e6f4820cc9495), // 5^108
|
|
U128.new(0x884134fe908658b2, 0x3109058d147fdcdd), // 5^109
|
|
U128.new(0xaa51823e34a7eede, 0xbd4b46f0599fd415), // 5^110
|
|
U128.new(0xd4e5e2cdc1d1ea96, 0x6c9e18ac7007c91a), // 5^111
|
|
U128.new(0x850fadc09923329e, 0x3e2cf6bc604ddb0), // 5^112
|
|
U128.new(0xa6539930bf6bff45, 0x84db8346b786151c), // 5^113
|
|
U128.new(0xcfe87f7cef46ff16, 0xe612641865679a63), // 5^114
|
|
U128.new(0x81f14fae158c5f6e, 0x4fcb7e8f3f60c07e), // 5^115
|
|
U128.new(0xa26da3999aef7749, 0xe3be5e330f38f09d), // 5^116
|
|
U128.new(0xcb090c8001ab551c, 0x5cadf5bfd3072cc5), // 5^117
|
|
U128.new(0xfdcb4fa002162a63, 0x73d9732fc7c8f7f6), // 5^118
|
|
U128.new(0x9e9f11c4014dda7e, 0x2867e7fddcdd9afa), // 5^119
|
|
U128.new(0xc646d63501a1511d, 0xb281e1fd541501b8), // 5^120
|
|
U128.new(0xf7d88bc24209a565, 0x1f225a7ca91a4226), // 5^121
|
|
U128.new(0x9ae757596946075f, 0x3375788de9b06958), // 5^122
|
|
U128.new(0xc1a12d2fc3978937, 0x52d6b1641c83ae), // 5^123
|
|
U128.new(0xf209787bb47d6b84, 0xc0678c5dbd23a49a), // 5^124
|
|
U128.new(0x9745eb4d50ce6332, 0xf840b7ba963646e0), // 5^125
|
|
U128.new(0xbd176620a501fbff, 0xb650e5a93bc3d898), // 5^126
|
|
U128.new(0xec5d3fa8ce427aff, 0xa3e51f138ab4cebe), // 5^127
|
|
U128.new(0x93ba47c980e98cdf, 0xc66f336c36b10137), // 5^128
|
|
U128.new(0xb8a8d9bbe123f017, 0xb80b0047445d4184), // 5^129
|
|
U128.new(0xe6d3102ad96cec1d, 0xa60dc059157491e5), // 5^130
|
|
U128.new(0x9043ea1ac7e41392, 0x87c89837ad68db2f), // 5^131
|
|
U128.new(0xb454e4a179dd1877, 0x29babe4598c311fb), // 5^132
|
|
U128.new(0xe16a1dc9d8545e94, 0xf4296dd6fef3d67a), // 5^133
|
|
U128.new(0x8ce2529e2734bb1d, 0x1899e4a65f58660c), // 5^134
|
|
U128.new(0xb01ae745b101e9e4, 0x5ec05dcff72e7f8f), // 5^135
|
|
U128.new(0xdc21a1171d42645d, 0x76707543f4fa1f73), // 5^136
|
|
U128.new(0x899504ae72497eba, 0x6a06494a791c53a8), // 5^137
|
|
U128.new(0xabfa45da0edbde69, 0x487db9d17636892), // 5^138
|
|
U128.new(0xd6f8d7509292d603, 0x45a9d2845d3c42b6), // 5^139
|
|
U128.new(0x865b86925b9bc5c2, 0xb8a2392ba45a9b2), // 5^140
|
|
U128.new(0xa7f26836f282b732, 0x8e6cac7768d7141e), // 5^141
|
|
U128.new(0xd1ef0244af2364ff, 0x3207d795430cd926), // 5^142
|
|
U128.new(0x8335616aed761f1f, 0x7f44e6bd49e807b8), // 5^143
|
|
U128.new(0xa402b9c5a8d3a6e7, 0x5f16206c9c6209a6), // 5^144
|
|
U128.new(0xcd036837130890a1, 0x36dba887c37a8c0f), // 5^145
|
|
U128.new(0x802221226be55a64, 0xc2494954da2c9789), // 5^146
|
|
U128.new(0xa02aa96b06deb0fd, 0xf2db9baa10b7bd6c), // 5^147
|
|
U128.new(0xc83553c5c8965d3d, 0x6f92829494e5acc7), // 5^148
|
|
U128.new(0xfa42a8b73abbf48c, 0xcb772339ba1f17f9), // 5^149
|
|
U128.new(0x9c69a97284b578d7, 0xff2a760414536efb), // 5^150
|
|
U128.new(0xc38413cf25e2d70d, 0xfef5138519684aba), // 5^151
|
|
U128.new(0xf46518c2ef5b8cd1, 0x7eb258665fc25d69), // 5^152
|
|
U128.new(0x98bf2f79d5993802, 0xef2f773ffbd97a61), // 5^153
|
|
U128.new(0xbeeefb584aff8603, 0xaafb550ffacfd8fa), // 5^154
|
|
U128.new(0xeeaaba2e5dbf6784, 0x95ba2a53f983cf38), // 5^155
|
|
U128.new(0x952ab45cfa97a0b2, 0xdd945a747bf26183), // 5^156
|
|
U128.new(0xba756174393d88df, 0x94f971119aeef9e4), // 5^157
|
|
U128.new(0xe912b9d1478ceb17, 0x7a37cd5601aab85d), // 5^158
|
|
U128.new(0x91abb422ccb812ee, 0xac62e055c10ab33a), // 5^159
|
|
U128.new(0xb616a12b7fe617aa, 0x577b986b314d6009), // 5^160
|
|
U128.new(0xe39c49765fdf9d94, 0xed5a7e85fda0b80b), // 5^161
|
|
U128.new(0x8e41ade9fbebc27d, 0x14588f13be847307), // 5^162
|
|
U128.new(0xb1d219647ae6b31c, 0x596eb2d8ae258fc8), // 5^163
|
|
U128.new(0xde469fbd99a05fe3, 0x6fca5f8ed9aef3bb), // 5^164
|
|
U128.new(0x8aec23d680043bee, 0x25de7bb9480d5854), // 5^165
|
|
U128.new(0xada72ccc20054ae9, 0xaf561aa79a10ae6a), // 5^166
|
|
U128.new(0xd910f7ff28069da4, 0x1b2ba1518094da04), // 5^167
|
|
U128.new(0x87aa9aff79042286, 0x90fb44d2f05d0842), // 5^168
|
|
U128.new(0xa99541bf57452b28, 0x353a1607ac744a53), // 5^169
|
|
U128.new(0xd3fa922f2d1675f2, 0x42889b8997915ce8), // 5^170
|
|
U128.new(0x847c9b5d7c2e09b7, 0x69956135febada11), // 5^171
|
|
U128.new(0xa59bc234db398c25, 0x43fab9837e699095), // 5^172
|
|
U128.new(0xcf02b2c21207ef2e, 0x94f967e45e03f4bb), // 5^173
|
|
U128.new(0x8161afb94b44f57d, 0x1d1be0eebac278f5), // 5^174
|
|
U128.new(0xa1ba1ba79e1632dc, 0x6462d92a69731732), // 5^175
|
|
U128.new(0xca28a291859bbf93, 0x7d7b8f7503cfdcfe), // 5^176
|
|
U128.new(0xfcb2cb35e702af78, 0x5cda735244c3d43e), // 5^177
|
|
U128.new(0x9defbf01b061adab, 0x3a0888136afa64a7), // 5^178
|
|
U128.new(0xc56baec21c7a1916, 0x88aaa1845b8fdd0), // 5^179
|
|
U128.new(0xf6c69a72a3989f5b, 0x8aad549e57273d45), // 5^180
|
|
U128.new(0x9a3c2087a63f6399, 0x36ac54e2f678864b), // 5^181
|
|
U128.new(0xc0cb28a98fcf3c7f, 0x84576a1bb416a7dd), // 5^182
|
|
U128.new(0xf0fdf2d3f3c30b9f, 0x656d44a2a11c51d5), // 5^183
|
|
U128.new(0x969eb7c47859e743, 0x9f644ae5a4b1b325), // 5^184
|
|
U128.new(0xbc4665b596706114, 0x873d5d9f0dde1fee), // 5^185
|
|
U128.new(0xeb57ff22fc0c7959, 0xa90cb506d155a7ea), // 5^186
|
|
U128.new(0x9316ff75dd87cbd8, 0x9a7f12442d588f2), // 5^187
|
|
U128.new(0xb7dcbf5354e9bece, 0xc11ed6d538aeb2f), // 5^188
|
|
U128.new(0xe5d3ef282a242e81, 0x8f1668c8a86da5fa), // 5^189
|
|
U128.new(0x8fa475791a569d10, 0xf96e017d694487bc), // 5^190
|
|
U128.new(0xb38d92d760ec4455, 0x37c981dcc395a9ac), // 5^191
|
|
U128.new(0xe070f78d3927556a, 0x85bbe253f47b1417), // 5^192
|
|
U128.new(0x8c469ab843b89562, 0x93956d7478ccec8e), // 5^193
|
|
U128.new(0xaf58416654a6babb, 0x387ac8d1970027b2), // 5^194
|
|
U128.new(0xdb2e51bfe9d0696a, 0x6997b05fcc0319e), // 5^195
|
|
U128.new(0x88fcf317f22241e2, 0x441fece3bdf81f03), // 5^196
|
|
U128.new(0xab3c2fddeeaad25a, 0xd527e81cad7626c3), // 5^197
|
|
U128.new(0xd60b3bd56a5586f1, 0x8a71e223d8d3b074), // 5^198
|
|
U128.new(0x85c7056562757456, 0xf6872d5667844e49), // 5^199
|
|
U128.new(0xa738c6bebb12d16c, 0xb428f8ac016561db), // 5^200
|
|
U128.new(0xd106f86e69d785c7, 0xe13336d701beba52), // 5^201
|
|
U128.new(0x82a45b450226b39c, 0xecc0024661173473), // 5^202
|
|
U128.new(0xa34d721642b06084, 0x27f002d7f95d0190), // 5^203
|
|
U128.new(0xcc20ce9bd35c78a5, 0x31ec038df7b441f4), // 5^204
|
|
U128.new(0xff290242c83396ce, 0x7e67047175a15271), // 5^205
|
|
U128.new(0x9f79a169bd203e41, 0xf0062c6e984d386), // 5^206
|
|
U128.new(0xc75809c42c684dd1, 0x52c07b78a3e60868), // 5^207
|
|
U128.new(0xf92e0c3537826145, 0xa7709a56ccdf8a82), // 5^208
|
|
U128.new(0x9bbcc7a142b17ccb, 0x88a66076400bb691), // 5^209
|
|
U128.new(0xc2abf989935ddbfe, 0x6acff893d00ea435), // 5^210
|
|
U128.new(0xf356f7ebf83552fe, 0x583f6b8c4124d43), // 5^211
|
|
U128.new(0x98165af37b2153de, 0xc3727a337a8b704a), // 5^212
|
|
U128.new(0xbe1bf1b059e9a8d6, 0x744f18c0592e4c5c), // 5^213
|
|
U128.new(0xeda2ee1c7064130c, 0x1162def06f79df73), // 5^214
|
|
U128.new(0x9485d4d1c63e8be7, 0x8addcb5645ac2ba8), // 5^215
|
|
U128.new(0xb9a74a0637ce2ee1, 0x6d953e2bd7173692), // 5^216
|
|
U128.new(0xe8111c87c5c1ba99, 0xc8fa8db6ccdd0437), // 5^217
|
|
U128.new(0x910ab1d4db9914a0, 0x1d9c9892400a22a2), // 5^218
|
|
U128.new(0xb54d5e4a127f59c8, 0x2503beb6d00cab4b), // 5^219
|
|
U128.new(0xe2a0b5dc971f303a, 0x2e44ae64840fd61d), // 5^220
|
|
U128.new(0x8da471a9de737e24, 0x5ceaecfed289e5d2), // 5^221
|
|
U128.new(0xb10d8e1456105dad, 0x7425a83e872c5f47), // 5^222
|
|
U128.new(0xdd50f1996b947518, 0xd12f124e28f77719), // 5^223
|
|
U128.new(0x8a5296ffe33cc92f, 0x82bd6b70d99aaa6f), // 5^224
|
|
U128.new(0xace73cbfdc0bfb7b, 0x636cc64d1001550b), // 5^225
|
|
U128.new(0xd8210befd30efa5a, 0x3c47f7e05401aa4e), // 5^226
|
|
U128.new(0x8714a775e3e95c78, 0x65acfaec34810a71), // 5^227
|
|
U128.new(0xa8d9d1535ce3b396, 0x7f1839a741a14d0d), // 5^228
|
|
U128.new(0xd31045a8341ca07c, 0x1ede48111209a050), // 5^229
|
|
U128.new(0x83ea2b892091e44d, 0x934aed0aab460432), // 5^230
|
|
U128.new(0xa4e4b66b68b65d60, 0xf81da84d5617853f), // 5^231
|
|
U128.new(0xce1de40642e3f4b9, 0x36251260ab9d668e), // 5^232
|
|
U128.new(0x80d2ae83e9ce78f3, 0xc1d72b7c6b426019), // 5^233
|
|
U128.new(0xa1075a24e4421730, 0xb24cf65b8612f81f), // 5^234
|
|
U128.new(0xc94930ae1d529cfc, 0xdee033f26797b627), // 5^235
|
|
U128.new(0xfb9b7cd9a4a7443c, 0x169840ef017da3b1), // 5^236
|
|
U128.new(0x9d412e0806e88aa5, 0x8e1f289560ee864e), // 5^237
|
|
U128.new(0xc491798a08a2ad4e, 0xf1a6f2bab92a27e2), // 5^238
|
|
U128.new(0xf5b5d7ec8acb58a2, 0xae10af696774b1db), // 5^239
|
|
U128.new(0x9991a6f3d6bf1765, 0xacca6da1e0a8ef29), // 5^240
|
|
U128.new(0xbff610b0cc6edd3f, 0x17fd090a58d32af3), // 5^241
|
|
U128.new(0xeff394dcff8a948e, 0xddfc4b4cef07f5b0), // 5^242
|
|
U128.new(0x95f83d0a1fb69cd9, 0x4abdaf101564f98e), // 5^243
|
|
U128.new(0xbb764c4ca7a4440f, 0x9d6d1ad41abe37f1), // 5^244
|
|
U128.new(0xea53df5fd18d5513, 0x84c86189216dc5ed), // 5^245
|
|
U128.new(0x92746b9be2f8552c, 0x32fd3cf5b4e49bb4), // 5^246
|
|
U128.new(0xb7118682dbb66a77, 0x3fbc8c33221dc2a1), // 5^247
|
|
U128.new(0xe4d5e82392a40515, 0xfabaf3feaa5334a), // 5^248
|
|
U128.new(0x8f05b1163ba6832d, 0x29cb4d87f2a7400e), // 5^249
|
|
U128.new(0xb2c71d5bca9023f8, 0x743e20e9ef511012), // 5^250
|
|
U128.new(0xdf78e4b2bd342cf6, 0x914da9246b255416), // 5^251
|
|
U128.new(0x8bab8eefb6409c1a, 0x1ad089b6c2f7548e), // 5^252
|
|
U128.new(0xae9672aba3d0c320, 0xa184ac2473b529b1), // 5^253
|
|
U128.new(0xda3c0f568cc4f3e8, 0xc9e5d72d90a2741e), // 5^254
|
|
U128.new(0x8865899617fb1871, 0x7e2fa67c7a658892), // 5^255
|
|
U128.new(0xaa7eebfb9df9de8d, 0xddbb901b98feeab7), // 5^256
|
|
U128.new(0xd51ea6fa85785631, 0x552a74227f3ea565), // 5^257
|
|
U128.new(0x8533285c936b35de, 0xd53a88958f87275f), // 5^258
|
|
U128.new(0xa67ff273b8460356, 0x8a892abaf368f137), // 5^259
|
|
U128.new(0xd01fef10a657842c, 0x2d2b7569b0432d85), // 5^260
|
|
U128.new(0x8213f56a67f6b29b, 0x9c3b29620e29fc73), // 5^261
|
|
U128.new(0xa298f2c501f45f42, 0x8349f3ba91b47b8f), // 5^262
|
|
U128.new(0xcb3f2f7642717713, 0x241c70a936219a73), // 5^263
|
|
U128.new(0xfe0efb53d30dd4d7, 0xed238cd383aa0110), // 5^264
|
|
U128.new(0x9ec95d1463e8a506, 0xf4363804324a40aa), // 5^265
|
|
U128.new(0xc67bb4597ce2ce48, 0xb143c6053edcd0d5), // 5^266
|
|
U128.new(0xf81aa16fdc1b81da, 0xdd94b7868e94050a), // 5^267
|
|
U128.new(0x9b10a4e5e9913128, 0xca7cf2b4191c8326), // 5^268
|
|
U128.new(0xc1d4ce1f63f57d72, 0xfd1c2f611f63a3f0), // 5^269
|
|
U128.new(0xf24a01a73cf2dccf, 0xbc633b39673c8cec), // 5^270
|
|
U128.new(0x976e41088617ca01, 0xd5be0503e085d813), // 5^271
|
|
U128.new(0xbd49d14aa79dbc82, 0x4b2d8644d8a74e18), // 5^272
|
|
U128.new(0xec9c459d51852ba2, 0xddf8e7d60ed1219e), // 5^273
|
|
U128.new(0x93e1ab8252f33b45, 0xcabb90e5c942b503), // 5^274
|
|
U128.new(0xb8da1662e7b00a17, 0x3d6a751f3b936243), // 5^275
|
|
U128.new(0xe7109bfba19c0c9d, 0xcc512670a783ad4), // 5^276
|
|
U128.new(0x906a617d450187e2, 0x27fb2b80668b24c5), // 5^277
|
|
U128.new(0xb484f9dc9641e9da, 0xb1f9f660802dedf6), // 5^278
|
|
U128.new(0xe1a63853bbd26451, 0x5e7873f8a0396973), // 5^279
|
|
U128.new(0x8d07e33455637eb2, 0xdb0b487b6423e1e8), // 5^280
|
|
U128.new(0xb049dc016abc5e5f, 0x91ce1a9a3d2cda62), // 5^281
|
|
U128.new(0xdc5c5301c56b75f7, 0x7641a140cc7810fb), // 5^282
|
|
U128.new(0x89b9b3e11b6329ba, 0xa9e904c87fcb0a9d), // 5^283
|
|
U128.new(0xac2820d9623bf429, 0x546345fa9fbdcd44), // 5^284
|
|
U128.new(0xd732290fbacaf133, 0xa97c177947ad4095), // 5^285
|
|
U128.new(0x867f59a9d4bed6c0, 0x49ed8eabcccc485d), // 5^286
|
|
U128.new(0xa81f301449ee8c70, 0x5c68f256bfff5a74), // 5^287
|
|
U128.new(0xd226fc195c6a2f8c, 0x73832eec6fff3111), // 5^288
|
|
U128.new(0x83585d8fd9c25db7, 0xc831fd53c5ff7eab), // 5^289
|
|
U128.new(0xa42e74f3d032f525, 0xba3e7ca8b77f5e55), // 5^290
|
|
U128.new(0xcd3a1230c43fb26f, 0x28ce1bd2e55f35eb), // 5^291
|
|
U128.new(0x80444b5e7aa7cf85, 0x7980d163cf5b81b3), // 5^292
|
|
U128.new(0xa0555e361951c366, 0xd7e105bcc332621f), // 5^293
|
|
U128.new(0xc86ab5c39fa63440, 0x8dd9472bf3fefaa7), // 5^294
|
|
U128.new(0xfa856334878fc150, 0xb14f98f6f0feb951), // 5^295
|
|
U128.new(0x9c935e00d4b9d8d2, 0x6ed1bf9a569f33d3), // 5^296
|
|
U128.new(0xc3b8358109e84f07, 0xa862f80ec4700c8), // 5^297
|
|
U128.new(0xf4a642e14c6262c8, 0xcd27bb612758c0fa), // 5^298
|
|
U128.new(0x98e7e9cccfbd7dbd, 0x8038d51cb897789c), // 5^299
|
|
U128.new(0xbf21e44003acdd2c, 0xe0470a63e6bd56c3), // 5^300
|
|
U128.new(0xeeea5d5004981478, 0x1858ccfce06cac74), // 5^301
|
|
U128.new(0x95527a5202df0ccb, 0xf37801e0c43ebc8), // 5^302
|
|
U128.new(0xbaa718e68396cffd, 0xd30560258f54e6ba), // 5^303
|
|
U128.new(0xe950df20247c83fd, 0x47c6b82ef32a2069), // 5^304
|
|
U128.new(0x91d28b7416cdd27e, 0x4cdc331d57fa5441), // 5^305
|
|
U128.new(0xb6472e511c81471d, 0xe0133fe4adf8e952), // 5^306
|
|
U128.new(0xe3d8f9e563a198e5, 0x58180fddd97723a6), // 5^307
|
|
U128.new(0x8e679c2f5e44ff8f, 0x570f09eaa7ea7648), // 5^308
|
|
};
|