// GENERATED by scripts/generate_certified_geometry_refs.py. Do not edit.
// Independent references: Python exact integers and fractions, cross-checked
// against mpmath at 300 digits inside the generator. Raw values are exact
// little-endian two's-complement bytes at the profile's storage width.
#[cfg(table_format = "q16_16")]
pub mod refs_f2 {
pub const FRAC_BITS: u32 = 2;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0]),
(&[2, 0, 0, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[4, 0, 0, 0], &[4, 0, 0, 0], &[4, 0, 0, 0]),
(&[8, 0, 0, 0], &[5, 0, 0, 0], &[6, 0, 0, 0]),
(&[16, 0, 0, 0], &[8, 0, 0, 0], &[8, 0, 0, 0]),
(&[2, 0, 0, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[2, 0, 0, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[57, 48, 0, 64], &[0, 0, 1, 0], &[1, 0, 1, 0]),
(&[255, 255, 255, 127], &[9, 106, 1, 0], &[10, 106, 1, 0]),
(&[12, 0, 0, 0], &[6, 0, 0, 0], &[7, 0, 0, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[5, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[251, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[22, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[227, 255, 255, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[220, 2, 0, 48], &[221, 2, 0, 48]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[35, 253, 255, 207], &[36, 253, 255, 207]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[5, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[251, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[22, 0, 0, 0], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[227, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[35, 253, 255, 207], &[36, 253, 255, 207]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[220, 2, 0, 48], &[221, 2, 0, 48]),
(&[1, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[1, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[1, 0, 0, 0], &[255, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[5, 0, 0, 0], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[1, 0, 0, 0], &[251, 255, 255, 255], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[1, 0, 0, 0], &[22, 0, 0, 0], &[5, 0, 0, 0], &[6, 0, 0, 0]),
(&[1, 0, 0, 0], &[227, 255, 255, 255], &[248, 255, 255, 255], &[249, 255, 255, 255]),
(&[1, 0, 0, 0], &[209, 3, 0, 64], &[244, 0, 0, 16], &[245, 0, 0, 16]),
(&[1, 0, 0, 0], &[47, 252, 255, 191], &[11, 255, 255, 239], &[12, 255, 255, 239]),
(&[255, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[255, 255, 255, 255], &[1, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[255, 255, 255, 255], &[5, 0, 0, 0], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[255, 255, 255, 255], &[251, 255, 255, 255], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[255, 255, 255, 255], &[22, 0, 0, 0], &[250, 255, 255, 255], &[251, 255, 255, 255]),
(&[255, 255, 255, 255], &[227, 255, 255, 255], &[7, 0, 0, 0], &[8, 0, 0, 0]),
(&[255, 255, 255, 255], &[209, 3, 0, 64], &[11, 255, 255, 239], &[12, 255, 255, 239]),
(&[255, 255, 255, 255], &[47, 252, 255, 191], &[244, 0, 0, 16], &[245, 0, 0, 16]),
(&[5, 0, 0, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[5, 0, 0, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[5, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[5, 0, 0, 0], &[255, 255, 255, 255], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[5, 0, 0, 0], &[5, 0, 0, 0], &[6, 0, 0, 0], &[7, 0, 0, 0]),
(&[5, 0, 0, 0], &[251, 255, 255, 255], &[249, 255, 255, 255], &[250, 255, 255, 255]),
(&[5, 0, 0, 0], &[22, 0, 0, 0], &[27, 0, 0, 0], &[28, 0, 0, 0]),
(&[5, 0, 0, 0], &[227, 255, 255, 255], &[219, 255, 255, 255], &[220, 255, 255, 255]),
(&[5, 0, 0, 0], &[209, 3, 0, 64], &[197, 4, 0, 80], &[198, 4, 0, 80]),
(&[5, 0, 0, 0], &[47, 252, 255, 191], &[58, 251, 255, 175], &[59, 251, 255, 175]),
(&[251, 255, 255, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[251, 255, 255, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[251, 255, 255, 255], &[1, 0, 0, 0], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[251, 255, 255, 255], &[255, 255, 255, 255], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[251, 255, 255, 255], &[5, 0, 0, 0], &[249, 255, 255, 255], &[250, 255, 255, 255]),
(&[251, 255, 255, 255], &[251, 255, 255, 255], &[6, 0, 0, 0], &[7, 0, 0, 0]),
(&[251, 255, 255, 255], &[22, 0, 0, 0], &[228, 255, 255, 255], &[229, 255, 255, 255]),
(&[251, 255, 255, 255], &[227, 255, 255, 255], &[36, 0, 0, 0], &[37, 0, 0, 0]),
(&[251, 255, 255, 255], &[209, 3, 0, 64], &[58, 251, 255, 175], &[59, 251, 255, 175]),
(&[251, 255, 255, 255], &[47, 252, 255, 191], &[197, 4, 0, 80], &[198, 4, 0, 80]),
(&[22, 0, 0, 0], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[22, 0, 0, 0], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[22, 0, 0, 0], &[1, 0, 0, 0], &[5, 0, 0, 0], &[6, 0, 0, 0]),
(&[22, 0, 0, 0], &[255, 255, 255, 255], &[250, 255, 255, 255], &[251, 255, 255, 255]),
(&[22, 0, 0, 0], &[5, 0, 0, 0], &[27, 0, 0, 0], &[28, 0, 0, 0]),
(&[22, 0, 0, 0], &[251, 255, 255, 255], &[228, 255, 255, 255], &[229, 255, 255, 255]),
(&[22, 0, 0, 0], &[22, 0, 0, 0], &[121, 0, 0, 0], &[121, 0, 0, 0]),
(&[22, 0, 0, 0], &[227, 255, 255, 255], &[96, 255, 255, 255], &[97, 255, 255, 255]),
(&[227, 255, 255, 255], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[227, 255, 255, 255], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[227, 255, 255, 255], &[1, 0, 0, 0], &[248, 255, 255, 255], &[249, 255, 255, 255]),
(&[227, 255, 255, 255], &[255, 255, 255, 255], &[7, 0, 0, 0], &[8, 0, 0, 0]),
(&[227, 255, 255, 255], &[5, 0, 0, 0], &[219, 255, 255, 255], &[220, 255, 255, 255]),
(&[227, 255, 255, 255], &[251, 255, 255, 255], &[36, 0, 0, 0], &[37, 0, 0, 0]),
(&[227, 255, 255, 255], &[22, 0, 0, 0], &[96, 255, 255, 255], &[97, 255, 255, 255]),
(&[227, 255, 255, 255], &[227, 255, 255, 255], &[210, 0, 0, 0], &[211, 0, 0, 0]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[220, 2, 0, 48], &[221, 2, 0, 48]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[35, 253, 255, 207], &[36, 253, 255, 207]),
(&[209, 3, 0, 64], &[1, 0, 0, 0], &[244, 0, 0, 16], &[245, 0, 0, 16]),
(&[209, 3, 0, 64], &[255, 255, 255, 255], &[11, 255, 255, 239], &[12, 255, 255, 239]),
(&[209, 3, 0, 64], &[5, 0, 0, 0], &[197, 4, 0, 80], &[198, 4, 0, 80]),
(&[209, 3, 0, 64], &[251, 255, 255, 255], &[58, 251, 255, 175], &[59, 251, 255, 175]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[35, 253, 255, 207], &[36, 253, 255, 207]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[220, 2, 0, 48], &[221, 2, 0, 48]),
(&[47, 252, 255, 191], &[1, 0, 0, 0], &[11, 255, 255, 239], &[12, 255, 255, 239]),
(&[47, 252, 255, 191], &[255, 255, 255, 255], &[244, 0, 0, 16], &[245, 0, 0, 16]),
(&[47, 252, 255, 191], &[5, 0, 0, 0], &[58, 251, 255, 175], &[59, 251, 255, 175]),
(&[47, 252, 255, 191], &[251, 255, 255, 255], &[197, 4, 0, 80], &[198, 4, 0, 80]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[252, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 0, 0, 0], &[12, 0, 0, 0], &[12, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 255], &[244, 255, 255, 255], &[244, 255, 255, 255]),
(&[3, 0, 0, 0], &[5, 0, 0, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[251, 255, 255, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[22, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[227, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[252, 255, 255, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[4, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 0, 0], &[244, 255, 255, 255], &[244, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 255, 255], &[12, 0, 0, 0], &[12, 0, 0, 0]),
(&[253, 255, 255, 255], &[5, 0, 0, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[251, 255, 255, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[22, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[227, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[1, 0, 0, 0], &[3, 0, 0, 0], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[1, 0, 0, 0], &[253, 255, 255, 255], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[1, 0, 0, 0], &[1, 0, 0, 0], &[4, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 0, 0, 0], &[255, 255, 255, 255], &[252, 255, 255, 255], &[252, 255, 255, 255]),
(&[1, 0, 0, 0], &[5, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[1, 0, 0, 0], &[251, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[22, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[1, 0, 0, 0], &[227, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[1, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 255, 255, 255], &[3, 0, 0, 0], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[255, 255, 255, 255], &[253, 255, 255, 255], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[255, 255, 255, 255], &[1, 0, 0, 0], &[252, 255, 255, 255], &[252, 255, 255, 255]),
(&[255, 255, 255, 255], &[255, 255, 255, 255], &[4, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 255, 255, 255], &[5, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 255, 255, 255], &[251, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[255, 255, 255, 255], &[22, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 255, 255, 255], &[227, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[255, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[5, 0, 0, 0], &[3, 0, 0, 0], &[6, 0, 0, 0], &[7, 0, 0, 0]),
(&[5, 0, 0, 0], &[253, 255, 255, 255], &[249, 255, 255, 255], &[250, 255, 255, 255]),
(&[5, 0, 0, 0], &[1, 0, 0, 0], &[20, 0, 0, 0], &[20, 0, 0, 0]),
(&[5, 0, 0, 0], &[255, 255, 255, 255], &[236, 255, 255, 255], &[236, 255, 255, 255]),
(&[5, 0, 0, 0], &[5, 0, 0, 0], &[4, 0, 0, 0], &[4, 0, 0, 0]),
(&[5, 0, 0, 0], &[251, 255, 255, 255], &[252, 255, 255, 255], &[252, 255, 255, 255]),
(&[5, 0, 0, 0], &[22, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[5, 0, 0, 0], &[227, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[5, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[5, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[251, 255, 255, 255], &[3, 0, 0, 0], &[249, 255, 255, 255], &[250, 255, 255, 255]),
(&[251, 255, 255, 255], &[253, 255, 255, 255], &[6, 0, 0, 0], &[7, 0, 0, 0]),
(&[251, 255, 255, 255], &[1, 0, 0, 0], &[236, 255, 255, 255], &[236, 255, 255, 255]),
(&[251, 255, 255, 255], &[255, 255, 255, 255], &[20, 0, 0, 0], &[20, 0, 0, 0]),
(&[251, 255, 255, 255], &[5, 0, 0, 0], &[252, 255, 255, 255], &[252, 255, 255, 255]),
(&[251, 255, 255, 255], &[251, 255, 255, 255], &[4, 0, 0, 0], &[4, 0, 0, 0]),
(&[251, 255, 255, 255], &[22, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[251, 255, 255, 255], &[227, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[251, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[251, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[22, 0, 0, 0], &[3, 0, 0, 0], &[29, 0, 0, 0], &[30, 0, 0, 0]),
(&[22, 0, 0, 0], &[253, 255, 255, 255], &[226, 255, 255, 255], &[227, 255, 255, 255]),
(&[22, 0, 0, 0], &[1, 0, 0, 0], &[88, 0, 0, 0], &[88, 0, 0, 0]),
(&[22, 0, 0, 0], &[255, 255, 255, 255], &[168, 255, 255, 255], &[168, 255, 255, 255]),
(&[22, 0, 0, 0], &[5, 0, 0, 0], &[17, 0, 0, 0], &[18, 0, 0, 0]),
(&[22, 0, 0, 0], &[251, 255, 255, 255], &[238, 255, 255, 255], &[239, 255, 255, 255]),
(&[22, 0, 0, 0], &[22, 0, 0, 0], &[4, 0, 0, 0], &[4, 0, 0, 0]),
(&[22, 0, 0, 0], &[227, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[22, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[22, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[227, 255, 255, 255], &[3, 0, 0, 0], &[217, 255, 255, 255], &[218, 255, 255, 255]),
(&[227, 255, 255, 255], &[253, 255, 255, 255], &[38, 0, 0, 0], &[39, 0, 0, 0]),
(&[227, 255, 255, 255], &[1, 0, 0, 0], &[140, 255, 255, 255], &[140, 255, 255, 255]),
(&[227, 255, 255, 255], &[255, 255, 255, 255], &[116, 0, 0, 0], &[116, 0, 0, 0]),
(&[227, 255, 255, 255], &[5, 0, 0, 0], &[232, 255, 255, 255], &[233, 255, 255, 255]),
(&[227, 255, 255, 255], &[251, 255, 255, 255], &[23, 0, 0, 0], &[24, 0, 0, 0]),
(&[227, 255, 255, 255], &[22, 0, 0, 0], &[250, 255, 255, 255], &[251, 255, 255, 255]),
(&[227, 255, 255, 255], &[227, 255, 255, 255], &[4, 0, 0, 0], &[4, 0, 0, 0]),
(&[227, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[227, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[108, 90, 85, 85], &[108, 90, 85, 85]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[148, 165, 170, 170], &[148, 165, 170, 170]),
(&[209, 3, 0, 64], &[5, 0, 0, 0], &[64, 54, 51, 51], &[65, 54, 51, 51]),
(&[209, 3, 0, 64], &[251, 255, 255, 255], &[191, 201, 204, 204], &[192, 201, 204, 204]),
(&[209, 3, 0, 64], &[22, 0, 0, 0], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[227, 255, 255, 255], &[200, 34, 44, 247], &[201, 34, 44, 247]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[4, 0, 0, 0], &[4, 0, 0, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[252, 255, 255, 255], &[252, 255, 255, 255]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[148, 165, 170, 170], &[148, 165, 170, 170]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[108, 90, 85, 85], &[108, 90, 85, 85]),
(&[47, 252, 255, 191], &[5, 0, 0, 0], &[191, 201, 204, 204], &[192, 201, 204, 204]),
(&[47, 252, 255, 191], &[251, 255, 255, 255], &[64, 54, 51, 51], &[65, 54, 51, 51]),
(&[47, 252, 255, 191], &[22, 0, 0, 0], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[227, 255, 255, 255], &[55, 221, 211, 8], &[56, 221, 211, 8]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[252, 255, 255, 255], &[252, 255, 255, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[4, 0, 0, 0], &[4, 0, 0, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[2, 0, 0, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[2, 0, 0, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[2, 0, 0, 0], &[2, 0, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[2, 0, 0, 0], &[2, 0, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[2, 0, 0, 0], &[253, 255, 255, 255], &[2, 0, 0, 0]], &[&[4, 0, 0, 0], &[1, 0, 0, 0], &[255, 255, 255, 255], &[1, 0, 0, 0], &[8, 0, 0, 0], &[0, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0], &[2, 0, 0, 0]], &[4, 0, 0, 0], &[5, 0, 0, 0], &[5, 0, 0, 0]),
(2, &[&[177, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[138, 255, 255, 255], &[145, 255, 255, 255]], &[189, 27, 255, 255], &[190, 27, 255, 255], &[189, 27, 255, 255]),
(2, &[&[68, 0, 0, 0], &[37, 0, 0, 0]], &[&[26, 0, 0, 0], &[82, 0, 0, 0], &[168, 255, 255, 255], &[27, 0, 0, 0]], &[176, 34, 0, 0], &[177, 34, 0, 0], &[177, 34, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[115, 0, 0, 0], &[77, 0, 0, 0], &[135, 255, 255, 255], &[244, 255, 255, 255]], &[86, 29, 0, 0], &[86, 29, 0, 0], &[86, 29, 0, 0]),
(3, &[&[44, 0, 0, 0], &[162, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[158, 255, 255, 255], &[21, 0, 0, 0], &[201, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[170, 255, 255, 255], &[191, 255, 255, 255]], &[236, 117, 255, 255], &[237, 117, 255, 255], &[237, 117, 255, 255]),
(3, &[&[222, 255, 255, 255], &[20, 0, 0, 0], &[40, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[12, 0, 0, 0], &[74, 0, 0, 0], &[9, 0, 0, 0], &[61, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[60, 0, 0, 0]], &[36, 253, 255, 255], &[36, 253, 255, 255], &[36, 253, 255, 255]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[43, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[129, 255, 255, 255], &[42, 0, 0, 0], &[106, 0, 0, 0], &[159, 255, 255, 255]], &[8, 61, 255, 255], &[9, 61, 255, 255], &[8, 61, 255, 255]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[227, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[8, 0, 0, 0], &[2, 0, 0, 0], &[175, 255, 255, 255], &[203, 255, 255, 255], &[79, 0, 0, 0], &[155, 255, 255, 255], &[194, 255, 255, 255], &[48, 0, 0, 0], &[92, 0, 0, 0], &[177, 255, 255, 255], &[10, 0, 0, 0], &[27, 0, 0, 0], &[222, 255, 255, 255], &[169, 255, 255, 255], &[12, 0, 0, 0], &[250, 255, 255, 255], &[70, 0, 0, 0], &[142, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[39, 0, 0, 0], &[58, 0, 0, 0]], &[38, 217, 0, 0], &[39, 217, 0, 0], &[38, 217, 0, 0]),
(5, &[&[114, 0, 0, 0], &[243, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[96, 0, 0, 0]], &[&[205, 255, 255, 255], &[142, 255, 255, 255], &[44, 0, 0, 0], &[33, 0, 0, 0], &[216, 255, 255, 255], &[190, 255, 255, 255], &[135, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[239, 255, 255, 255], &[19, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[64, 0, 0, 0], &[188, 255, 255, 255], &[71, 0, 0, 0], &[92, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[58, 0, 0, 0], &[155, 255, 255, 255], &[18, 0, 0, 0], &[229, 255, 255, 255]], &[150, 255, 255, 255], &[150, 255, 255, 255], &[150, 255, 255, 255]),
(5, &[&[21, 0, 0, 0], &[156, 255, 255, 255], &[229, 255, 255, 255], &[126, 0, 0, 0], &[230, 255, 255, 255]], &[&[235, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[201, 255, 255, 255], &[242, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[121, 0, 0, 0], &[32, 0, 0, 0], &[198, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[96, 0, 0, 0], &[195, 255, 255, 255], &[4, 0, 0, 0], &[70, 0, 0, 0], &[190, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[96, 161, 0, 0], &[96, 161, 0, 0], &[96, 161, 0, 0]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[238, 255, 255, 255], &[80, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[141, 255, 255, 255], &[83, 0, 0, 0], &[34, 0, 0, 0], &[227, 255, 255, 255], &[5, 0, 0, 0], &[215, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[117, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[185, 255, 255, 255], &[84, 0, 0, 0], &[162, 255, 255, 255], &[87, 0, 0, 0], &[167, 255, 255, 255], &[76, 0, 0, 0], &[178, 255, 255, 255], &[80, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[97, 0, 0, 0], &[11, 0, 0, 0], &[72, 0, 0, 0], &[188, 255, 255, 255], &[50, 0, 0, 0], &[122, 0, 0, 0], &[9, 0, 0, 0], &[249, 255, 255, 255], &[99, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[191, 255, 255, 255], &[48, 0, 0, 0], &[51, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[153, 255, 255, 255], &[140, 255, 255, 255], &[21, 0, 0, 0], &[11, 0, 0, 0], &[170, 255, 255, 255], &[32, 0, 0, 0], &[213, 255, 255, 255]], &[228, 52, 6, 0], &[229, 52, 6, 0], &[228, 52, 6, 0]),
(7, &[&[185, 255, 255, 255], &[133, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[193, 255, 255, 255], &[141, 255, 255, 255], &[247, 255, 255, 255]], &[&[166, 255, 255, 255], &[215, 255, 255, 255], &[16, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[54, 0, 0, 0], &[196, 255, 255, 255], &[190, 255, 255, 255], &[35, 0, 0, 0], &[220, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[159, 255, 255, 255], &[45, 0, 0, 0], &[8, 0, 0, 0], &[243, 255, 255, 255], &[67, 0, 0, 0], &[87, 0, 0, 0], &[204, 255, 255, 255], &[19, 0, 0, 0], &[3, 0, 0, 0], &[85, 0, 0, 0], &[53, 0, 0, 0], &[194, 255, 255, 255], &[113, 0, 0, 0], &[21, 0, 0, 0], &[23, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[96, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[57, 0, 0, 0], &[232, 255, 255, 255], &[86, 0, 0, 0], &[4, 0, 0, 0], &[253, 255, 255, 255], &[159, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[86, 0, 0, 0]], &[71, 160, 0, 0], &[72, 160, 0, 0], &[72, 160, 0, 0]),
(7, &[&[175, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[11, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[145, 255, 255, 255], &[113, 0, 0, 0], &[24, 0, 0, 0], &[85, 0, 0, 0], &[59, 0, 0, 0], &[37, 0, 0, 0], &[158, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[116, 0, 0, 0], &[249, 255, 255, 255], &[157, 255, 255, 255], &[65, 0, 0, 0], &[216, 255, 255, 255], &[113, 0, 0, 0], &[106, 0, 0, 0], &[152, 255, 255, 255], &[78, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[244, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[55, 0, 0, 0], &[232, 255, 255, 255], &[121, 0, 0, 0], &[130, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[197, 255, 255, 255], &[96, 0, 0, 0], &[47, 0, 0, 0], &[108, 0, 0, 0], &[194, 255, 255, 255], &[217, 255, 255, 255], &[183, 255, 255, 255], &[14, 0, 0, 0], &[48, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[102, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[127, 201, 255, 255], &[128, 201, 255, 255], &[128, 201, 255, 255]),
(2, &[&[129, 1, 0, 0], &[64, 1, 0, 0]], &[&[129, 1, 0, 0], &[128, 0, 0, 0], &[77, 0, 0, 0], &[128, 1, 0, 0]], &[76, 2, 116, 0], &[77, 2, 116, 0], &[76, 2, 116, 0]),
(2, &[&[127, 254, 255, 255], &[192, 254, 255, 255]], &[&[129, 1, 0, 0], &[128, 0, 0, 0], &[77, 0, 0, 0], &[128, 1, 0, 0]], &[76, 2, 116, 0], &[77, 2, 116, 0], &[76, 2, 116, 0]),
(2, &[&[129, 1, 0, 0], &[64, 1, 0, 0]], &[&[127, 254, 255, 255], &[128, 255, 255, 255], &[179, 255, 255, 255], &[128, 254, 255, 255]], &[179, 253, 139, 255], &[180, 253, 139, 255], &[180, 253, 139, 255]),
(2, &[&[127, 254, 255, 255], &[192, 254, 255, 255]], &[&[127, 254, 255, 255], &[128, 255, 255, 255], &[179, 255, 255, 255], &[128, 254, 255, 255]], &[179, 253, 139, 255], &[180, 253, 139, 255], &[180, 253, 139, 255]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f3 {
pub const FRAC_BITS: u32 = 3;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[2, 0, 0, 0], &[4, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[4, 0, 0, 0], &[5, 0, 0, 0]),
(&[8, 0, 0, 0], &[8, 0, 0, 0], &[8, 0, 0, 0]),
(&[16, 0, 0, 0], &[11, 0, 0, 0], &[12, 0, 0, 0]),
(&[32, 0, 0, 0], &[16, 0, 0, 0], &[16, 0, 0, 0]),
(&[4, 0, 0, 0], &[5, 0, 0, 0], &[6, 0, 0, 0]),
(&[3, 0, 0, 0], &[4, 0, 0, 0], &[5, 0, 0, 0]),
(&[57, 48, 0, 64], &[10, 106, 1, 0], &[11, 106, 1, 0]),
(&[255, 255, 255, 127], &[255, 255, 1, 0], &[0, 0, 2, 0]),
(&[25, 0, 0, 0], &[14, 0, 0, 0], &[15, 0, 0, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[3, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[254, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[9, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[247, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[44, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[199, 255, 255, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[110, 1, 0, 24], &[111, 1, 0, 24]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[145, 254, 255, 231], &[146, 254, 255, 231]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[253, 255, 255, 255], &[2, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[254, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[9, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[247, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[44, 0, 0, 0], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[199, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[145, 254, 255, 231], &[146, 254, 255, 231]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[110, 1, 0, 24], &[111, 1, 0, 24]),
(&[2, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[2, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[2, 0, 0, 0], &[254, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[2, 0, 0, 0], &[9, 0, 0, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[2, 0, 0, 0], &[247, 255, 255, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[2, 0, 0, 0], &[44, 0, 0, 0], &[11, 0, 0, 0], &[11, 0, 0, 0]),
(&[2, 0, 0, 0], &[199, 255, 255, 255], &[241, 255, 255, 255], &[242, 255, 255, 255]),
(&[2, 0, 0, 0], &[209, 3, 0, 64], &[244, 0, 0, 16], &[245, 0, 0, 16]),
(&[2, 0, 0, 0], &[47, 252, 255, 191], &[11, 255, 255, 239], &[12, 255, 255, 239]),
(&[254, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[254, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[254, 255, 255, 255], &[2, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[254, 255, 255, 255], &[254, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[254, 255, 255, 255], &[9, 0, 0, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[254, 255, 255, 255], &[247, 255, 255, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[254, 255, 255, 255], &[44, 0, 0, 0], &[245, 255, 255, 255], &[245, 255, 255, 255]),
(&[254, 255, 255, 255], &[199, 255, 255, 255], &[14, 0, 0, 0], &[15, 0, 0, 0]),
(&[254, 255, 255, 255], &[209, 3, 0, 64], &[11, 255, 255, 239], &[12, 255, 255, 239]),
(&[254, 255, 255, 255], &[47, 252, 255, 191], &[244, 0, 0, 16], &[245, 0, 0, 16]),
(&[9, 0, 0, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[9, 0, 0, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[9, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[9, 0, 0, 0], &[254, 255, 255, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[9, 0, 0, 0], &[9, 0, 0, 0], &[10, 0, 0, 0], &[11, 0, 0, 0]),
(&[9, 0, 0, 0], &[247, 255, 255, 255], &[245, 255, 255, 255], &[246, 255, 255, 255]),
(&[9, 0, 0, 0], &[44, 0, 0, 0], &[49, 0, 0, 0], &[50, 0, 0, 0]),
(&[9, 0, 0, 0], &[199, 255, 255, 255], &[191, 255, 255, 255], &[192, 255, 255, 255]),
(&[9, 0, 0, 0], &[209, 3, 0, 64], &[75, 4, 0, 72], &[76, 4, 0, 72]),
(&[9, 0, 0, 0], &[47, 252, 255, 191], &[180, 251, 255, 183], &[181, 251, 255, 183]),
(&[247, 255, 255, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[247, 255, 255, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[247, 255, 255, 255], &[2, 0, 0, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[247, 255, 255, 255], &[254, 255, 255, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[247, 255, 255, 255], &[9, 0, 0, 0], &[245, 255, 255, 255], &[246, 255, 255, 255]),
(&[247, 255, 255, 255], &[247, 255, 255, 255], &[10, 0, 0, 0], &[11, 0, 0, 0]),
(&[247, 255, 255, 255], &[44, 0, 0, 0], &[206, 255, 255, 255], &[207, 255, 255, 255]),
(&[247, 255, 255, 255], &[199, 255, 255, 255], &[64, 0, 0, 0], &[65, 0, 0, 0]),
(&[247, 255, 255, 255], &[209, 3, 0, 64], &[180, 251, 255, 183], &[181, 251, 255, 183]),
(&[247, 255, 255, 255], &[47, 252, 255, 191], &[75, 4, 0, 72], &[76, 4, 0, 72]),
(&[44, 0, 0, 0], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[44, 0, 0, 0], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[44, 0, 0, 0], &[2, 0, 0, 0], &[11, 0, 0, 0], &[11, 0, 0, 0]),
(&[44, 0, 0, 0], &[254, 255, 255, 255], &[245, 255, 255, 255], &[245, 255, 255, 255]),
(&[44, 0, 0, 0], &[9, 0, 0, 0], &[49, 0, 0, 0], &[50, 0, 0, 0]),
(&[44, 0, 0, 0], &[247, 255, 255, 255], &[206, 255, 255, 255], &[207, 255, 255, 255]),
(&[44, 0, 0, 0], &[44, 0, 0, 0], &[242, 0, 0, 0], &[242, 0, 0, 0]),
(&[44, 0, 0, 0], &[199, 255, 255, 255], &[198, 254, 255, 255], &[199, 254, 255, 255]),
(&[199, 255, 255, 255], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[199, 255, 255, 255], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[199, 255, 255, 255], &[2, 0, 0, 0], &[241, 255, 255, 255], &[242, 255, 255, 255]),
(&[199, 255, 255, 255], &[254, 255, 255, 255], &[14, 0, 0, 0], &[15, 0, 0, 0]),
(&[199, 255, 255, 255], &[9, 0, 0, 0], &[191, 255, 255, 255], &[192, 255, 255, 255]),
(&[199, 255, 255, 255], &[247, 255, 255, 255], &[64, 0, 0, 0], &[65, 0, 0, 0]),
(&[199, 255, 255, 255], &[44, 0, 0, 0], &[198, 254, 255, 255], &[199, 254, 255, 255]),
(&[199, 255, 255, 255], &[199, 255, 255, 255], &[150, 1, 0, 0], &[151, 1, 0, 0]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[110, 1, 0, 24], &[111, 1, 0, 24]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[145, 254, 255, 231], &[146, 254, 255, 231]),
(&[209, 3, 0, 64], &[2, 0, 0, 0], &[244, 0, 0, 16], &[245, 0, 0, 16]),
(&[209, 3, 0, 64], &[254, 255, 255, 255], &[11, 255, 255, 239], &[12, 255, 255, 239]),
(&[209, 3, 0, 64], &[9, 0, 0, 0], &[75, 4, 0, 72], &[76, 4, 0, 72]),
(&[209, 3, 0, 64], &[247, 255, 255, 255], &[180, 251, 255, 183], &[181, 251, 255, 183]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[145, 254, 255, 231], &[146, 254, 255, 231]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[110, 1, 0, 24], &[111, 1, 0, 24]),
(&[47, 252, 255, 191], &[2, 0, 0, 0], &[11, 255, 255, 239], &[12, 255, 255, 239]),
(&[47, 252, 255, 191], &[254, 255, 255, 255], &[244, 0, 0, 16], &[245, 0, 0, 16]),
(&[47, 252, 255, 191], &[9, 0, 0, 0], &[180, 251, 255, 183], &[181, 251, 255, 183]),
(&[47, 252, 255, 191], &[247, 255, 255, 255], &[75, 4, 0, 72], &[76, 4, 0, 72]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[8, 0, 0, 0], &[8, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[248, 255, 255, 255], &[248, 255, 255, 255]),
(&[3, 0, 0, 0], &[2, 0, 0, 0], &[12, 0, 0, 0], &[12, 0, 0, 0]),
(&[3, 0, 0, 0], &[254, 255, 255, 255], &[244, 255, 255, 255], &[244, 255, 255, 255]),
(&[3, 0, 0, 0], &[9, 0, 0, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[247, 255, 255, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[44, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[199, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[248, 255, 255, 255], &[248, 255, 255, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[8, 0, 0, 0], &[8, 0, 0, 0]),
(&[253, 255, 255, 255], &[2, 0, 0, 0], &[244, 255, 255, 255], &[244, 255, 255, 255]),
(&[253, 255, 255, 255], &[254, 255, 255, 255], &[12, 0, 0, 0], &[12, 0, 0, 0]),
(&[253, 255, 255, 255], &[9, 0, 0, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[247, 255, 255, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[44, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[199, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[2, 0, 0, 0], &[3, 0, 0, 0], &[5, 0, 0, 0], &[6, 0, 0, 0]),
(&[2, 0, 0, 0], &[253, 255, 255, 255], &[250, 255, 255, 255], &[251, 255, 255, 255]),
(&[2, 0, 0, 0], &[2, 0, 0, 0], &[8, 0, 0, 0], &[8, 0, 0, 0]),
(&[2, 0, 0, 0], &[254, 255, 255, 255], &[248, 255, 255, 255], &[248, 255, 255, 255]),
(&[2, 0, 0, 0], &[9, 0, 0, 0], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[2, 0, 0, 0], &[247, 255, 255, 255], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[2, 0, 0, 0], &[44, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[2, 0, 0, 0], &[199, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[2, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[2, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[254, 255, 255, 255], &[3, 0, 0, 0], &[250, 255, 255, 255], &[251, 255, 255, 255]),
(&[254, 255, 255, 255], &[253, 255, 255, 255], &[5, 0, 0, 0], &[6, 0, 0, 0]),
(&[254, 255, 255, 255], &[2, 0, 0, 0], &[248, 255, 255, 255], &[248, 255, 255, 255]),
(&[254, 255, 255, 255], &[254, 255, 255, 255], &[8, 0, 0, 0], &[8, 0, 0, 0]),
(&[254, 255, 255, 255], &[9, 0, 0, 0], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[254, 255, 255, 255], &[247, 255, 255, 255], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[254, 255, 255, 255], &[44, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[254, 255, 255, 255], &[199, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[254, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[254, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[9, 0, 0, 0], &[3, 0, 0, 0], &[24, 0, 0, 0], &[24, 0, 0, 0]),
(&[9, 0, 0, 0], &[253, 255, 255, 255], &[232, 255, 255, 255], &[232, 255, 255, 255]),
(&[9, 0, 0, 0], &[2, 0, 0, 0], &[36, 0, 0, 0], &[36, 0, 0, 0]),
(&[9, 0, 0, 0], &[254, 255, 255, 255], &[220, 255, 255, 255], &[220, 255, 255, 255]),
(&[9, 0, 0, 0], &[9, 0, 0, 0], &[8, 0, 0, 0], &[8, 0, 0, 0]),
(&[9, 0, 0, 0], &[247, 255, 255, 255], &[248, 255, 255, 255], &[248, 255, 255, 255]),
(&[9, 0, 0, 0], &[44, 0, 0, 0], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[9, 0, 0, 0], &[199, 255, 255, 255], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[9, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[9, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[247, 255, 255, 255], &[3, 0, 0, 0], &[232, 255, 255, 255], &[232, 255, 255, 255]),
(&[247, 255, 255, 255], &[253, 255, 255, 255], &[24, 0, 0, 0], &[24, 0, 0, 0]),
(&[247, 255, 255, 255], &[2, 0, 0, 0], &[220, 255, 255, 255], &[220, 255, 255, 255]),
(&[247, 255, 255, 255], &[254, 255, 255, 255], &[36, 0, 0, 0], &[36, 0, 0, 0]),
(&[247, 255, 255, 255], &[9, 0, 0, 0], &[248, 255, 255, 255], &[248, 255, 255, 255]),
(&[247, 255, 255, 255], &[247, 255, 255, 255], &[8, 0, 0, 0], &[8, 0, 0, 0]),
(&[247, 255, 255, 255], &[44, 0, 0, 0], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[247, 255, 255, 255], &[199, 255, 255, 255], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[247, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[247, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[44, 0, 0, 0], &[3, 0, 0, 0], &[117, 0, 0, 0], &[118, 0, 0, 0]),
(&[44, 0, 0, 0], &[253, 255, 255, 255], &[138, 255, 255, 255], &[139, 255, 255, 255]),
(&[44, 0, 0, 0], &[2, 0, 0, 0], &[176, 0, 0, 0], &[176, 0, 0, 0]),
(&[44, 0, 0, 0], &[254, 255, 255, 255], &[80, 255, 255, 255], &[80, 255, 255, 255]),
(&[44, 0, 0, 0], &[9, 0, 0, 0], &[39, 0, 0, 0], &[40, 0, 0, 0]),
(&[44, 0, 0, 0], &[247, 255, 255, 255], &[216, 255, 255, 255], &[217, 255, 255, 255]),
(&[44, 0, 0, 0], &[44, 0, 0, 0], &[8, 0, 0, 0], &[8, 0, 0, 0]),
(&[44, 0, 0, 0], &[199, 255, 255, 255], &[249, 255, 255, 255], &[250, 255, 255, 255]),
(&[44, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[44, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[199, 255, 255, 255], &[3, 0, 0, 0], &[104, 255, 255, 255], &[104, 255, 255, 255]),
(&[199, 255, 255, 255], &[253, 255, 255, 255], &[152, 0, 0, 0], &[152, 0, 0, 0]),
(&[199, 255, 255, 255], &[2, 0, 0, 0], &[28, 255, 255, 255], &[28, 255, 255, 255]),
(&[199, 255, 255, 255], &[254, 255, 255, 255], &[228, 0, 0, 0], &[228, 0, 0, 0]),
(&[199, 255, 255, 255], &[9, 0, 0, 0], &[205, 255, 255, 255], &[206, 255, 255, 255]),
(&[199, 255, 255, 255], &[247, 255, 255, 255], &[50, 0, 0, 0], &[51, 0, 0, 0]),
(&[199, 255, 255, 255], &[44, 0, 0, 0], &[245, 255, 255, 255], &[246, 255, 255, 255]),
(&[199, 255, 255, 255], &[199, 255, 255, 255], &[8, 0, 0, 0], &[8, 0, 0, 0]),
(&[199, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[199, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[209, 3, 0, 64], &[9, 0, 0, 0], &[157, 145, 227, 56], &[158, 145, 227, 56]),
(&[209, 3, 0, 64], &[247, 255, 255, 255], &[98, 110, 28, 199], &[99, 110, 28, 199]),
(&[209, 3, 0, 64], &[44, 0, 0, 0], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[199, 255, 255, 255], &[56, 125, 4, 247], &[56, 125, 4, 247]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[8, 0, 0, 0], &[8, 0, 0, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[248, 255, 255, 255], &[248, 255, 255, 255]),
(&[47, 252, 255, 191], &[9, 0, 0, 0], &[98, 110, 28, 199], &[99, 110, 28, 199]),
(&[47, 252, 255, 191], &[247, 255, 255, 255], &[157, 145, 227, 56], &[158, 145, 227, 56]),
(&[47, 252, 255, 191], &[44, 0, 0, 0], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[199, 255, 255, 255], &[200, 130, 251, 8], &[200, 130, 251, 8]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[248, 255, 255, 255], &[248, 255, 255, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[8, 0, 0, 0], &[8, 0, 0, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[4, 0, 0, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[4, 0, 0, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[4, 0, 0, 0], &[4, 0, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[4, 0, 0, 0], &[4, 0, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[4, 0, 0, 0], &[250, 255, 255, 255], &[5, 0, 0, 0]], &[&[8, 0, 0, 0], &[2, 0, 0, 0], &[255, 255, 255, 255], &[2, 0, 0, 0], &[16, 0, 0, 0], &[0, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0], &[4, 0, 0, 0]], &[10, 0, 0, 0], &[11, 0, 0, 0], &[10, 0, 0, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[219, 147, 254, 255], &[220, 147, 254, 255], &[219, 147, 254, 255]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[98, 115, 1, 0], &[99, 115, 1, 0], &[98, 115, 1, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[117, 22, 0, 0], &[118, 22, 0, 0], &[118, 22, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[147, 242, 253, 255], &[148, 242, 253, 255], &[147, 242, 253, 255]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[137, 106, 2, 0], &[137, 106, 2, 0], &[137, 106, 2, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[196, 192, 255, 255], &[197, 192, 255, 255], &[196, 192, 255, 255]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[117, 166, 1, 0], &[118, 166, 1, 0], &[118, 166, 1, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[169, 13, 253, 255], &[170, 13, 253, 255], &[170, 13, 253, 255]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[150, 101, 255, 255], &[150, 101, 255, 255], &[150, 101, 255, 255]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[119, 173, 6, 0], &[120, 173, 6, 0], &[119, 173, 6, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[219, 26, 2, 0], &[220, 26, 2, 0], &[220, 26, 2, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[199, 192, 254, 255], &[200, 192, 254, 255], &[200, 192, 254, 255]),
(2, &[&[1, 3, 0, 0], &[128, 2, 0, 0]], &[&[1, 3, 0, 0], &[0, 1, 0, 0], &[153, 0, 0, 0], &[0, 3, 0, 0]], &[30, 106, 231, 0], &[31, 106, 231, 0], &[30, 106, 231, 0]),
(2, &[&[255, 252, 255, 255], &[128, 253, 255, 255]], &[&[1, 3, 0, 0], &[0, 1, 0, 0], &[153, 0, 0, 0], &[0, 3, 0, 0]], &[30, 106, 231, 0], &[31, 106, 231, 0], &[30, 106, 231, 0]),
(2, &[&[1, 3, 0, 0], &[128, 2, 0, 0]], &[&[255, 252, 255, 255], &[0, 255, 255, 255], &[103, 255, 255, 255], &[0, 253, 255, 255]], &[225, 149, 24, 255], &[226, 149, 24, 255], &[226, 149, 24, 255]),
(2, &[&[255, 252, 255, 255], &[128, 253, 255, 255]], &[&[255, 252, 255, 255], &[0, 255, 255, 255], &[103, 255, 255, 255], &[0, 253, 255, 255]], &[225, 149, 24, 255], &[226, 149, 24, 255], &[226, 149, 24, 255]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f4 {
pub const FRAC_BITS: u32 = 4;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[4, 0, 0, 0], &[4, 0, 0, 0]),
(&[2, 0, 0, 0], &[5, 0, 0, 0], &[6, 0, 0, 0]),
(&[3, 0, 0, 0], &[6, 0, 0, 0], &[7, 0, 0, 0]),
(&[16, 0, 0, 0], &[16, 0, 0, 0], &[16, 0, 0, 0]),
(&[32, 0, 0, 0], &[22, 0, 0, 0], &[23, 0, 0, 0]),
(&[64, 0, 0, 0], &[32, 0, 0, 0], &[32, 0, 0, 0]),
(&[8, 0, 0, 0], &[11, 0, 0, 0], &[12, 0, 0, 0]),
(&[5, 0, 0, 0], &[8, 0, 0, 0], &[9, 0, 0, 0]),
(&[57, 48, 0, 64], &[0, 0, 2, 0], &[1, 0, 2, 0]),
(&[255, 255, 255, 127], &[19, 212, 2, 0], &[20, 212, 2, 0]),
(&[50, 0, 0, 0], &[28, 0, 0, 0], &[29, 0, 0, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[5, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[251, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[17, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[239, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[88, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[143, 255, 255, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[183, 0, 0, 12], &[184, 0, 0, 12]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[72, 255, 255, 243], &[73, 255, 255, 243]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[5, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[251, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[17, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[239, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[88, 0, 0, 0], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[143, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[72, 255, 255, 243], &[73, 255, 255, 243]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[183, 0, 0, 12], &[184, 0, 0, 12]),
(&[5, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[5, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[5, 0, 0, 0], &[5, 0, 0, 0], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[5, 0, 0, 0], &[251, 255, 255, 255], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[5, 0, 0, 0], &[17, 0, 0, 0], &[5, 0, 0, 0], &[6, 0, 0, 0]),
(&[5, 0, 0, 0], &[239, 255, 255, 255], &[250, 255, 255, 255], &[251, 255, 255, 255]),
(&[5, 0, 0, 0], &[88, 0, 0, 0], &[27, 0, 0, 0], &[28, 0, 0, 0]),
(&[5, 0, 0, 0], &[143, 255, 255, 255], &[220, 255, 255, 255], &[221, 255, 255, 255]),
(&[5, 0, 0, 0], &[209, 3, 0, 64], &[49, 1, 0, 20], &[50, 1, 0, 20]),
(&[5, 0, 0, 0], &[47, 252, 255, 191], &[206, 254, 255, 235], &[207, 254, 255, 235]),
(&[251, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[251, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[251, 255, 255, 255], &[5, 0, 0, 0], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[251, 255, 255, 255], &[251, 255, 255, 255], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[251, 255, 255, 255], &[17, 0, 0, 0], &[250, 255, 255, 255], &[251, 255, 255, 255]),
(&[251, 255, 255, 255], &[239, 255, 255, 255], &[5, 0, 0, 0], &[6, 0, 0, 0]),
(&[251, 255, 255, 255], &[88, 0, 0, 0], &[228, 255, 255, 255], &[229, 255, 255, 255]),
(&[251, 255, 255, 255], &[143, 255, 255, 255], &[35, 0, 0, 0], &[36, 0, 0, 0]),
(&[251, 255, 255, 255], &[209, 3, 0, 64], &[206, 254, 255, 235], &[207, 254, 255, 235]),
(&[251, 255, 255, 255], &[47, 252, 255, 191], &[49, 1, 0, 20], &[50, 1, 0, 20]),
(&[17, 0, 0, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[17, 0, 0, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[17, 0, 0, 0], &[5, 0, 0, 0], &[5, 0, 0, 0], &[6, 0, 0, 0]),
(&[17, 0, 0, 0], &[251, 255, 255, 255], &[250, 255, 255, 255], &[251, 255, 255, 255]),
(&[17, 0, 0, 0], &[17, 0, 0, 0], &[18, 0, 0, 0], &[19, 0, 0, 0]),
(&[17, 0, 0, 0], &[239, 255, 255, 255], &[237, 255, 255, 255], &[238, 255, 255, 255]),
(&[17, 0, 0, 0], &[88, 0, 0, 0], &[93, 0, 0, 0], &[94, 0, 0, 0]),
(&[17, 0, 0, 0], &[143, 255, 255, 255], &[135, 255, 255, 255], &[136, 255, 255, 255]),
(&[17, 0, 0, 0], &[209, 3, 0, 64], &[14, 4, 0, 68], &[15, 4, 0, 68]),
(&[17, 0, 0, 0], &[47, 252, 255, 191], &[241, 251, 255, 187], &[242, 251, 255, 187]),
(&[239, 255, 255, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[239, 255, 255, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[239, 255, 255, 255], &[5, 0, 0, 0], &[250, 255, 255, 255], &[251, 255, 255, 255]),
(&[239, 255, 255, 255], &[251, 255, 255, 255], &[5, 0, 0, 0], &[6, 0, 0, 0]),
(&[239, 255, 255, 255], &[17, 0, 0, 0], &[237, 255, 255, 255], &[238, 255, 255, 255]),
(&[239, 255, 255, 255], &[239, 255, 255, 255], &[18, 0, 0, 0], &[19, 0, 0, 0]),
(&[239, 255, 255, 255], &[88, 0, 0, 0], &[162, 255, 255, 255], &[163, 255, 255, 255]),
(&[239, 255, 255, 255], &[143, 255, 255, 255], &[120, 0, 0, 0], &[121, 0, 0, 0]),
(&[239, 255, 255, 255], &[209, 3, 0, 64], &[241, 251, 255, 187], &[242, 251, 255, 187]),
(&[239, 255, 255, 255], &[47, 252, 255, 191], &[14, 4, 0, 68], &[15, 4, 0, 68]),
(&[88, 0, 0, 0], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[88, 0, 0, 0], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[88, 0, 0, 0], &[5, 0, 0, 0], &[27, 0, 0, 0], &[28, 0, 0, 0]),
(&[88, 0, 0, 0], &[251, 255, 255, 255], &[228, 255, 255, 255], &[229, 255, 255, 255]),
(&[88, 0, 0, 0], &[17, 0, 0, 0], &[93, 0, 0, 0], &[94, 0, 0, 0]),
(&[88, 0, 0, 0], &[239, 255, 255, 255], &[162, 255, 255, 255], &[163, 255, 255, 255]),
(&[88, 0, 0, 0], &[88, 0, 0, 0], &[228, 1, 0, 0], &[228, 1, 0, 0]),
(&[88, 0, 0, 0], &[143, 255, 255, 255], &[146, 253, 255, 255], &[147, 253, 255, 255]),
(&[143, 255, 255, 255], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[143, 255, 255, 255], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[143, 255, 255, 255], &[5, 0, 0, 0], &[220, 255, 255, 255], &[221, 255, 255, 255]),
(&[143, 255, 255, 255], &[251, 255, 255, 255], &[35, 0, 0, 0], &[36, 0, 0, 0]),
(&[143, 255, 255, 255], &[17, 0, 0, 0], &[135, 255, 255, 255], &[136, 255, 255, 255]),
(&[143, 255, 255, 255], &[239, 255, 255, 255], &[120, 0, 0, 0], &[121, 0, 0, 0]),
(&[143, 255, 255, 255], &[88, 0, 0, 0], &[146, 253, 255, 255], &[147, 253, 255, 255]),
(&[143, 255, 255, 255], &[143, 255, 255, 255], &[30, 3, 0, 0], &[31, 3, 0, 0]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[183, 0, 0, 12], &[184, 0, 0, 12]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[72, 255, 255, 243], &[73, 255, 255, 243]),
(&[209, 3, 0, 64], &[5, 0, 0, 0], &[49, 1, 0, 20], &[50, 1, 0, 20]),
(&[209, 3, 0, 64], &[251, 255, 255, 255], &[206, 254, 255, 235], &[207, 254, 255, 235]),
(&[209, 3, 0, 64], &[17, 0, 0, 0], &[14, 4, 0, 68], &[15, 4, 0, 68]),
(&[209, 3, 0, 64], &[239, 255, 255, 255], &[241, 251, 255, 187], &[242, 251, 255, 187]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[72, 255, 255, 243], &[73, 255, 255, 243]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[183, 0, 0, 12], &[184, 0, 0, 12]),
(&[47, 252, 255, 191], &[5, 0, 0, 0], &[206, 254, 255, 235], &[207, 254, 255, 235]),
(&[47, 252, 255, 191], &[251, 255, 255, 255], &[49, 1, 0, 20], &[50, 1, 0, 20]),
(&[47, 252, 255, 191], &[17, 0, 0, 0], &[241, 251, 255, 187], &[242, 251, 255, 187]),
(&[47, 252, 255, 191], &[239, 255, 255, 255], &[14, 4, 0, 68], &[15, 4, 0, 68]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[16, 0, 0, 0], &[16, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[240, 255, 255, 255], &[240, 255, 255, 255]),
(&[3, 0, 0, 0], &[5, 0, 0, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[251, 255, 255, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[17, 0, 0, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[239, 255, 255, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[88, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[143, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[240, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[16, 0, 0, 0], &[16, 0, 0, 0]),
(&[253, 255, 255, 255], &[5, 0, 0, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[251, 255, 255, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[17, 0, 0, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[239, 255, 255, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[88, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[143, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[5, 0, 0, 0], &[3, 0, 0, 0], &[26, 0, 0, 0], &[27, 0, 0, 0]),
(&[5, 0, 0, 0], &[253, 255, 255, 255], &[229, 255, 255, 255], &[230, 255, 255, 255]),
(&[5, 0, 0, 0], &[5, 0, 0, 0], &[16, 0, 0, 0], &[16, 0, 0, 0]),
(&[5, 0, 0, 0], &[251, 255, 255, 255], &[240, 255, 255, 255], &[240, 255, 255, 255]),
(&[5, 0, 0, 0], &[17, 0, 0, 0], &[4, 0, 0, 0], &[5, 0, 0, 0]),
(&[5, 0, 0, 0], &[239, 255, 255, 255], &[251, 255, 255, 255], &[252, 255, 255, 255]),
(&[5, 0, 0, 0], &[88, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[5, 0, 0, 0], &[143, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[5, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[5, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[251, 255, 255, 255], &[3, 0, 0, 0], &[229, 255, 255, 255], &[230, 255, 255, 255]),
(&[251, 255, 255, 255], &[253, 255, 255, 255], &[26, 0, 0, 0], &[27, 0, 0, 0]),
(&[251, 255, 255, 255], &[5, 0, 0, 0], &[240, 255, 255, 255], &[240, 255, 255, 255]),
(&[251, 255, 255, 255], &[251, 255, 255, 255], &[16, 0, 0, 0], &[16, 0, 0, 0]),
(&[251, 255, 255, 255], &[17, 0, 0, 0], &[251, 255, 255, 255], &[252, 255, 255, 255]),
(&[251, 255, 255, 255], &[239, 255, 255, 255], &[4, 0, 0, 0], &[5, 0, 0, 0]),
(&[251, 255, 255, 255], &[88, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[251, 255, 255, 255], &[143, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[251, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[251, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[17, 0, 0, 0], &[3, 0, 0, 0], &[90, 0, 0, 0], &[91, 0, 0, 0]),
(&[17, 0, 0, 0], &[253, 255, 255, 255], &[165, 255, 255, 255], &[166, 255, 255, 255]),
(&[17, 0, 0, 0], &[5, 0, 0, 0], &[54, 0, 0, 0], &[55, 0, 0, 0]),
(&[17, 0, 0, 0], &[251, 255, 255, 255], &[201, 255, 255, 255], &[202, 255, 255, 255]),
(&[17, 0, 0, 0], &[17, 0, 0, 0], &[16, 0, 0, 0], &[16, 0, 0, 0]),
(&[17, 0, 0, 0], &[239, 255, 255, 255], &[240, 255, 255, 255], &[240, 255, 255, 255]),
(&[17, 0, 0, 0], &[88, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[17, 0, 0, 0], &[143, 255, 255, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[17, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[17, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[239, 255, 255, 255], &[3, 0, 0, 0], &[165, 255, 255, 255], &[166, 255, 255, 255]),
(&[239, 255, 255, 255], &[253, 255, 255, 255], &[90, 0, 0, 0], &[91, 0, 0, 0]),
(&[239, 255, 255, 255], &[5, 0, 0, 0], &[201, 255, 255, 255], &[202, 255, 255, 255]),
(&[239, 255, 255, 255], &[251, 255, 255, 255], &[54, 0, 0, 0], &[55, 0, 0, 0]),
(&[239, 255, 255, 255], &[17, 0, 0, 0], &[240, 255, 255, 255], &[240, 255, 255, 255]),
(&[239, 255, 255, 255], &[239, 255, 255, 255], &[16, 0, 0, 0], &[16, 0, 0, 0]),
(&[239, 255, 255, 255], &[88, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[239, 255, 255, 255], &[143, 255, 255, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[239, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[239, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[88, 0, 0, 0], &[3, 0, 0, 0], &[213, 1, 0, 0], &[214, 1, 0, 0]),
(&[88, 0, 0, 0], &[253, 255, 255, 255], &[42, 254, 255, 255], &[43, 254, 255, 255]),
(&[88, 0, 0, 0], &[5, 0, 0, 0], &[25, 1, 0, 0], &[26, 1, 0, 0]),
(&[88, 0, 0, 0], &[251, 255, 255, 255], &[230, 254, 255, 255], &[231, 254, 255, 255]),
(&[88, 0, 0, 0], &[17, 0, 0, 0], &[82, 0, 0, 0], &[83, 0, 0, 0]),
(&[88, 0, 0, 0], &[239, 255, 255, 255], &[173, 255, 255, 255], &[174, 255, 255, 255]),
(&[88, 0, 0, 0], &[88, 0, 0, 0], &[16, 0, 0, 0], &[16, 0, 0, 0]),
(&[88, 0, 0, 0], &[143, 255, 255, 255], &[243, 255, 255, 255], &[244, 255, 255, 255]),
(&[88, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[88, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[143, 255, 255, 255], &[3, 0, 0, 0], &[165, 253, 255, 255], &[166, 253, 255, 255]),
(&[143, 255, 255, 255], &[253, 255, 255, 255], &[90, 2, 0, 0], &[91, 2, 0, 0]),
(&[143, 255, 255, 255], &[5, 0, 0, 0], &[150, 254, 255, 255], &[151, 254, 255, 255]),
(&[143, 255, 255, 255], &[251, 255, 255, 255], &[105, 1, 0, 0], &[106, 1, 0, 0]),
(&[143, 255, 255, 255], &[17, 0, 0, 0], &[149, 255, 255, 255], &[150, 255, 255, 255]),
(&[143, 255, 255, 255], &[239, 255, 255, 255], &[106, 0, 0, 0], &[107, 0, 0, 0]),
(&[143, 255, 255, 255], &[88, 0, 0, 0], &[235, 255, 255, 255], &[236, 255, 255, 255]),
(&[143, 255, 255, 255], &[143, 255, 255, 255], &[16, 0, 0, 0], &[16, 0, 0, 0]),
(&[143, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[143, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[209, 3, 0, 64], &[17, 0, 0, 0], &[211, 63, 60, 60], &[212, 63, 60, 60]),
(&[209, 3, 0, 64], &[239, 255, 255, 255], &[44, 192, 195, 195], &[45, 192, 195, 195]),
(&[209, 3, 0, 64], &[88, 0, 0, 0], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[143, 255, 255, 255], &[181, 35, 240, 246], &[182, 35, 240, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[16, 0, 0, 0], &[16, 0, 0, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[240, 255, 255, 255], &[240, 255, 255, 255]),
(&[47, 252, 255, 191], &[17, 0, 0, 0], &[44, 192, 195, 195], &[45, 192, 195, 195]),
(&[47, 252, 255, 191], &[239, 255, 255, 255], &[211, 63, 60, 60], &[212, 63, 60, 60]),
(&[47, 252, 255, 191], &[88, 0, 0, 0], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[143, 255, 255, 255], &[74, 220, 15, 9], &[75, 220, 15, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[240, 255, 255, 255], &[240, 255, 255, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[16, 0, 0, 0], &[16, 0, 0, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[30, 0, 0, 0], &[31, 0, 0, 0]),
(50, &[44, 0, 0, 0], &[45, 0, 0, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[8, 0, 0, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[8, 0, 0, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[8, 0, 0, 0], &[8, 0, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[8, 0, 0, 0], &[8, 0, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[8, 0, 0, 0], &[244, 255, 255, 255], &[10, 0, 0, 0]], &[&[16, 0, 0, 0], &[4, 0, 0, 0], &[254, 255, 255, 255], &[4, 0, 0, 0], &[32, 0, 0, 0], &[1, 0, 0, 0], &[254, 255, 255, 255], &[1, 0, 0, 0], &[8, 0, 0, 0]], &[19, 0, 0, 0], &[20, 0, 0, 0], &[20, 0, 0, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[246, 164, 255, 255], &[247, 164, 255, 255], &[247, 164, 255, 255]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[216, 92, 0, 0], &[217, 92, 0, 0], &[217, 92, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[157, 5, 0, 0], &[158, 5, 0, 0], &[157, 5, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[164, 124, 255, 255], &[165, 124, 255, 255], &[165, 124, 255, 255]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[162, 154, 0, 0], &[163, 154, 0, 0], &[162, 154, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[49, 240, 255, 255], &[50, 240, 255, 255], &[49, 240, 255, 255]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[157, 105, 0, 0], &[158, 105, 0, 0], &[157, 105, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[106, 67, 255, 255], &[107, 67, 255, 255], &[106, 67, 255, 255]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[101, 217, 255, 255], &[102, 217, 255, 255], &[102, 217, 255, 255]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[93, 171, 1, 0], &[94, 171, 1, 0], &[94, 171, 1, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[182, 134, 0, 0], &[183, 134, 0, 0], &[183, 134, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[49, 176, 255, 255], &[50, 176, 255, 255], &[50, 176, 255, 255]),
(2, &[&[1, 6, 0, 0], &[0, 5, 0, 0]], &[&[1, 6, 0, 0], &[0, 2, 0, 0], &[51, 1, 0, 0], &[0, 6, 0, 0]], &[17, 118, 206, 1], &[18, 118, 206, 1], &[17, 118, 206, 1]),
(2, &[&[255, 249, 255, 255], &[0, 251, 255, 255]], &[&[1, 6, 0, 0], &[0, 2, 0, 0], &[51, 1, 0, 0], &[0, 6, 0, 0]], &[17, 118, 206, 1], &[18, 118, 206, 1], &[17, 118, 206, 1]),
(2, &[&[1, 6, 0, 0], &[0, 5, 0, 0]], &[&[255, 249, 255, 255], &[0, 254, 255, 255], &[205, 254, 255, 255], &[0, 250, 255, 255]], &[238, 137, 49, 254], &[239, 137, 49, 254], &[239, 137, 49, 254]),
(2, &[&[255, 249, 255, 255], &[0, 251, 255, 255]], &[&[255, 249, 255, 255], &[0, 254, 255, 255], &[205, 254, 255, 255], &[0, 250, 255, 255]], &[238, 137, 49, 254], &[239, 137, 49, 254], &[239, 137, 49, 254]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f5 {
pub const FRAC_BITS: u32 = 5;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[5, 0, 0, 0], &[6, 0, 0, 0]),
(&[2, 0, 0, 0], &[8, 0, 0, 0], &[8, 0, 0, 0]),
(&[3, 0, 0, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[32, 0, 0, 0], &[32, 0, 0, 0], &[32, 0, 0, 0]),
(&[64, 0, 0, 0], &[45, 0, 0, 0], &[46, 0, 0, 0]),
(&[128, 0, 0, 0], &[64, 0, 0, 0], &[64, 0, 0, 0]),
(&[16, 0, 0, 0], &[22, 0, 0, 0], &[23, 0, 0, 0]),
(&[9, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[57, 48, 0, 64], &[20, 212, 2, 0], &[21, 212, 2, 0]),
(&[255, 255, 255, 127], &[255, 255, 3, 0], &[0, 0, 4, 0]),
(&[100, 0, 0, 0], &[56, 0, 0, 0], &[57, 0, 0, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[10, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[246, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[33, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[223, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[176, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[31, 255, 255, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[91, 0, 0, 6], &[92, 0, 0, 6]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[164, 255, 255, 249], &[165, 255, 255, 249]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[10, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[246, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[33, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[223, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[176, 0, 0, 0], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[31, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[164, 255, 255, 249], &[165, 255, 255, 249]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[91, 0, 0, 6], &[92, 0, 0, 6]),
(&[10, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[10, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[10, 0, 0, 0], &[10, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[10, 0, 0, 0], &[246, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[10, 0, 0, 0], &[33, 0, 0, 0], &[10, 0, 0, 0], &[11, 0, 0, 0]),
(&[10, 0, 0, 0], &[223, 255, 255, 255], &[245, 255, 255, 255], &[246, 255, 255, 255]),
(&[10, 0, 0, 0], &[176, 0, 0, 0], &[55, 0, 0, 0], &[55, 0, 0, 0]),
(&[10, 0, 0, 0], &[31, 255, 255, 255], &[185, 255, 255, 255], &[186, 255, 255, 255]),
(&[10, 0, 0, 0], &[209, 3, 0, 64], &[49, 1, 0, 20], &[50, 1, 0, 20]),
(&[10, 0, 0, 0], &[47, 252, 255, 191], &[206, 254, 255, 235], &[207, 254, 255, 235]),
(&[246, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[246, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[246, 255, 255, 255], &[10, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[246, 255, 255, 255], &[246, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[246, 255, 255, 255], &[33, 0, 0, 0], &[245, 255, 255, 255], &[246, 255, 255, 255]),
(&[246, 255, 255, 255], &[223, 255, 255, 255], &[10, 0, 0, 0], &[11, 0, 0, 0]),
(&[246, 255, 255, 255], &[176, 0, 0, 0], &[201, 255, 255, 255], &[201, 255, 255, 255]),
(&[246, 255, 255, 255], &[31, 255, 255, 255], &[70, 0, 0, 0], &[71, 0, 0, 0]),
(&[246, 255, 255, 255], &[209, 3, 0, 64], &[206, 254, 255, 235], &[207, 254, 255, 235]),
(&[246, 255, 255, 255], &[47, 252, 255, 191], &[49, 1, 0, 20], &[50, 1, 0, 20]),
(&[33, 0, 0, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[33, 0, 0, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[33, 0, 0, 0], &[10, 0, 0, 0], &[10, 0, 0, 0], &[11, 0, 0, 0]),
(&[33, 0, 0, 0], &[246, 255, 255, 255], &[245, 255, 255, 255], &[246, 255, 255, 255]),
(&[33, 0, 0, 0], &[33, 0, 0, 0], &[34, 0, 0, 0], &[35, 0, 0, 0]),
(&[33, 0, 0, 0], &[223, 255, 255, 255], &[221, 255, 255, 255], &[222, 255, 255, 255]),
(&[33, 0, 0, 0], &[176, 0, 0, 0], &[181, 0, 0, 0], &[182, 0, 0, 0]),
(&[33, 0, 0, 0], &[31, 255, 255, 255], &[23, 255, 255, 255], &[24, 255, 255, 255]),
(&[33, 0, 0, 0], &[209, 3, 0, 64], &[239, 3, 0, 66], &[240, 3, 0, 66]),
(&[33, 0, 0, 0], &[47, 252, 255, 191], &[16, 252, 255, 189], &[17, 252, 255, 189]),
(&[223, 255, 255, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[223, 255, 255, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[223, 255, 255, 255], &[10, 0, 0, 0], &[245, 255, 255, 255], &[246, 255, 255, 255]),
(&[223, 255, 255, 255], &[246, 255, 255, 255], &[10, 0, 0, 0], &[11, 0, 0, 0]),
(&[223, 255, 255, 255], &[33, 0, 0, 0], &[221, 255, 255, 255], &[222, 255, 255, 255]),
(&[223, 255, 255, 255], &[223, 255, 255, 255], &[34, 0, 0, 0], &[35, 0, 0, 0]),
(&[223, 255, 255, 255], &[176, 0, 0, 0], &[74, 255, 255, 255], &[75, 255, 255, 255]),
(&[223, 255, 255, 255], &[31, 255, 255, 255], &[232, 0, 0, 0], &[233, 0, 0, 0]),
(&[223, 255, 255, 255], &[209, 3, 0, 64], &[16, 252, 255, 189], &[17, 252, 255, 189]),
(&[223, 255, 255, 255], &[47, 252, 255, 191], &[239, 3, 0, 66], &[240, 3, 0, 66]),
(&[176, 0, 0, 0], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[176, 0, 0, 0], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[176, 0, 0, 0], &[10, 0, 0, 0], &[55, 0, 0, 0], &[55, 0, 0, 0]),
(&[176, 0, 0, 0], &[246, 255, 255, 255], &[201, 255, 255, 255], &[201, 255, 255, 255]),
(&[176, 0, 0, 0], &[33, 0, 0, 0], &[181, 0, 0, 0], &[182, 0, 0, 0]),
(&[176, 0, 0, 0], &[223, 255, 255, 255], &[74, 255, 255, 255], &[75, 255, 255, 255]),
(&[176, 0, 0, 0], &[176, 0, 0, 0], &[200, 3, 0, 0], &[200, 3, 0, 0]),
(&[176, 0, 0, 0], &[31, 255, 255, 255], &[42, 251, 255, 255], &[43, 251, 255, 255]),
(&[31, 255, 255, 255], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[31, 255, 255, 255], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[31, 255, 255, 255], &[10, 0, 0, 0], &[185, 255, 255, 255], &[186, 255, 255, 255]),
(&[31, 255, 255, 255], &[246, 255, 255, 255], &[70, 0, 0, 0], &[71, 0, 0, 0]),
(&[31, 255, 255, 255], &[33, 0, 0, 0], &[23, 255, 255, 255], &[24, 255, 255, 255]),
(&[31, 255, 255, 255], &[223, 255, 255, 255], &[232, 0, 0, 0], &[233, 0, 0, 0]),
(&[31, 255, 255, 255], &[176, 0, 0, 0], &[42, 251, 255, 255], &[43, 251, 255, 255]),
(&[31, 255, 255, 255], &[31, 255, 255, 255], &[46, 6, 0, 0], &[47, 6, 0, 0]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[91, 0, 0, 6], &[92, 0, 0, 6]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[164, 255, 255, 249], &[165, 255, 255, 249]),
(&[209, 3, 0, 64], &[10, 0, 0, 0], &[49, 1, 0, 20], &[50, 1, 0, 20]),
(&[209, 3, 0, 64], &[246, 255, 255, 255], &[206, 254, 255, 235], &[207, 254, 255, 235]),
(&[209, 3, 0, 64], &[33, 0, 0, 0], &[239, 3, 0, 66], &[240, 3, 0, 66]),
(&[209, 3, 0, 64], &[223, 255, 255, 255], &[16, 252, 255, 189], &[17, 252, 255, 189]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[164, 255, 255, 249], &[165, 255, 255, 249]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[91, 0, 0, 6], &[92, 0, 0, 6]),
(&[47, 252, 255, 191], &[10, 0, 0, 0], &[206, 254, 255, 235], &[207, 254, 255, 235]),
(&[47, 252, 255, 191], &[246, 255, 255, 255], &[49, 1, 0, 20], &[50, 1, 0, 20]),
(&[47, 252, 255, 191], &[33, 0, 0, 0], &[16, 252, 255, 189], &[17, 252, 255, 189]),
(&[47, 252, 255, 191], &[223, 255, 255, 255], &[239, 3, 0, 66], &[240, 3, 0, 66]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[32, 0, 0, 0], &[32, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[224, 255, 255, 255], &[224, 255, 255, 255]),
(&[3, 0, 0, 0], &[10, 0, 0, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[246, 255, 255, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[33, 0, 0, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[223, 255, 255, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[176, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[31, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[224, 255, 255, 255], &[224, 255, 255, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[32, 0, 0, 0], &[32, 0, 0, 0]),
(&[253, 255, 255, 255], &[10, 0, 0, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[246, 255, 255, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[33, 0, 0, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[223, 255, 255, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[176, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[31, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[10, 0, 0, 0], &[3, 0, 0, 0], &[106, 0, 0, 0], &[107, 0, 0, 0]),
(&[10, 0, 0, 0], &[253, 255, 255, 255], &[149, 255, 255, 255], &[150, 255, 255, 255]),
(&[10, 0, 0, 0], &[10, 0, 0, 0], &[32, 0, 0, 0], &[32, 0, 0, 0]),
(&[10, 0, 0, 0], &[246, 255, 255, 255], &[224, 255, 255, 255], &[224, 255, 255, 255]),
(&[10, 0, 0, 0], &[33, 0, 0, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[10, 0, 0, 0], &[223, 255, 255, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[10, 0, 0, 0], &[176, 0, 0, 0], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[10, 0, 0, 0], &[31, 255, 255, 255], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[10, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[10, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[246, 255, 255, 255], &[3, 0, 0, 0], &[149, 255, 255, 255], &[150, 255, 255, 255]),
(&[246, 255, 255, 255], &[253, 255, 255, 255], &[106, 0, 0, 0], &[107, 0, 0, 0]),
(&[246, 255, 255, 255], &[10, 0, 0, 0], &[224, 255, 255, 255], &[224, 255, 255, 255]),
(&[246, 255, 255, 255], &[246, 255, 255, 255], &[32, 0, 0, 0], &[32, 0, 0, 0]),
(&[246, 255, 255, 255], &[33, 0, 0, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[246, 255, 255, 255], &[223, 255, 255, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[246, 255, 255, 255], &[176, 0, 0, 0], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[246, 255, 255, 255], &[31, 255, 255, 255], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[246, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[246, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[33, 0, 0, 0], &[3, 0, 0, 0], &[96, 1, 0, 0], &[96, 1, 0, 0]),
(&[33, 0, 0, 0], &[253, 255, 255, 255], &[160, 254, 255, 255], &[160, 254, 255, 255]),
(&[33, 0, 0, 0], &[10, 0, 0, 0], &[105, 0, 0, 0], &[106, 0, 0, 0]),
(&[33, 0, 0, 0], &[246, 255, 255, 255], &[150, 255, 255, 255], &[151, 255, 255, 255]),
(&[33, 0, 0, 0], &[33, 0, 0, 0], &[32, 0, 0, 0], &[32, 0, 0, 0]),
(&[33, 0, 0, 0], &[223, 255, 255, 255], &[224, 255, 255, 255], &[224, 255, 255, 255]),
(&[33, 0, 0, 0], &[176, 0, 0, 0], &[6, 0, 0, 0], &[6, 0, 0, 0]),
(&[33, 0, 0, 0], &[31, 255, 255, 255], &[251, 255, 255, 255], &[252, 255, 255, 255]),
(&[33, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[33, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[223, 255, 255, 255], &[3, 0, 0, 0], &[160, 254, 255, 255], &[160, 254, 255, 255]),
(&[223, 255, 255, 255], &[253, 255, 255, 255], &[96, 1, 0, 0], &[96, 1, 0, 0]),
(&[223, 255, 255, 255], &[10, 0, 0, 0], &[150, 255, 255, 255], &[151, 255, 255, 255]),
(&[223, 255, 255, 255], &[246, 255, 255, 255], &[105, 0, 0, 0], &[106, 0, 0, 0]),
(&[223, 255, 255, 255], &[33, 0, 0, 0], &[224, 255, 255, 255], &[224, 255, 255, 255]),
(&[223, 255, 255, 255], &[223, 255, 255, 255], &[32, 0, 0, 0], &[32, 0, 0, 0]),
(&[223, 255, 255, 255], &[176, 0, 0, 0], &[250, 255, 255, 255], &[250, 255, 255, 255]),
(&[223, 255, 255, 255], &[31, 255, 255, 255], &[4, 0, 0, 0], &[5, 0, 0, 0]),
(&[223, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[223, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[176, 0, 0, 0], &[3, 0, 0, 0], &[85, 7, 0, 0], &[86, 7, 0, 0]),
(&[176, 0, 0, 0], &[253, 255, 255, 255], &[170, 248, 255, 255], &[171, 248, 255, 255]),
(&[176, 0, 0, 0], &[10, 0, 0, 0], &[51, 2, 0, 0], &[52, 2, 0, 0]),
(&[176, 0, 0, 0], &[246, 255, 255, 255], &[204, 253, 255, 255], &[205, 253, 255, 255]),
(&[176, 0, 0, 0], &[33, 0, 0, 0], &[170, 0, 0, 0], &[171, 0, 0, 0]),
(&[176, 0, 0, 0], &[223, 255, 255, 255], &[85, 255, 255, 255], &[86, 255, 255, 255]),
(&[176, 0, 0, 0], &[176, 0, 0, 0], &[32, 0, 0, 0], &[32, 0, 0, 0]),
(&[176, 0, 0, 0], &[31, 255, 255, 255], &[230, 255, 255, 255], &[231, 255, 255, 255]),
(&[176, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[176, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[31, 255, 255, 255], &[3, 0, 0, 0], &[160, 246, 255, 255], &[160, 246, 255, 255]),
(&[31, 255, 255, 255], &[253, 255, 255, 255], &[96, 9, 0, 0], &[96, 9, 0, 0]),
(&[31, 255, 255, 255], &[10, 0, 0, 0], &[48, 253, 255, 255], &[48, 253, 255, 255]),
(&[31, 255, 255, 255], &[246, 255, 255, 255], &[208, 2, 0, 0], &[208, 2, 0, 0]),
(&[31, 255, 255, 255], &[33, 0, 0, 0], &[37, 255, 255, 255], &[38, 255, 255, 255]),
(&[31, 255, 255, 255], &[223, 255, 255, 255], &[218, 0, 0, 0], &[219, 0, 0, 0]),
(&[31, 255, 255, 255], &[176, 0, 0, 0], &[215, 255, 255, 255], &[216, 255, 255, 255]),
(&[31, 255, 255, 255], &[31, 255, 255, 255], &[32, 0, 0, 0], &[32, 0, 0, 0]),
(&[31, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[31, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[209, 3, 0, 64], &[33, 0, 0, 0], &[148, 135, 15, 62], &[149, 135, 15, 62]),
(&[209, 3, 0, 64], &[223, 255, 255, 255], &[107, 120, 240, 193], &[108, 120, 240, 193]),
(&[209, 3, 0, 64], &[176, 0, 0, 0], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[31, 255, 255, 255], &[56, 212, 229, 246], &[57, 212, 229, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[32, 0, 0, 0], &[32, 0, 0, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[224, 255, 255, 255], &[224, 255, 255, 255]),
(&[47, 252, 255, 191], &[33, 0, 0, 0], &[107, 120, 240, 193], &[108, 120, 240, 193]),
(&[47, 252, 255, 191], &[223, 255, 255, 255], &[148, 135, 15, 62], &[149, 135, 15, 62]),
(&[47, 252, 255, 191], &[176, 0, 0, 0], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[31, 255, 255, 255], &[199, 43, 26, 9], &[200, 43, 26, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[224, 255, 255, 255], &[224, 255, 255, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[32, 0, 0, 0], &[32, 0, 0, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[60, 0, 0, 0], &[61, 0, 0, 0]),
(50, &[88, 0, 0, 0], &[89, 0, 0, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[16, 0, 0, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[16, 0, 0, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[16, 0, 0, 0], &[16, 0, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[16, 0, 0, 0], &[16, 0, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[16, 0, 0, 0], &[232, 255, 255, 255], &[20, 0, 0, 0]], &[&[32, 0, 0, 0], &[8, 0, 0, 0], &[252, 255, 255, 255], &[8, 0, 0, 0], &[64, 0, 0, 0], &[2, 0, 0, 0], &[252, 255, 255, 255], &[2, 0, 0, 0], &[16, 0, 0, 0]], &[39, 0, 0, 0], &[40, 0, 0, 0], &[40, 0, 0, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[61, 233, 255, 255], &[62, 233, 255, 255], &[62, 233, 255, 255]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[54, 23, 0, 0], &[55, 23, 0, 0], &[54, 23, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[103, 1, 0, 0], &[104, 1, 0, 0], &[103, 1, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[41, 223, 255, 255], &[42, 223, 255, 255], &[41, 223, 255, 255]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[168, 38, 0, 0], &[169, 38, 0, 0], &[169, 38, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[12, 252, 255, 255], &[13, 252, 255, 255], &[12, 252, 255, 255]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[103, 26, 0, 0], &[104, 26, 0, 0], &[103, 26, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[218, 208, 255, 255], &[219, 208, 255, 255], &[219, 208, 255, 255]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[89, 246, 255, 255], &[90, 246, 255, 255], &[89, 246, 255, 255]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[215, 106, 0, 0], &[216, 106, 0, 0], &[215, 106, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[173, 33, 0, 0], &[174, 33, 0, 0], &[174, 33, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[12, 236, 255, 255], &[13, 236, 255, 255], &[12, 236, 255, 255]),
(2, &[&[1, 6, 0, 0], &[0, 5, 0, 0]], &[&[1, 6, 0, 0], &[0, 2, 0, 0], &[51, 1, 0, 0], &[0, 6, 0, 0]], &[132, 157, 115, 0], &[133, 157, 115, 0], &[132, 157, 115, 0]),
(2, &[&[255, 249, 255, 255], &[0, 251, 255, 255]], &[&[1, 6, 0, 0], &[0, 2, 0, 0], &[51, 1, 0, 0], &[0, 6, 0, 0]], &[132, 157, 115, 0], &[133, 157, 115, 0], &[132, 157, 115, 0]),
(2, &[&[1, 6, 0, 0], &[0, 5, 0, 0]], &[&[255, 249, 255, 255], &[0, 254, 255, 255], &[205, 254, 255, 255], &[0, 250, 255, 255]], &[123, 98, 140, 255], &[124, 98, 140, 255], &[124, 98, 140, 255]),
(2, &[&[255, 249, 255, 255], &[0, 251, 255, 255]], &[&[255, 249, 255, 255], &[0, 254, 255, 255], &[205, 254, 255, 255], &[0, 250, 255, 255]], &[123, 98, 140, 255], &[124, 98, 140, 255], &[124, 98, 140, 255]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f6 {
pub const FRAC_BITS: u32 = 6;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[8, 0, 0, 0], &[8, 0, 0, 0]),
(&[2, 0, 0, 0], &[11, 0, 0, 0], &[12, 0, 0, 0]),
(&[3, 0, 0, 0], &[13, 0, 0, 0], &[14, 0, 0, 0]),
(&[64, 0, 0, 0], &[64, 0, 0, 0], &[64, 0, 0, 0]),
(&[128, 0, 0, 0], &[90, 0, 0, 0], &[91, 0, 0, 0]),
(&[0, 1, 0, 0], &[128, 0, 0, 0], &[128, 0, 0, 0]),
(&[32, 0, 0, 0], &[45, 0, 0, 0], &[46, 0, 0, 0]),
(&[17, 0, 0, 0], &[32, 0, 0, 0], &[33, 0, 0, 0]),
(&[57, 48, 0, 64], &[1, 0, 4, 0], &[2, 0, 4, 0]),
(&[255, 255, 255, 127], &[39, 168, 5, 0], &[40, 168, 5, 0]),
(&[201, 0, 0, 0], &[113, 0, 0, 0], &[114, 0, 0, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[21, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[235, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[65, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[191, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[96, 1, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[63, 254, 255, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[45, 0, 0, 3], &[46, 0, 0, 3]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[210, 255, 255, 252], &[211, 255, 255, 252]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[21, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[235, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[65, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[191, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[96, 1, 0, 0], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[63, 254, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[210, 255, 255, 252], &[211, 255, 255, 252]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[45, 0, 0, 3], &[46, 0, 0, 3]),
(&[21, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[21, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[21, 0, 0, 0], &[21, 0, 0, 0], &[6, 0, 0, 0], &[7, 0, 0, 0]),
(&[21, 0, 0, 0], &[235, 255, 255, 255], &[249, 255, 255, 255], &[250, 255, 255, 255]),
(&[21, 0, 0, 0], &[65, 0, 0, 0], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[21, 0, 0, 0], &[191, 255, 255, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[21, 0, 0, 0], &[96, 1, 0, 0], &[115, 0, 0, 0], &[116, 0, 0, 0]),
(&[21, 0, 0, 0], &[63, 254, 255, 255], &[108, 255, 255, 255], &[109, 255, 255, 255]),
(&[21, 0, 0, 0], &[209, 3, 0, 64], &[64, 1, 0, 21], &[65, 1, 0, 21]),
(&[21, 0, 0, 0], &[47, 252, 255, 191], &[191, 254, 255, 234], &[192, 254, 255, 234]),
(&[235, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[235, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[235, 255, 255, 255], &[21, 0, 0, 0], &[249, 255, 255, 255], &[250, 255, 255, 255]),
(&[235, 255, 255, 255], &[235, 255, 255, 255], &[6, 0, 0, 0], &[7, 0, 0, 0]),
(&[235, 255, 255, 255], &[65, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[235, 255, 255, 255], &[191, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[235, 255, 255, 255], &[96, 1, 0, 0], &[140, 255, 255, 255], &[141, 255, 255, 255]),
(&[235, 255, 255, 255], &[63, 254, 255, 255], &[147, 0, 0, 0], &[148, 0, 0, 0]),
(&[235, 255, 255, 255], &[209, 3, 0, 64], &[191, 254, 255, 234], &[192, 254, 255, 234]),
(&[235, 255, 255, 255], &[47, 252, 255, 191], &[64, 1, 0, 21], &[65, 1, 0, 21]),
(&[65, 0, 0, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[65, 0, 0, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[65, 0, 0, 0], &[21, 0, 0, 0], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[65, 0, 0, 0], &[235, 255, 255, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[65, 0, 0, 0], &[65, 0, 0, 0], &[66, 0, 0, 0], &[67, 0, 0, 0]),
(&[65, 0, 0, 0], &[191, 255, 255, 255], &[189, 255, 255, 255], &[190, 255, 255, 255]),
(&[65, 0, 0, 0], &[96, 1, 0, 0], &[101, 1, 0, 0], &[102, 1, 0, 0]),
(&[65, 0, 0, 0], &[63, 254, 255, 255], &[55, 254, 255, 255], &[56, 254, 255, 255]),
(&[65, 0, 0, 0], &[209, 3, 0, 64], &[224, 3, 0, 65], &[225, 3, 0, 65]),
(&[65, 0, 0, 0], &[47, 252, 255, 191], &[31, 252, 255, 190], &[32, 252, 255, 190]),
(&[191, 255, 255, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[191, 255, 255, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[191, 255, 255, 255], &[21, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[191, 255, 255, 255], &[235, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[191, 255, 255, 255], &[65, 0, 0, 0], &[189, 255, 255, 255], &[190, 255, 255, 255]),
(&[191, 255, 255, 255], &[191, 255, 255, 255], &[66, 0, 0, 0], &[67, 0, 0, 0]),
(&[191, 255, 255, 255], &[96, 1, 0, 0], &[154, 254, 255, 255], &[155, 254, 255, 255]),
(&[191, 255, 255, 255], &[63, 254, 255, 255], &[200, 1, 0, 0], &[201, 1, 0, 0]),
(&[191, 255, 255, 255], &[209, 3, 0, 64], &[31, 252, 255, 190], &[32, 252, 255, 190]),
(&[191, 255, 255, 255], &[47, 252, 255, 191], &[224, 3, 0, 65], &[225, 3, 0, 65]),
(&[96, 1, 0, 0], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[96, 1, 0, 0], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[96, 1, 0, 0], &[21, 0, 0, 0], &[115, 0, 0, 0], &[116, 0, 0, 0]),
(&[96, 1, 0, 0], &[235, 255, 255, 255], &[140, 255, 255, 255], &[141, 255, 255, 255]),
(&[96, 1, 0, 0], &[65, 0, 0, 0], &[101, 1, 0, 0], &[102, 1, 0, 0]),
(&[96, 1, 0, 0], &[191, 255, 255, 255], &[154, 254, 255, 255], &[155, 254, 255, 255]),
(&[96, 1, 0, 0], &[96, 1, 0, 0], &[144, 7, 0, 0], &[144, 7, 0, 0]),
(&[96, 1, 0, 0], &[63, 254, 255, 255], &[90, 246, 255, 255], &[91, 246, 255, 255]),
(&[63, 254, 255, 255], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[63, 254, 255, 255], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[63, 254, 255, 255], &[21, 0, 0, 0], &[108, 255, 255, 255], &[109, 255, 255, 255]),
(&[63, 254, 255, 255], &[235, 255, 255, 255], &[147, 0, 0, 0], &[148, 0, 0, 0]),
(&[63, 254, 255, 255], &[65, 0, 0, 0], &[55, 254, 255, 255], &[56, 254, 255, 255]),
(&[63, 254, 255, 255], &[191, 255, 255, 255], &[200, 1, 0, 0], &[201, 1, 0, 0]),
(&[63, 254, 255, 255], &[96, 1, 0, 0], &[90, 246, 255, 255], &[91, 246, 255, 255]),
(&[63, 254, 255, 255], &[63, 254, 255, 255], &[78, 12, 0, 0], &[79, 12, 0, 0]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[45, 0, 0, 3], &[46, 0, 0, 3]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[210, 255, 255, 252], &[211, 255, 255, 252]),
(&[209, 3, 0, 64], &[21, 0, 0, 0], &[64, 1, 0, 21], &[65, 1, 0, 21]),
(&[209, 3, 0, 64], &[235, 255, 255, 255], &[191, 254, 255, 234], &[192, 254, 255, 234]),
(&[209, 3, 0, 64], &[65, 0, 0, 0], &[224, 3, 0, 65], &[225, 3, 0, 65]),
(&[209, 3, 0, 64], &[191, 255, 255, 255], &[31, 252, 255, 190], &[32, 252, 255, 190]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[210, 255, 255, 252], &[211, 255, 255, 252]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[45, 0, 0, 3], &[46, 0, 0, 3]),
(&[47, 252, 255, 191], &[21, 0, 0, 0], &[191, 254, 255, 234], &[192, 254, 255, 234]),
(&[47, 252, 255, 191], &[235, 255, 255, 255], &[64, 1, 0, 21], &[65, 1, 0, 21]),
(&[47, 252, 255, 191], &[65, 0, 0, 0], &[31, 252, 255, 190], &[32, 252, 255, 190]),
(&[47, 252, 255, 191], &[191, 255, 255, 255], &[224, 3, 0, 65], &[225, 3, 0, 65]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[64, 0, 0, 0], &[64, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[192, 255, 255, 255], &[192, 255, 255, 255]),
(&[3, 0, 0, 0], &[21, 0, 0, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[235, 255, 255, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[65, 0, 0, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[191, 255, 255, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[96, 1, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[63, 254, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[192, 255, 255, 255], &[192, 255, 255, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[64, 0, 0, 0], &[64, 0, 0, 0]),
(&[253, 255, 255, 255], &[21, 0, 0, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[235, 255, 255, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[65, 0, 0, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[191, 255, 255, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[96, 1, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[63, 254, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[21, 0, 0, 0], &[3, 0, 0, 0], &[192, 1, 0, 0], &[192, 1, 0, 0]),
(&[21, 0, 0, 0], &[253, 255, 255, 255], &[64, 254, 255, 255], &[64, 254, 255, 255]),
(&[21, 0, 0, 0], &[21, 0, 0, 0], &[64, 0, 0, 0], &[64, 0, 0, 0]),
(&[21, 0, 0, 0], &[235, 255, 255, 255], &[192, 255, 255, 255], &[192, 255, 255, 255]),
(&[21, 0, 0, 0], &[65, 0, 0, 0], &[20, 0, 0, 0], &[21, 0, 0, 0]),
(&[21, 0, 0, 0], &[191, 255, 255, 255], &[235, 255, 255, 255], &[236, 255, 255, 255]),
(&[21, 0, 0, 0], &[96, 1, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[21, 0, 0, 0], &[63, 254, 255, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[21, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[21, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[235, 255, 255, 255], &[3, 0, 0, 0], &[64, 254, 255, 255], &[64, 254, 255, 255]),
(&[235, 255, 255, 255], &[253, 255, 255, 255], &[192, 1, 0, 0], &[192, 1, 0, 0]),
(&[235, 255, 255, 255], &[21, 0, 0, 0], &[192, 255, 255, 255], &[192, 255, 255, 255]),
(&[235, 255, 255, 255], &[235, 255, 255, 255], &[64, 0, 0, 0], &[64, 0, 0, 0]),
(&[235, 255, 255, 255], &[65, 0, 0, 0], &[235, 255, 255, 255], &[236, 255, 255, 255]),
(&[235, 255, 255, 255], &[191, 255, 255, 255], &[20, 0, 0, 0], &[21, 0, 0, 0]),
(&[235, 255, 255, 255], &[96, 1, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[235, 255, 255, 255], &[63, 254, 255, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[235, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[235, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[65, 0, 0, 0], &[3, 0, 0, 0], &[106, 5, 0, 0], &[107, 5, 0, 0]),
(&[65, 0, 0, 0], &[253, 255, 255, 255], &[149, 250, 255, 255], &[150, 250, 255, 255]),
(&[65, 0, 0, 0], &[21, 0, 0, 0], &[198, 0, 0, 0], &[199, 0, 0, 0]),
(&[65, 0, 0, 0], &[235, 255, 255, 255], &[57, 255, 255, 255], &[58, 255, 255, 255]),
(&[65, 0, 0, 0], &[65, 0, 0, 0], &[64, 0, 0, 0], &[64, 0, 0, 0]),
(&[65, 0, 0, 0], &[191, 255, 255, 255], &[192, 255, 255, 255], &[192, 255, 255, 255]),
(&[65, 0, 0, 0], &[96, 1, 0, 0], &[11, 0, 0, 0], &[12, 0, 0, 0]),
(&[65, 0, 0, 0], &[63, 254, 255, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[65, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[65, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[191, 255, 255, 255], &[3, 0, 0, 0], &[149, 250, 255, 255], &[150, 250, 255, 255]),
(&[191, 255, 255, 255], &[253, 255, 255, 255], &[106, 5, 0, 0], &[107, 5, 0, 0]),
(&[191, 255, 255, 255], &[21, 0, 0, 0], &[57, 255, 255, 255], &[58, 255, 255, 255]),
(&[191, 255, 255, 255], &[235, 255, 255, 255], &[198, 0, 0, 0], &[199, 0, 0, 0]),
(&[191, 255, 255, 255], &[65, 0, 0, 0], &[192, 255, 255, 255], &[192, 255, 255, 255]),
(&[191, 255, 255, 255], &[191, 255, 255, 255], &[64, 0, 0, 0], &[64, 0, 0, 0]),
(&[191, 255, 255, 255], &[96, 1, 0, 0], &[244, 255, 255, 255], &[245, 255, 255, 255]),
(&[191, 255, 255, 255], &[63, 254, 255, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[191, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[191, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[96, 1, 0, 0], &[3, 0, 0, 0], &[85, 29, 0, 0], &[86, 29, 0, 0]),
(&[96, 1, 0, 0], &[253, 255, 255, 255], &[170, 226, 255, 255], &[171, 226, 255, 255]),
(&[96, 1, 0, 0], &[21, 0, 0, 0], &[48, 4, 0, 0], &[49, 4, 0, 0]),
(&[96, 1, 0, 0], &[235, 255, 255, 255], &[207, 251, 255, 255], &[208, 251, 255, 255]),
(&[96, 1, 0, 0], &[65, 0, 0, 0], &[90, 1, 0, 0], &[91, 1, 0, 0]),
(&[96, 1, 0, 0], &[191, 255, 255, 255], &[165, 254, 255, 255], &[166, 254, 255, 255]),
(&[96, 1, 0, 0], &[96, 1, 0, 0], &[64, 0, 0, 0], &[64, 0, 0, 0]),
(&[96, 1, 0, 0], &[63, 254, 255, 255], &[205, 255, 255, 255], &[206, 255, 255, 255]),
(&[96, 1, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[96, 1, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[63, 254, 255, 255], &[3, 0, 0, 0], &[149, 218, 255, 255], &[150, 218, 255, 255]),
(&[63, 254, 255, 255], &[253, 255, 255, 255], &[106, 37, 0, 0], &[107, 37, 0, 0]),
(&[63, 254, 255, 255], &[21, 0, 0, 0], &[167, 250, 255, 255], &[168, 250, 255, 255]),
(&[63, 254, 255, 255], &[235, 255, 255, 255], &[88, 5, 0, 0], &[89, 5, 0, 0]),
(&[63, 254, 255, 255], &[65, 0, 0, 0], &[69, 254, 255, 255], &[70, 254, 255, 255]),
(&[63, 254, 255, 255], &[191, 255, 255, 255], &[186, 1, 0, 0], &[187, 1, 0, 0]),
(&[63, 254, 255, 255], &[96, 1, 0, 0], &[174, 255, 255, 255], &[175, 255, 255, 255]),
(&[63, 254, 255, 255], &[63, 254, 255, 255], &[64, 0, 0, 0], &[64, 0, 0, 0]),
(&[63, 254, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[63, 254, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[209, 3, 0, 64], &[65, 0, 0, 0], &[0, 244, 3, 63], &[1, 244, 3, 63]),
(&[209, 3, 0, 64], &[191, 255, 255, 255], &[255, 11, 252, 192], &[0, 12, 252, 192]),
(&[209, 3, 0, 64], &[96, 1, 0, 0], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[63, 254, 255, 255], &[169, 163, 224, 246], &[170, 163, 224, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[64, 0, 0, 0], &[64, 0, 0, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[192, 255, 255, 255], &[192, 255, 255, 255]),
(&[47, 252, 255, 191], &[65, 0, 0, 0], &[255, 11, 252, 192], &[0, 12, 252, 192]),
(&[47, 252, 255, 191], &[191, 255, 255, 255], &[0, 244, 3, 63], &[1, 244, 3, 63]),
(&[47, 252, 255, 191], &[96, 1, 0, 0], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[63, 254, 255, 255], &[86, 92, 31, 9], &[87, 92, 31, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[192, 255, 255, 255], &[192, 255, 255, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[64, 0, 0, 0], &[64, 0, 0, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[121, 0, 0, 0], &[122, 0, 0, 0]),
(50, &[176, 0, 0, 0], &[177, 0, 0, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[32, 0, 0, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[32, 0, 0, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[32, 0, 0, 0], &[32, 0, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[32, 0, 0, 0], &[32, 0, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[32, 0, 0, 0], &[208, 255, 255, 255], &[40, 0, 0, 0]], &[&[64, 0, 0, 0], &[16, 0, 0, 0], &[248, 255, 255, 255], &[16, 0, 0, 0], &[128, 0, 0, 0], &[4, 0, 0, 0], &[248, 255, 255, 255], &[4, 0, 0, 0], &[32, 0, 0, 0]], &[79, 0, 0, 0], &[80, 0, 0, 0], &[80, 0, 0, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[79, 250, 255, 255], &[80, 250, 255, 255], &[79, 250, 255, 255]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[205, 5, 0, 0], &[206, 5, 0, 0], &[206, 5, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[89, 0, 0, 0], &[90, 0, 0, 0], &[90, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[202, 247, 255, 255], &[203, 247, 255, 255], &[202, 247, 255, 255]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[170, 9, 0, 0], &[171, 9, 0, 0], &[170, 9, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[3, 255, 255, 255], &[4, 255, 255, 255], &[3, 255, 255, 255]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[153, 6, 0, 0], &[154, 6, 0, 0], &[154, 6, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[54, 244, 255, 255], &[55, 244, 255, 255], &[55, 244, 255, 255]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[150, 253, 255, 255], &[151, 253, 255, 255], &[150, 253, 255, 255]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[181, 26, 0, 0], &[182, 26, 0, 0], &[182, 26, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[107, 8, 0, 0], &[108, 8, 0, 0], &[107, 8, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[3, 251, 255, 255], &[4, 251, 255, 255], &[3, 251, 255, 255]),
(2, &[&[1, 12, 0, 0], &[0, 10, 0, 0]], &[&[1, 12, 0, 0], &[0, 4, 0, 0], &[102, 2, 0, 0], &[0, 12, 0, 0]], &[2, 28, 231, 0], &[3, 28, 231, 0], &[2, 28, 231, 0]),
(2, &[&[255, 243, 255, 255], &[0, 246, 255, 255]], &[&[1, 12, 0, 0], &[0, 4, 0, 0], &[102, 2, 0, 0], &[0, 12, 0, 0]], &[2, 28, 231, 0], &[3, 28, 231, 0], &[2, 28, 231, 0]),
(2, &[&[1, 12, 0, 0], &[0, 10, 0, 0]], &[&[255, 243, 255, 255], &[0, 252, 255, 255], &[154, 253, 255, 255], &[0, 244, 255, 255]], &[253, 227, 24, 255], &[254, 227, 24, 255], &[254, 227, 24, 255]),
(2, &[&[255, 243, 255, 255], &[0, 246, 255, 255]], &[&[255, 243, 255, 255], &[0, 252, 255, 255], &[154, 253, 255, 255], &[0, 244, 255, 255]], &[253, 227, 24, 255], &[254, 227, 24, 255], &[254, 227, 24, 255]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f7 {
pub const FRAC_BITS: u32 = 7;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[11, 0, 0, 0], &[12, 0, 0, 0]),
(&[2, 0, 0, 0], &[16, 0, 0, 0], &[16, 0, 0, 0]),
(&[3, 0, 0, 0], &[19, 0, 0, 0], &[20, 0, 0, 0]),
(&[128, 0, 0, 0], &[128, 0, 0, 0], &[128, 0, 0, 0]),
(&[0, 1, 0, 0], &[181, 0, 0, 0], &[182, 0, 0, 0]),
(&[0, 2, 0, 0], &[0, 1, 0, 0], &[0, 1, 0, 0]),
(&[64, 0, 0, 0], &[90, 0, 0, 0], &[91, 0, 0, 0]),
(&[33, 0, 0, 0], &[64, 0, 0, 0], &[65, 0, 0, 0]),
(&[57, 48, 0, 64], &[41, 168, 5, 0], &[42, 168, 5, 0]),
(&[255, 255, 255, 127], &[255, 255, 7, 0], &[0, 0, 8, 0]),
(&[146, 1, 0, 0], &[226, 0, 0, 0], &[227, 0, 0, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[42, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[214, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[129, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[127, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[192, 2, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[127, 252, 255, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[22, 0, 128, 1], &[23, 0, 128, 1]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[233, 255, 127, 254], &[234, 255, 127, 254]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[42, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[214, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[129, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[127, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[192, 2, 0, 0], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[127, 252, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[233, 255, 127, 254], &[234, 255, 127, 254]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[22, 0, 128, 1], &[23, 0, 128, 1]),
(&[42, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[42, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[42, 0, 0, 0], &[42, 0, 0, 0], &[13, 0, 0, 0], &[14, 0, 0, 0]),
(&[42, 0, 0, 0], &[214, 255, 255, 255], &[242, 255, 255, 255], &[243, 255, 255, 255]),
(&[42, 0, 0, 0], &[129, 0, 0, 0], &[42, 0, 0, 0], &[43, 0, 0, 0]),
(&[42, 0, 0, 0], &[127, 255, 255, 255], &[213, 255, 255, 255], &[214, 255, 255, 255]),
(&[42, 0, 0, 0], &[192, 2, 0, 0], &[231, 0, 0, 0], &[231, 0, 0, 0]),
(&[42, 0, 0, 0], &[127, 252, 255, 255], &[217, 254, 255, 255], &[218, 254, 255, 255]),
(&[42, 0, 0, 0], &[209, 3, 0, 64], &[64, 1, 0, 21], &[65, 1, 0, 21]),
(&[42, 0, 0, 0], &[47, 252, 255, 191], &[191, 254, 255, 234], &[192, 254, 255, 234]),
(&[214, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[214, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[214, 255, 255, 255], &[42, 0, 0, 0], &[242, 255, 255, 255], &[243, 255, 255, 255]),
(&[214, 255, 255, 255], &[214, 255, 255, 255], &[13, 0, 0, 0], &[14, 0, 0, 0]),
(&[214, 255, 255, 255], &[129, 0, 0, 0], &[213, 255, 255, 255], &[214, 255, 255, 255]),
(&[214, 255, 255, 255], &[127, 255, 255, 255], &[42, 0, 0, 0], &[43, 0, 0, 0]),
(&[214, 255, 255, 255], &[192, 2, 0, 0], &[25, 255, 255, 255], &[25, 255, 255, 255]),
(&[214, 255, 255, 255], &[127, 252, 255, 255], &[38, 1, 0, 0], &[39, 1, 0, 0]),
(&[214, 255, 255, 255], &[209, 3, 0, 64], &[191, 254, 255, 234], &[192, 254, 255, 234]),
(&[214, 255, 255, 255], &[47, 252, 255, 191], &[64, 1, 0, 21], &[65, 1, 0, 21]),
(&[129, 0, 0, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[129, 0, 0, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[129, 0, 0, 0], &[42, 0, 0, 0], &[42, 0, 0, 0], &[43, 0, 0, 0]),
(&[129, 0, 0, 0], &[214, 255, 255, 255], &[213, 255, 255, 255], &[214, 255, 255, 255]),
(&[129, 0, 0, 0], &[129, 0, 0, 0], &[130, 0, 0, 0], &[131, 0, 0, 0]),
(&[129, 0, 0, 0], &[127, 255, 255, 255], &[125, 255, 255, 255], &[126, 255, 255, 255]),
(&[129, 0, 0, 0], &[192, 2, 0, 0], &[197, 2, 0, 0], &[198, 2, 0, 0]),
(&[129, 0, 0, 0], &[127, 252, 255, 255], &[119, 252, 255, 255], &[120, 252, 255, 255]),
(&[129, 0, 0, 0], &[209, 3, 0, 64], &[216, 3, 128, 64], &[217, 3, 128, 64]),
(&[129, 0, 0, 0], &[47, 252, 255, 191], &[39, 252, 127, 191], &[40, 252, 127, 191]),
(&[127, 255, 255, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[127, 255, 255, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[127, 255, 255, 255], &[42, 0, 0, 0], &[213, 255, 255, 255], &[214, 255, 255, 255]),
(&[127, 255, 255, 255], &[214, 255, 255, 255], &[42, 0, 0, 0], &[43, 0, 0, 0]),
(&[127, 255, 255, 255], &[129, 0, 0, 0], &[125, 255, 255, 255], &[126, 255, 255, 255]),
(&[127, 255, 255, 255], &[127, 255, 255, 255], &[130, 0, 0, 0], &[131, 0, 0, 0]),
(&[127, 255, 255, 255], &[192, 2, 0, 0], &[58, 253, 255, 255], &[59, 253, 255, 255]),
(&[127, 255, 255, 255], &[127, 252, 255, 255], &[136, 3, 0, 0], &[137, 3, 0, 0]),
(&[127, 255, 255, 255], &[209, 3, 0, 64], &[39, 252, 127, 191], &[40, 252, 127, 191]),
(&[127, 255, 255, 255], &[47, 252, 255, 191], &[216, 3, 128, 64], &[217, 3, 128, 64]),
(&[192, 2, 0, 0], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[192, 2, 0, 0], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[192, 2, 0, 0], &[42, 0, 0, 0], &[231, 0, 0, 0], &[231, 0, 0, 0]),
(&[192, 2, 0, 0], &[214, 255, 255, 255], &[25, 255, 255, 255], &[25, 255, 255, 255]),
(&[192, 2, 0, 0], &[129, 0, 0, 0], &[197, 2, 0, 0], &[198, 2, 0, 0]),
(&[192, 2, 0, 0], &[127, 255, 255, 255], &[58, 253, 255, 255], &[59, 253, 255, 255]),
(&[192, 2, 0, 0], &[192, 2, 0, 0], &[32, 15, 0, 0], &[32, 15, 0, 0]),
(&[192, 2, 0, 0], &[127, 252, 255, 255], &[186, 236, 255, 255], &[187, 236, 255, 255]),
(&[127, 252, 255, 255], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[127, 252, 255, 255], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[127, 252, 255, 255], &[42, 0, 0, 0], &[217, 254, 255, 255], &[218, 254, 255, 255]),
(&[127, 252, 255, 255], &[214, 255, 255, 255], &[38, 1, 0, 0], &[39, 1, 0, 0]),
(&[127, 252, 255, 255], &[129, 0, 0, 0], &[119, 252, 255, 255], &[120, 252, 255, 255]),
(&[127, 252, 255, 255], &[127, 255, 255, 255], &[136, 3, 0, 0], &[137, 3, 0, 0]),
(&[127, 252, 255, 255], &[192, 2, 0, 0], &[186, 236, 255, 255], &[187, 236, 255, 255]),
(&[127, 252, 255, 255], &[127, 252, 255, 255], &[142, 24, 0, 0], &[143, 24, 0, 0]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[22, 0, 128, 1], &[23, 0, 128, 1]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[233, 255, 127, 254], &[234, 255, 127, 254]),
(&[209, 3, 0, 64], &[42, 0, 0, 0], &[64, 1, 0, 21], &[65, 1, 0, 21]),
(&[209, 3, 0, 64], &[214, 255, 255, 255], &[191, 254, 255, 234], &[192, 254, 255, 234]),
(&[209, 3, 0, 64], &[129, 0, 0, 0], &[216, 3, 128, 64], &[217, 3, 128, 64]),
(&[209, 3, 0, 64], &[127, 255, 255, 255], &[39, 252, 127, 191], &[40, 252, 127, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[233, 255, 127, 254], &[234, 255, 127, 254]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[22, 0, 128, 1], &[23, 0, 128, 1]),
(&[47, 252, 255, 191], &[42, 0, 0, 0], &[191, 254, 255, 234], &[192, 254, 255, 234]),
(&[47, 252, 255, 191], &[214, 255, 255, 255], &[64, 1, 0, 21], &[65, 1, 0, 21]),
(&[47, 252, 255, 191], &[129, 0, 0, 0], &[39, 252, 127, 191], &[40, 252, 127, 191]),
(&[47, 252, 255, 191], &[127, 255, 255, 255], &[216, 3, 128, 64], &[217, 3, 128, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[128, 0, 0, 0], &[128, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[128, 255, 255, 255], &[128, 255, 255, 255]),
(&[3, 0, 0, 0], &[42, 0, 0, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[214, 255, 255, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[129, 0, 0, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[127, 255, 255, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[192, 2, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[127, 252, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[128, 255, 255, 255], &[128, 255, 255, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[128, 0, 0, 0], &[128, 0, 0, 0]),
(&[253, 255, 255, 255], &[42, 0, 0, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[214, 255, 255, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[129, 0, 0, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[127, 255, 255, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[192, 2, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[127, 252, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[42, 0, 0, 0], &[3, 0, 0, 0], &[0, 7, 0, 0], &[0, 7, 0, 0]),
(&[42, 0, 0, 0], &[253, 255, 255, 255], &[0, 249, 255, 255], &[0, 249, 255, 255]),
(&[42, 0, 0, 0], &[42, 0, 0, 0], &[128, 0, 0, 0], &[128, 0, 0, 0]),
(&[42, 0, 0, 0], &[214, 255, 255, 255], &[128, 255, 255, 255], &[128, 255, 255, 255]),
(&[42, 0, 0, 0], &[129, 0, 0, 0], &[41, 0, 0, 0], &[42, 0, 0, 0]),
(&[42, 0, 0, 0], &[127, 255, 255, 255], &[214, 255, 255, 255], &[215, 255, 255, 255]),
(&[42, 0, 0, 0], &[192, 2, 0, 0], &[7, 0, 0, 0], &[8, 0, 0, 0]),
(&[42, 0, 0, 0], &[127, 252, 255, 255], &[250, 255, 255, 255], &[251, 255, 255, 255]),
(&[42, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[42, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[214, 255, 255, 255], &[3, 0, 0, 0], &[0, 249, 255, 255], &[0, 249, 255, 255]),
(&[214, 255, 255, 255], &[253, 255, 255, 255], &[0, 7, 0, 0], &[0, 7, 0, 0]),
(&[214, 255, 255, 255], &[42, 0, 0, 0], &[128, 255, 255, 255], &[128, 255, 255, 255]),
(&[214, 255, 255, 255], &[214, 255, 255, 255], &[128, 0, 0, 0], &[128, 0, 0, 0]),
(&[214, 255, 255, 255], &[129, 0, 0, 0], &[214, 255, 255, 255], &[215, 255, 255, 255]),
(&[214, 255, 255, 255], &[127, 255, 255, 255], &[41, 0, 0, 0], &[42, 0, 0, 0]),
(&[214, 255, 255, 255], &[192, 2, 0, 0], &[248, 255, 255, 255], &[249, 255, 255, 255]),
(&[214, 255, 255, 255], &[127, 252, 255, 255], &[5, 0, 0, 0], &[6, 0, 0, 0]),
(&[214, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[214, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[129, 0, 0, 0], &[3, 0, 0, 0], &[128, 21, 0, 0], &[128, 21, 0, 0]),
(&[129, 0, 0, 0], &[253, 255, 255, 255], &[128, 234, 255, 255], &[128, 234, 255, 255]),
(&[129, 0, 0, 0], &[42, 0, 0, 0], &[137, 1, 0, 0], &[138, 1, 0, 0]),
(&[129, 0, 0, 0], &[214, 255, 255, 255], &[118, 254, 255, 255], &[119, 254, 255, 255]),
(&[129, 0, 0, 0], &[129, 0, 0, 0], &[128, 0, 0, 0], &[128, 0, 0, 0]),
(&[129, 0, 0, 0], &[127, 255, 255, 255], &[128, 255, 255, 255], &[128, 255, 255, 255]),
(&[129, 0, 0, 0], &[192, 2, 0, 0], &[23, 0, 0, 0], &[24, 0, 0, 0]),
(&[129, 0, 0, 0], &[127, 252, 255, 255], &[237, 255, 255, 255], &[238, 255, 255, 255]),
(&[129, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[129, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[127, 255, 255, 255], &[3, 0, 0, 0], &[128, 234, 255, 255], &[128, 234, 255, 255]),
(&[127, 255, 255, 255], &[253, 255, 255, 255], &[128, 21, 0, 0], &[128, 21, 0, 0]),
(&[127, 255, 255, 255], &[42, 0, 0, 0], &[118, 254, 255, 255], &[119, 254, 255, 255]),
(&[127, 255, 255, 255], &[214, 255, 255, 255], &[137, 1, 0, 0], &[138, 1, 0, 0]),
(&[127, 255, 255, 255], &[129, 0, 0, 0], &[128, 255, 255, 255], &[128, 255, 255, 255]),
(&[127, 255, 255, 255], &[127, 255, 255, 255], &[128, 0, 0, 0], &[128, 0, 0, 0]),
(&[127, 255, 255, 255], &[192, 2, 0, 0], &[232, 255, 255, 255], &[233, 255, 255, 255]),
(&[127, 255, 255, 255], &[127, 252, 255, 255], &[18, 0, 0, 0], &[19, 0, 0, 0]),
(&[127, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[127, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[192, 2, 0, 0], &[3, 0, 0, 0], &[85, 117, 0, 0], &[86, 117, 0, 0]),
(&[192, 2, 0, 0], &[253, 255, 255, 255], &[170, 138, 255, 255], &[171, 138, 255, 255]),
(&[192, 2, 0, 0], &[42, 0, 0, 0], &[97, 8, 0, 0], &[98, 8, 0, 0]),
(&[192, 2, 0, 0], &[214, 255, 255, 255], &[158, 247, 255, 255], &[159, 247, 255, 255]),
(&[192, 2, 0, 0], &[129, 0, 0, 0], &[186, 2, 0, 0], &[187, 2, 0, 0]),
(&[192, 2, 0, 0], &[127, 255, 255, 255], &[69, 253, 255, 255], &[70, 253, 255, 255]),
(&[192, 2, 0, 0], &[192, 2, 0, 0], &[128, 0, 0, 0], &[128, 0, 0, 0]),
(&[192, 2, 0, 0], &[127, 252, 255, 255], &[155, 255, 255, 255], &[156, 255, 255, 255]),
(&[192, 2, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[192, 2, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[127, 252, 255, 255], &[3, 0, 0, 0], &[128, 106, 255, 255], &[128, 106, 255, 255]),
(&[127, 252, 255, 255], &[253, 255, 255, 255], &[128, 149, 0, 0], &[128, 149, 0, 0]),
(&[127, 252, 255, 255], &[42, 0, 0, 0], &[82, 245, 255, 255], &[83, 245, 255, 255]),
(&[127, 252, 255, 255], &[214, 255, 255, 255], &[173, 10, 0, 0], &[174, 10, 0, 0]),
(&[127, 252, 255, 255], &[129, 0, 0, 0], &[133, 252, 255, 255], &[134, 252, 255, 255]),
(&[127, 252, 255, 255], &[127, 255, 255, 255], &[122, 3, 0, 0], &[123, 3, 0, 0]),
(&[127, 252, 255, 255], &[192, 2, 0, 0], &[92, 255, 255, 255], &[93, 255, 255, 255]),
(&[127, 252, 255, 255], &[127, 252, 255, 255], &[128, 0, 0, 0], &[128, 0, 0, 0]),
(&[127, 252, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[127, 252, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[209, 3, 0, 64], &[129, 0, 0, 0], &[205, 1, 129, 63], &[206, 1, 129, 63]),
(&[209, 3, 0, 64], &[127, 255, 255, 255], &[50, 254, 126, 192], &[51, 254, 126, 192]),
(&[209, 3, 0, 64], &[192, 2, 0, 0], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[127, 252, 255, 255], &[40, 9, 222, 246], &[41, 9, 222, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[128, 0, 0, 0], &[128, 0, 0, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[128, 255, 255, 255], &[128, 255, 255, 255]),
(&[47, 252, 255, 191], &[129, 0, 0, 0], &[50, 254, 126, 192], &[51, 254, 126, 192]),
(&[47, 252, 255, 191], &[127, 255, 255, 255], &[205, 1, 129, 63], &[206, 1, 129, 63]),
(&[47, 252, 255, 191], &[192, 2, 0, 0], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[127, 252, 255, 255], &[215, 246, 33, 9], &[216, 246, 33, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[128, 255, 255, 255], &[128, 255, 255, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[128, 0, 0, 0], &[128, 0, 0, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[242, 0, 0, 0], &[243, 0, 0, 0]),
(50, &[96, 1, 0, 0], &[97, 1, 0, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[64, 0, 0, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[64, 0, 0, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[64, 0, 0, 0], &[64, 0, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[64, 0, 0, 0], &[64, 0, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[64, 0, 0, 0], &[160, 255, 255, 255], &[80, 0, 0, 0]], &[&[128, 0, 0, 0], &[32, 0, 0, 0], &[240, 255, 255, 255], &[32, 0, 0, 0], &[0, 1, 0, 0], &[8, 0, 0, 0], &[240, 255, 255, 255], &[8, 0, 0, 0], &[64, 0, 0, 0]], &[159, 0, 0, 0], &[160, 0, 0, 0], &[160, 0, 0, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[147, 254, 255, 255], &[148, 254, 255, 255], &[148, 254, 255, 255]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[115, 1, 0, 0], &[116, 1, 0, 0], &[115, 1, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[22, 0, 0, 0], &[23, 0, 0, 0], &[22, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[242, 253, 255, 255], &[243, 253, 255, 255], &[243, 253, 255, 255]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[106, 2, 0, 0], &[107, 2, 0, 0], &[107, 2, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[192, 255, 255, 255], &[193, 255, 255, 255], &[193, 255, 255, 255]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[166, 1, 0, 0], &[167, 1, 0, 0], &[166, 1, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[13, 253, 255, 255], &[14, 253, 255, 255], &[14, 253, 255, 255]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[101, 255, 255, 255], &[102, 255, 255, 255], &[102, 255, 255, 255]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[173, 6, 0, 0], &[174, 6, 0, 0], &[173, 6, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[26, 2, 0, 0], &[27, 2, 0, 0], &[27, 2, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[192, 254, 255, 255], &[193, 254, 255, 255], &[193, 254, 255, 255]),
(2, &[&[1, 24, 0, 0], &[0, 20, 0, 0]], &[&[1, 24, 0, 0], &[0, 8, 0, 0], &[205, 4, 0, 0], &[0, 24, 0, 0]], &[129, 32, 206, 1], &[130, 32, 206, 1], &[129, 32, 206, 1]),
(2, &[&[255, 231, 255, 255], &[0, 236, 255, 255]], &[&[1, 24, 0, 0], &[0, 8, 0, 0], &[205, 4, 0, 0], &[0, 24, 0, 0]], &[129, 32, 206, 1], &[130, 32, 206, 1], &[129, 32, 206, 1]),
(2, &[&[1, 24, 0, 0], &[0, 20, 0, 0]], &[&[255, 231, 255, 255], &[0, 248, 255, 255], &[51, 251, 255, 255], &[0, 232, 255, 255]], &[126, 223, 49, 254], &[127, 223, 49, 254], &[127, 223, 49, 254]),
(2, &[&[255, 231, 255, 255], &[0, 236, 255, 255]], &[&[255, 231, 255, 255], &[0, 248, 255, 255], &[51, 251, 255, 255], &[0, 232, 255, 255]], &[126, 223, 49, 254], &[127, 223, 49, 254], &[127, 223, 49, 254]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f8 {
pub const FRAC_BITS: u32 = 8;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[16, 0, 0, 0], &[16, 0, 0, 0]),
(&[2, 0, 0, 0], &[22, 0, 0, 0], &[23, 0, 0, 0]),
(&[3, 0, 0, 0], &[27, 0, 0, 0], &[28, 0, 0, 0]),
(&[0, 1, 0, 0], &[0, 1, 0, 0], &[0, 1, 0, 0]),
(&[0, 2, 0, 0], &[106, 1, 0, 0], &[107, 1, 0, 0]),
(&[0, 4, 0, 0], &[0, 2, 0, 0], &[0, 2, 0, 0]),
(&[128, 0, 0, 0], &[181, 0, 0, 0], &[182, 0, 0, 0]),
(&[65, 0, 0, 0], &[128, 0, 0, 0], &[129, 0, 0, 0]),
(&[57, 48, 0, 64], &[3, 0, 8, 0], &[4, 0, 8, 0]),
(&[255, 255, 255, 127], &[79, 80, 11, 0], &[80, 80, 11, 0]),
(&[36, 3, 0, 0], &[197, 1, 0, 0], &[198, 1, 0, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[85, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 1, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 254, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[128, 5, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 248, 255, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[11, 0, 192, 0], &[12, 0, 192, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[244, 255, 63, 255], &[245, 255, 63, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[85, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[171, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 1, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 254, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[128, 5, 0, 0], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 248, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[244, 255, 63, 255], &[245, 255, 63, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[11, 0, 192, 0], &[12, 0, 192, 0]),
(&[85, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[85, 0, 0, 0], &[85, 0, 0, 0], &[28, 0, 0, 0], &[29, 0, 0, 0]),
(&[85, 0, 0, 0], &[171, 255, 255, 255], &[227, 255, 255, 255], &[228, 255, 255, 255]),
(&[85, 0, 0, 0], &[1, 1, 0, 0], &[85, 0, 0, 0], &[86, 0, 0, 0]),
(&[85, 0, 0, 0], &[255, 254, 255, 255], &[170, 255, 255, 255], &[171, 255, 255, 255]),
(&[85, 0, 0, 0], &[128, 5, 0, 0], &[211, 1, 0, 0], &[212, 1, 0, 0]),
(&[85, 0, 0, 0], &[255, 248, 255, 255], &[172, 253, 255, 255], &[173, 253, 255, 255]),
(&[85, 0, 0, 0], &[209, 3, 0, 64], &[68, 1, 64, 21], &[69, 1, 64, 21]),
(&[85, 0, 0, 0], &[47, 252, 255, 191], &[187, 254, 191, 234], &[188, 254, 191, 234]),
(&[171, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[171, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[171, 255, 255, 255], &[85, 0, 0, 0], &[227, 255, 255, 255], &[228, 255, 255, 255]),
(&[171, 255, 255, 255], &[171, 255, 255, 255], &[28, 0, 0, 0], &[29, 0, 0, 0]),
(&[171, 255, 255, 255], &[1, 1, 0, 0], &[170, 255, 255, 255], &[171, 255, 255, 255]),
(&[171, 255, 255, 255], &[255, 254, 255, 255], &[85, 0, 0, 0], &[86, 0, 0, 0]),
(&[171, 255, 255, 255], &[128, 5, 0, 0], &[44, 254, 255, 255], &[45, 254, 255, 255]),
(&[171, 255, 255, 255], &[255, 248, 255, 255], &[83, 2, 0, 0], &[84, 2, 0, 0]),
(&[171, 255, 255, 255], &[209, 3, 0, 64], &[187, 254, 191, 234], &[188, 254, 191, 234]),
(&[171, 255, 255, 255], &[47, 252, 255, 191], &[68, 1, 64, 21], &[69, 1, 64, 21]),
(&[1, 1, 0, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 1, 0, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 1, 0, 0], &[85, 0, 0, 0], &[85, 0, 0, 0], &[86, 0, 0, 0]),
(&[1, 1, 0, 0], &[171, 255, 255, 255], &[170, 255, 255, 255], &[171, 255, 255, 255]),
(&[1, 1, 0, 0], &[1, 1, 0, 0], &[2, 1, 0, 0], &[3, 1, 0, 0]),
(&[1, 1, 0, 0], &[255, 254, 255, 255], &[253, 254, 255, 255], &[254, 254, 255, 255]),
(&[1, 1, 0, 0], &[128, 5, 0, 0], &[133, 5, 0, 0], &[134, 5, 0, 0]),
(&[1, 1, 0, 0], &[255, 248, 255, 255], &[247, 248, 255, 255], &[248, 248, 255, 255]),
(&[1, 1, 0, 0], &[209, 3, 0, 64], &[212, 3, 64, 64], &[213, 3, 64, 64]),
(&[1, 1, 0, 0], &[47, 252, 255, 191], &[43, 252, 191, 191], &[44, 252, 191, 191]),
(&[255, 254, 255, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 254, 255, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 254, 255, 255], &[85, 0, 0, 0], &[170, 255, 255, 255], &[171, 255, 255, 255]),
(&[255, 254, 255, 255], &[171, 255, 255, 255], &[85, 0, 0, 0], &[86, 0, 0, 0]),
(&[255, 254, 255, 255], &[1, 1, 0, 0], &[253, 254, 255, 255], &[254, 254, 255, 255]),
(&[255, 254, 255, 255], &[255, 254, 255, 255], &[2, 1, 0, 0], &[3, 1, 0, 0]),
(&[255, 254, 255, 255], &[128, 5, 0, 0], &[122, 250, 255, 255], &[123, 250, 255, 255]),
(&[255, 254, 255, 255], &[255, 248, 255, 255], &[8, 7, 0, 0], &[9, 7, 0, 0]),
(&[255, 254, 255, 255], &[209, 3, 0, 64], &[43, 252, 191, 191], &[44, 252, 191, 191]),
(&[255, 254, 255, 255], &[47, 252, 255, 191], &[212, 3, 64, 64], &[213, 3, 64, 64]),
(&[128, 5, 0, 0], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[128, 5, 0, 0], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[128, 5, 0, 0], &[85, 0, 0, 0], &[211, 1, 0, 0], &[212, 1, 0, 0]),
(&[128, 5, 0, 0], &[171, 255, 255, 255], &[44, 254, 255, 255], &[45, 254, 255, 255]),
(&[128, 5, 0, 0], &[1, 1, 0, 0], &[133, 5, 0, 0], &[134, 5, 0, 0]),
(&[128, 5, 0, 0], &[255, 254, 255, 255], &[122, 250, 255, 255], &[123, 250, 255, 255]),
(&[128, 5, 0, 0], &[128, 5, 0, 0], &[64, 30, 0, 0], &[64, 30, 0, 0]),
(&[128, 5, 0, 0], &[255, 248, 255, 255], &[122, 217, 255, 255], &[123, 217, 255, 255]),
(&[255, 248, 255, 255], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 248, 255, 255], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[255, 248, 255, 255], &[85, 0, 0, 0], &[172, 253, 255, 255], &[173, 253, 255, 255]),
(&[255, 248, 255, 255], &[171, 255, 255, 255], &[83, 2, 0, 0], &[84, 2, 0, 0]),
(&[255, 248, 255, 255], &[1, 1, 0, 0], &[247, 248, 255, 255], &[248, 248, 255, 255]),
(&[255, 248, 255, 255], &[255, 254, 255, 255], &[8, 7, 0, 0], &[9, 7, 0, 0]),
(&[255, 248, 255, 255], &[128, 5, 0, 0], &[122, 217, 255, 255], &[123, 217, 255, 255]),
(&[255, 248, 255, 255], &[255, 248, 255, 255], &[14, 49, 0, 0], &[15, 49, 0, 0]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[11, 0, 192, 0], &[12, 0, 192, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[244, 255, 63, 255], &[245, 255, 63, 255]),
(&[209, 3, 0, 64], &[85, 0, 0, 0], &[68, 1, 64, 21], &[69, 1, 64, 21]),
(&[209, 3, 0, 64], &[171, 255, 255, 255], &[187, 254, 191, 234], &[188, 254, 191, 234]),
(&[209, 3, 0, 64], &[1, 1, 0, 0], &[212, 3, 64, 64], &[213, 3, 64, 64]),
(&[209, 3, 0, 64], &[255, 254, 255, 255], &[43, 252, 191, 191], &[44, 252, 191, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[244, 255, 63, 255], &[245, 255, 63, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[11, 0, 192, 0], &[12, 0, 192, 0]),
(&[47, 252, 255, 191], &[85, 0, 0, 0], &[187, 254, 191, 234], &[188, 254, 191, 234]),
(&[47, 252, 255, 191], &[171, 255, 255, 255], &[68, 1, 64, 21], &[69, 1, 64, 21]),
(&[47, 252, 255, 191], &[1, 1, 0, 0], &[43, 252, 191, 191], &[44, 252, 191, 191]),
(&[47, 252, 255, 191], &[255, 254, 255, 255], &[212, 3, 64, 64], &[213, 3, 64, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 1, 0, 0], &[0, 1, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 255, 255, 255], &[0, 255, 255, 255]),
(&[3, 0, 0, 0], &[85, 0, 0, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 255, 255, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 1, 0, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 254, 255, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[128, 5, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 248, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 255, 255, 255], &[0, 255, 255, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 1, 0, 0], &[0, 1, 0, 0]),
(&[253, 255, 255, 255], &[85, 0, 0, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[171, 255, 255, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 1, 0, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 254, 255, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[128, 5, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 248, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 0, 0, 0], &[3, 0, 0, 0], &[85, 28, 0, 0], &[86, 28, 0, 0]),
(&[85, 0, 0, 0], &[253, 255, 255, 255], &[170, 227, 255, 255], &[171, 227, 255, 255]),
(&[85, 0, 0, 0], &[85, 0, 0, 0], &[0, 1, 0, 0], &[0, 1, 0, 0]),
(&[85, 0, 0, 0], &[171, 255, 255, 255], &[0, 255, 255, 255], &[0, 255, 255, 255]),
(&[85, 0, 0, 0], &[1, 1, 0, 0], &[84, 0, 0, 0], &[85, 0, 0, 0]),
(&[85, 0, 0, 0], &[255, 254, 255, 255], &[171, 255, 255, 255], &[172, 255, 255, 255]),
(&[85, 0, 0, 0], &[128, 5, 0, 0], &[15, 0, 0, 0], &[16, 0, 0, 0]),
(&[85, 0, 0, 0], &[255, 248, 255, 255], &[243, 255, 255, 255], &[244, 255, 255, 255]),
(&[85, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[171, 255, 255, 255], &[3, 0, 0, 0], &[170, 227, 255, 255], &[171, 227, 255, 255]),
(&[171, 255, 255, 255], &[253, 255, 255, 255], &[85, 28, 0, 0], &[86, 28, 0, 0]),
(&[171, 255, 255, 255], &[85, 0, 0, 0], &[0, 255, 255, 255], &[0, 255, 255, 255]),
(&[171, 255, 255, 255], &[171, 255, 255, 255], &[0, 1, 0, 0], &[0, 1, 0, 0]),
(&[171, 255, 255, 255], &[1, 1, 0, 0], &[171, 255, 255, 255], &[172, 255, 255, 255]),
(&[171, 255, 255, 255], &[255, 254, 255, 255], &[84, 0, 0, 0], &[85, 0, 0, 0]),
(&[171, 255, 255, 255], &[128, 5, 0, 0], &[240, 255, 255, 255], &[241, 255, 255, 255]),
(&[171, 255, 255, 255], &[255, 248, 255, 255], &[12, 0, 0, 0], &[13, 0, 0, 0]),
(&[171, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[171, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[1, 1, 0, 0], &[3, 0, 0, 0], &[170, 85, 0, 0], &[171, 85, 0, 0]),
(&[1, 1, 0, 0], &[253, 255, 255, 255], &[85, 170, 255, 255], &[86, 170, 255, 255]),
(&[1, 1, 0, 0], &[85, 0, 0, 0], &[6, 3, 0, 0], &[7, 3, 0, 0]),
(&[1, 1, 0, 0], &[171, 255, 255, 255], &[249, 252, 255, 255], &[250, 252, 255, 255]),
(&[1, 1, 0, 0], &[1, 1, 0, 0], &[0, 1, 0, 0], &[0, 1, 0, 0]),
(&[1, 1, 0, 0], &[255, 254, 255, 255], &[0, 255, 255, 255], &[0, 255, 255, 255]),
(&[1, 1, 0, 0], &[128, 5, 0, 0], &[46, 0, 0, 0], &[47, 0, 0, 0]),
(&[1, 1, 0, 0], &[255, 248, 255, 255], &[219, 255, 255, 255], &[220, 255, 255, 255]),
(&[1, 1, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[1, 1, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 254, 255, 255], &[3, 0, 0, 0], &[85, 170, 255, 255], &[86, 170, 255, 255]),
(&[255, 254, 255, 255], &[253, 255, 255, 255], &[170, 85, 0, 0], &[171, 85, 0, 0]),
(&[255, 254, 255, 255], &[85, 0, 0, 0], &[249, 252, 255, 255], &[250, 252, 255, 255]),
(&[255, 254, 255, 255], &[171, 255, 255, 255], &[6, 3, 0, 0], &[7, 3, 0, 0]),
(&[255, 254, 255, 255], &[1, 1, 0, 0], &[0, 255, 255, 255], &[0, 255, 255, 255]),
(&[255, 254, 255, 255], &[255, 254, 255, 255], &[0, 1, 0, 0], &[0, 1, 0, 0]),
(&[255, 254, 255, 255], &[128, 5, 0, 0], &[209, 255, 255, 255], &[210, 255, 255, 255]),
(&[255, 254, 255, 255], &[255, 248, 255, 255], &[36, 0, 0, 0], &[37, 0, 0, 0]),
(&[255, 254, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 254, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[128, 5, 0, 0], &[3, 0, 0, 0], &[85, 213, 1, 0], &[86, 213, 1, 0]),
(&[128, 5, 0, 0], &[253, 255, 255, 255], &[170, 42, 254, 255], &[171, 42, 254, 255]),
(&[128, 5, 0, 0], &[85, 0, 0, 0], &[144, 16, 0, 0], &[145, 16, 0, 0]),
(&[128, 5, 0, 0], &[171, 255, 255, 255], &[111, 239, 255, 255], &[112, 239, 255, 255]),
(&[128, 5, 0, 0], &[1, 1, 0, 0], &[122, 5, 0, 0], &[123, 5, 0, 0]),
(&[128, 5, 0, 0], &[255, 254, 255, 255], &[133, 250, 255, 255], &[134, 250, 255, 255]),
(&[128, 5, 0, 0], &[128, 5, 0, 0], &[0, 1, 0, 0], &[0, 1, 0, 0]),
(&[128, 5, 0, 0], &[255, 248, 255, 255], &[54, 255, 255, 255], &[55, 255, 255, 255]),
(&[128, 5, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[128, 5, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 248, 255, 255], &[3, 0, 0, 0], &[85, 170, 253, 255], &[86, 170, 253, 255]),
(&[255, 248, 255, 255], &[253, 255, 255, 255], &[170, 85, 2, 0], &[171, 85, 2, 0]),
(&[255, 248, 255, 255], &[85, 0, 0, 0], &[231, 234, 255, 255], &[232, 234, 255, 255]),
(&[255, 248, 255, 255], &[171, 255, 255, 255], &[24, 21, 0, 0], &[25, 21, 0, 0]),
(&[255, 248, 255, 255], &[1, 1, 0, 0], &[5, 249, 255, 255], &[6, 249, 255, 255]),
(&[255, 248, 255, 255], &[255, 254, 255, 255], &[250, 6, 0, 0], &[251, 6, 0, 0]),
(&[255, 248, 255, 255], &[128, 5, 0, 0], &[186, 254, 255, 255], &[186, 254, 255, 255]),
(&[255, 248, 255, 255], &[255, 248, 255, 255], &[0, 1, 0, 0], &[0, 1, 0, 0]),
(&[255, 248, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 248, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[209, 3, 0, 64], &[1, 1, 0, 0], &[141, 67, 192, 63], &[142, 67, 192, 63]),
(&[209, 3, 0, 64], &[255, 254, 255, 255], &[114, 188, 63, 192], &[115, 188, 63, 192]),
(&[209, 3, 0, 64], &[128, 5, 0, 0], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[255, 248, 255, 255], &[89, 187, 220, 246], &[90, 187, 220, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 1, 0, 0], &[0, 1, 0, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 255, 255, 255], &[0, 255, 255, 255]),
(&[47, 252, 255, 191], &[1, 1, 0, 0], &[114, 188, 63, 192], &[115, 188, 63, 192]),
(&[47, 252, 255, 191], &[255, 254, 255, 255], &[141, 67, 192, 63], &[142, 67, 192, 63]),
(&[47, 252, 255, 191], &[128, 5, 0, 0], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[255, 248, 255, 255], &[166, 68, 35, 9], &[167, 68, 35, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 255, 255, 255], &[0, 255, 255, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 1, 0, 0], &[0, 1, 0, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[228, 1, 0, 0], &[229, 1, 0, 0]),
(50, &[193, 2, 0, 0], &[194, 2, 0, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[128, 0, 0, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[128, 0, 0, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[128, 0, 0, 0], &[128, 0, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[128, 0, 0, 0], &[128, 0, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[128, 0, 0, 0], &[64, 255, 255, 255], &[160, 0, 0, 0]], &[&[0, 1, 0, 0], &[64, 0, 0, 0], &[224, 255, 255, 255], &[64, 0, 0, 0], &[0, 2, 0, 0], &[16, 0, 0, 0], &[224, 255, 255, 255], &[16, 0, 0, 0], &[128, 0, 0, 0]], &[63, 1, 0, 0], &[63, 1, 0, 0], &[63, 1, 0, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[164, 255, 255, 255], &[165, 255, 255, 255], &[165, 255, 255, 255]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[92, 0, 0, 0], &[93, 0, 0, 0], &[93, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[5, 0, 0, 0], &[6, 0, 0, 0], &[6, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[124, 255, 255, 255], &[125, 255, 255, 255], &[125, 255, 255, 255]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[154, 0, 0, 0], &[155, 0, 0, 0], &[155, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[240, 255, 255, 255], &[241, 255, 255, 255], &[240, 255, 255, 255]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[105, 0, 0, 0], &[106, 0, 0, 0], &[106, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[67, 255, 255, 255], &[68, 255, 255, 255], &[67, 255, 255, 255]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[217, 255, 255, 255], &[218, 255, 255, 255], &[217, 255, 255, 255]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[171, 1, 0, 0], &[172, 1, 0, 0], &[171, 1, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[134, 0, 0, 0], &[135, 0, 0, 0], &[135, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[176, 255, 255, 255], &[177, 255, 255, 255], &[176, 255, 255, 255]),
(2, &[&[1, 24, 0, 0], &[0, 20, 0, 0]], &[&[1, 24, 0, 0], &[0, 8, 0, 0], &[205, 4, 0, 0], &[0, 24, 0, 0]], &[32, 136, 115, 0], &[33, 136, 115, 0], &[32, 136, 115, 0]),
(2, &[&[255, 231, 255, 255], &[0, 236, 255, 255]], &[&[1, 24, 0, 0], &[0, 8, 0, 0], &[205, 4, 0, 0], &[0, 24, 0, 0]], &[32, 136, 115, 0], &[33, 136, 115, 0], &[32, 136, 115, 0]),
(2, &[&[1, 24, 0, 0], &[0, 20, 0, 0]], &[&[255, 231, 255, 255], &[0, 248, 255, 255], &[51, 251, 255, 255], &[0, 232, 255, 255]], &[223, 119, 140, 255], &[224, 119, 140, 255], &[224, 119, 140, 255]),
(2, &[&[255, 231, 255, 255], &[0, 236, 255, 255]], &[&[255, 231, 255, 255], &[0, 248, 255, 255], &[51, 251, 255, 255], &[0, 232, 255, 255]], &[223, 119, 140, 255], &[224, 119, 140, 255], &[224, 119, 140, 255]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f9 {
pub const FRAC_BITS: u32 = 9;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[22, 0, 0, 0], &[23, 0, 0, 0]),
(&[2, 0, 0, 0], &[32, 0, 0, 0], &[32, 0, 0, 0]),
(&[3, 0, 0, 0], &[39, 0, 0, 0], &[40, 0, 0, 0]),
(&[0, 2, 0, 0], &[0, 2, 0, 0], &[0, 2, 0, 0]),
(&[0, 4, 0, 0], &[212, 2, 0, 0], &[213, 2, 0, 0]),
(&[0, 8, 0, 0], &[0, 4, 0, 0], &[0, 4, 0, 0]),
(&[0, 1, 0, 0], &[106, 1, 0, 0], &[107, 1, 0, 0]),
(&[129, 0, 0, 0], &[0, 1, 0, 0], &[1, 1, 0, 0]),
(&[57, 48, 0, 64], &[83, 80, 11, 0], &[84, 80, 11, 0]),
(&[255, 255, 255, 127], &[255, 255, 15, 0], &[0, 0, 16, 0]),
(&[73, 6, 0, 0], &[139, 3, 0, 0], &[140, 3, 0, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[170, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 2, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 253, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 11, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 241, 255, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[5, 0, 96, 0], &[6, 0, 96, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[250, 255, 159, 255], &[251, 255, 159, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[170, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[86, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 2, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 253, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 11, 0, 0], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 241, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[250, 255, 159, 255], &[251, 255, 159, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[5, 0, 96, 0], &[6, 0, 96, 0]),
(&[170, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[170, 0, 0, 0], &[170, 0, 0, 0], &[56, 0, 0, 0], &[57, 0, 0, 0]),
(&[170, 0, 0, 0], &[86, 255, 255, 255], &[199, 255, 255, 255], &[200, 255, 255, 255]),
(&[170, 0, 0, 0], &[1, 2, 0, 0], &[170, 0, 0, 0], &[171, 0, 0, 0]),
(&[170, 0, 0, 0], &[255, 253, 255, 255], &[85, 255, 255, 255], &[86, 255, 255, 255]),
(&[170, 0, 0, 0], &[0, 11, 0, 0], &[167, 3, 0, 0], &[167, 3, 0, 0]),
(&[170, 0, 0, 0], &[255, 241, 255, 255], &[89, 251, 255, 255], &[90, 251, 255, 255]),
(&[170, 0, 0, 0], &[209, 3, 0, 64], &[68, 1, 64, 21], &[69, 1, 64, 21]),
(&[170, 0, 0, 0], &[47, 252, 255, 191], &[187, 254, 191, 234], &[188, 254, 191, 234]),
(&[86, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[86, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[86, 255, 255, 255], &[170, 0, 0, 0], &[199, 255, 255, 255], &[200, 255, 255, 255]),
(&[86, 255, 255, 255], &[86, 255, 255, 255], &[56, 0, 0, 0], &[57, 0, 0, 0]),
(&[86, 255, 255, 255], &[1, 2, 0, 0], &[85, 255, 255, 255], &[86, 255, 255, 255]),
(&[86, 255, 255, 255], &[255, 253, 255, 255], &[170, 0, 0, 0], &[171, 0, 0, 0]),
(&[86, 255, 255, 255], &[0, 11, 0, 0], &[89, 252, 255, 255], &[89, 252, 255, 255]),
(&[86, 255, 255, 255], &[255, 241, 255, 255], &[166, 4, 0, 0], &[167, 4, 0, 0]),
(&[86, 255, 255, 255], &[209, 3, 0, 64], &[187, 254, 191, 234], &[188, 254, 191, 234]),
(&[86, 255, 255, 255], &[47, 252, 255, 191], &[68, 1, 64, 21], &[69, 1, 64, 21]),
(&[1, 2, 0, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 2, 0, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 2, 0, 0], &[170, 0, 0, 0], &[170, 0, 0, 0], &[171, 0, 0, 0]),
(&[1, 2, 0, 0], &[86, 255, 255, 255], &[85, 255, 255, 255], &[86, 255, 255, 255]),
(&[1, 2, 0, 0], &[1, 2, 0, 0], &[2, 2, 0, 0], &[3, 2, 0, 0]),
(&[1, 2, 0, 0], &[255, 253, 255, 255], &[253, 253, 255, 255], &[254, 253, 255, 255]),
(&[1, 2, 0, 0], &[0, 11, 0, 0], &[5, 11, 0, 0], &[6, 11, 0, 0]),
(&[1, 2, 0, 0], &[255, 241, 255, 255], &[247, 241, 255, 255], &[248, 241, 255, 255]),
(&[1, 2, 0, 0], &[209, 3, 0, 64], &[210, 3, 32, 64], &[211, 3, 32, 64]),
(&[1, 2, 0, 0], &[47, 252, 255, 191], &[45, 252, 223, 191], &[46, 252, 223, 191]),
(&[255, 253, 255, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 253, 255, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 253, 255, 255], &[170, 0, 0, 0], &[85, 255, 255, 255], &[86, 255, 255, 255]),
(&[255, 253, 255, 255], &[86, 255, 255, 255], &[170, 0, 0, 0], &[171, 0, 0, 0]),
(&[255, 253, 255, 255], &[1, 2, 0, 0], &[253, 253, 255, 255], &[254, 253, 255, 255]),
(&[255, 253, 255, 255], &[255, 253, 255, 255], &[2, 2, 0, 0], &[3, 2, 0, 0]),
(&[255, 253, 255, 255], &[0, 11, 0, 0], &[250, 244, 255, 255], &[251, 244, 255, 255]),
(&[255, 253, 255, 255], &[255, 241, 255, 255], &[8, 14, 0, 0], &[9, 14, 0, 0]),
(&[255, 253, 255, 255], &[209, 3, 0, 64], &[45, 252, 223, 191], &[46, 252, 223, 191]),
(&[255, 253, 255, 255], &[47, 252, 255, 191], &[210, 3, 32, 64], &[211, 3, 32, 64]),
(&[0, 11, 0, 0], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[0, 11, 0, 0], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[0, 11, 0, 0], &[170, 0, 0, 0], &[167, 3, 0, 0], &[167, 3, 0, 0]),
(&[0, 11, 0, 0], &[86, 255, 255, 255], &[89, 252, 255, 255], &[89, 252, 255, 255]),
(&[0, 11, 0, 0], &[1, 2, 0, 0], &[5, 11, 0, 0], &[6, 11, 0, 0]),
(&[0, 11, 0, 0], &[255, 253, 255, 255], &[250, 244, 255, 255], &[251, 244, 255, 255]),
(&[0, 11, 0, 0], &[0, 11, 0, 0], &[128, 60, 0, 0], &[128, 60, 0, 0]),
(&[0, 11, 0, 0], &[255, 241, 255, 255], &[250, 178, 255, 255], &[251, 178, 255, 255]),
(&[255, 241, 255, 255], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 241, 255, 255], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[255, 241, 255, 255], &[170, 0, 0, 0], &[89, 251, 255, 255], &[90, 251, 255, 255]),
(&[255, 241, 255, 255], &[86, 255, 255, 255], &[166, 4, 0, 0], &[167, 4, 0, 0]),
(&[255, 241, 255, 255], &[1, 2, 0, 0], &[247, 241, 255, 255], &[248, 241, 255, 255]),
(&[255, 241, 255, 255], &[255, 253, 255, 255], &[8, 14, 0, 0], &[9, 14, 0, 0]),
(&[255, 241, 255, 255], &[0, 11, 0, 0], &[250, 178, 255, 255], &[251, 178, 255, 255]),
(&[255, 241, 255, 255], &[255, 241, 255, 255], &[14, 98, 0, 0], &[15, 98, 0, 0]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[5, 0, 96, 0], &[6, 0, 96, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[250, 255, 159, 255], &[251, 255, 159, 255]),
(&[209, 3, 0, 64], &[170, 0, 0, 0], &[68, 1, 64, 21], &[69, 1, 64, 21]),
(&[209, 3, 0, 64], &[86, 255, 255, 255], &[187, 254, 191, 234], &[188, 254, 191, 234]),
(&[209, 3, 0, 64], &[1, 2, 0, 0], &[210, 3, 32, 64], &[211, 3, 32, 64]),
(&[209, 3, 0, 64], &[255, 253, 255, 255], &[45, 252, 223, 191], &[46, 252, 223, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[250, 255, 159, 255], &[251, 255, 159, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[5, 0, 96, 0], &[6, 0, 96, 0]),
(&[47, 252, 255, 191], &[170, 0, 0, 0], &[187, 254, 191, 234], &[188, 254, 191, 234]),
(&[47, 252, 255, 191], &[86, 255, 255, 255], &[68, 1, 64, 21], &[69, 1, 64, 21]),
(&[47, 252, 255, 191], &[1, 2, 0, 0], &[45, 252, 223, 191], &[46, 252, 223, 191]),
(&[47, 252, 255, 191], &[255, 253, 255, 255], &[210, 3, 32, 64], &[211, 3, 32, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 2, 0, 0], &[0, 2, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 254, 255, 255], &[0, 254, 255, 255]),
(&[3, 0, 0, 0], &[170, 0, 0, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 255, 255, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 2, 0, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 253, 255, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 11, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 241, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 254, 255, 255], &[0, 254, 255, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 2, 0, 0], &[0, 2, 0, 0]),
(&[253, 255, 255, 255], &[170, 0, 0, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[86, 255, 255, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 2, 0, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 253, 255, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 11, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 241, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 0, 0, 0], &[3, 0, 0, 0], &[85, 113, 0, 0], &[86, 113, 0, 0]),
(&[170, 0, 0, 0], &[253, 255, 255, 255], &[170, 142, 255, 255], &[171, 142, 255, 255]),
(&[170, 0, 0, 0], &[170, 0, 0, 0], &[0, 2, 0, 0], &[0, 2, 0, 0]),
(&[170, 0, 0, 0], &[86, 255, 255, 255], &[0, 254, 255, 255], &[0, 254, 255, 255]),
(&[170, 0, 0, 0], &[1, 2, 0, 0], &[169, 0, 0, 0], &[170, 0, 0, 0]),
(&[170, 0, 0, 0], &[255, 253, 255, 255], &[86, 255, 255, 255], &[87, 255, 255, 255]),
(&[170, 0, 0, 0], &[0, 11, 0, 0], &[30, 0, 0, 0], &[31, 0, 0, 0]),
(&[170, 0, 0, 0], &[255, 241, 255, 255], &[231, 255, 255, 255], &[232, 255, 255, 255]),
(&[170, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[86, 255, 255, 255], &[3, 0, 0, 0], &[170, 142, 255, 255], &[171, 142, 255, 255]),
(&[86, 255, 255, 255], &[253, 255, 255, 255], &[85, 113, 0, 0], &[86, 113, 0, 0]),
(&[86, 255, 255, 255], &[170, 0, 0, 0], &[0, 254, 255, 255], &[0, 254, 255, 255]),
(&[86, 255, 255, 255], &[86, 255, 255, 255], &[0, 2, 0, 0], &[0, 2, 0, 0]),
(&[86, 255, 255, 255], &[1, 2, 0, 0], &[86, 255, 255, 255], &[87, 255, 255, 255]),
(&[86, 255, 255, 255], &[255, 253, 255, 255], &[169, 0, 0, 0], &[170, 0, 0, 0]),
(&[86, 255, 255, 255], &[0, 11, 0, 0], &[225, 255, 255, 255], &[226, 255, 255, 255]),
(&[86, 255, 255, 255], &[255, 241, 255, 255], &[24, 0, 0, 0], &[25, 0, 0, 0]),
(&[86, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[86, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[1, 2, 0, 0], &[3, 0, 0, 0], &[0, 86, 1, 0], &[0, 86, 1, 0]),
(&[1, 2, 0, 0], &[253, 255, 255, 255], &[0, 170, 254, 255], &[0, 170, 254, 255]),
(&[1, 2, 0, 0], &[170, 0, 0, 0], &[9, 6, 0, 0], &[10, 6, 0, 0]),
(&[1, 2, 0, 0], &[86, 255, 255, 255], &[246, 249, 255, 255], &[247, 249, 255, 255]),
(&[1, 2, 0, 0], &[1, 2, 0, 0], &[0, 2, 0, 0], &[0, 2, 0, 0]),
(&[1, 2, 0, 0], &[255, 253, 255, 255], &[0, 254, 255, 255], &[0, 254, 255, 255]),
(&[1, 2, 0, 0], &[0, 11, 0, 0], &[93, 0, 0, 0], &[94, 0, 0, 0]),
(&[1, 2, 0, 0], &[255, 241, 255, 255], &[182, 255, 255, 255], &[183, 255, 255, 255]),
(&[1, 2, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[1, 2, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 253, 255, 255], &[3, 0, 0, 0], &[0, 170, 254, 255], &[0, 170, 254, 255]),
(&[255, 253, 255, 255], &[253, 255, 255, 255], &[0, 86, 1, 0], &[0, 86, 1, 0]),
(&[255, 253, 255, 255], &[170, 0, 0, 0], &[246, 249, 255, 255], &[247, 249, 255, 255]),
(&[255, 253, 255, 255], &[86, 255, 255, 255], &[9, 6, 0, 0], &[10, 6, 0, 0]),
(&[255, 253, 255, 255], &[1, 2, 0, 0], &[0, 254, 255, 255], &[0, 254, 255, 255]),
(&[255, 253, 255, 255], &[255, 253, 255, 255], &[0, 2, 0, 0], &[0, 2, 0, 0]),
(&[255, 253, 255, 255], &[0, 11, 0, 0], &[162, 255, 255, 255], &[163, 255, 255, 255]),
(&[255, 253, 255, 255], &[255, 241, 255, 255], &[73, 0, 0, 0], &[74, 0, 0, 0]),
(&[255, 253, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 253, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[0, 11, 0, 0], &[3, 0, 0, 0], &[85, 85, 7, 0], &[86, 85, 7, 0]),
(&[0, 11, 0, 0], &[253, 255, 255, 255], &[170, 170, 248, 255], &[171, 170, 248, 255]),
(&[0, 11, 0, 0], &[170, 0, 0, 0], &[33, 33, 0, 0], &[34, 33, 0, 0]),
(&[0, 11, 0, 0], &[86, 255, 255, 255], &[222, 222, 255, 255], &[223, 222, 255, 255]),
(&[0, 11, 0, 0], &[1, 2, 0, 0], &[250, 10, 0, 0], &[251, 10, 0, 0]),
(&[0, 11, 0, 0], &[255, 253, 255, 255], &[5, 245, 255, 255], &[6, 245, 255, 255]),
(&[0, 11, 0, 0], &[0, 11, 0, 0], &[0, 2, 0, 0], &[0, 2, 0, 0]),
(&[0, 11, 0, 0], &[255, 241, 255, 255], &[109, 254, 255, 255], &[110, 254, 255, 255]),
(&[0, 11, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[0, 11, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 241, 255, 255], &[3, 0, 0, 0], &[0, 170, 246, 255], &[0, 170, 246, 255]),
(&[255, 241, 255, 255], &[253, 255, 255, 255], &[0, 86, 9, 0], &[0, 86, 9, 0]),
(&[255, 241, 255, 255], &[170, 0, 0, 0], &[210, 213, 255, 255], &[211, 213, 255, 255]),
(&[255, 241, 255, 255], &[86, 255, 255, 255], &[45, 42, 0, 0], &[46, 42, 0, 0]),
(&[255, 241, 255, 255], &[1, 2, 0, 0], &[5, 242, 255, 255], &[6, 242, 255, 255]),
(&[255, 241, 255, 255], &[255, 253, 255, 255], &[250, 13, 0, 0], &[251, 13, 0, 0]),
(&[255, 241, 255, 255], &[0, 11, 0, 0], &[116, 253, 255, 255], &[117, 253, 255, 255]),
(&[255, 241, 255, 255], &[255, 241, 255, 255], &[0, 2, 0, 0], &[0, 2, 0, 0]),
(&[255, 241, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 241, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[209, 3, 0, 64], &[1, 2, 0, 0], &[199, 19, 224, 63], &[200, 19, 224, 63]),
(&[209, 3, 0, 64], &[255, 253, 255, 255], &[56, 236, 31, 192], &[57, 236, 31, 192]),
(&[209, 3, 0, 64], &[0, 11, 0, 0], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[255, 241, 255, 255], &[78, 20, 220, 246], &[79, 20, 220, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 2, 0, 0], &[0, 2, 0, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 254, 255, 255], &[0, 254, 255, 255]),
(&[47, 252, 255, 191], &[1, 2, 0, 0], &[56, 236, 31, 192], &[57, 236, 31, 192]),
(&[47, 252, 255, 191], &[255, 253, 255, 255], &[199, 19, 224, 63], &[200, 19, 224, 63]),
(&[47, 252, 255, 191], &[0, 11, 0, 0], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[255, 241, 255, 255], &[177, 235, 35, 9], &[178, 235, 35, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 254, 255, 255], &[0, 254, 255, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 2, 0, 0], &[0, 2, 0, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[201, 3, 0, 0], &[202, 3, 0, 0]),
(50, &[130, 5, 0, 0], &[131, 5, 0, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 1, 0, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 1, 0, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 1, 0, 0], &[0, 1, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 1, 0, 0], &[0, 1, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[0, 1, 0, 0], &[128, 254, 255, 255], &[64, 1, 0, 0]], &[&[0, 2, 0, 0], &[128, 0, 0, 0], &[192, 255, 255, 255], &[128, 0, 0, 0], &[0, 4, 0, 0], &[32, 0, 0, 0], &[192, 255, 255, 255], &[32, 0, 0, 0], &[0, 1, 0, 0]], &[126, 2, 0, 0], &[126, 2, 0, 0], &[126, 2, 0, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[233, 255, 255, 255], &[234, 255, 255, 255], &[233, 255, 255, 255]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[23, 0, 0, 0], &[24, 0, 0, 0], &[23, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[1, 0, 0, 0], &[2, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[223, 255, 255, 255], &[224, 255, 255, 255], &[223, 255, 255, 255]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[38, 0, 0, 0], &[39, 0, 0, 0], &[39, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[252, 255, 255, 255], &[253, 255, 255, 255], &[252, 255, 255, 255]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[26, 0, 0, 0], &[27, 0, 0, 0], &[26, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[208, 255, 255, 255], &[209, 255, 255, 255], &[209, 255, 255, 255]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[246, 255, 255, 255], &[247, 255, 255, 255], &[246, 255, 255, 255]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[106, 0, 0, 0], &[107, 0, 0, 0], &[107, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[33, 0, 0, 0], &[34, 0, 0, 0], &[34, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[236, 255, 255, 255], &[237, 255, 255, 255], &[236, 255, 255, 255]),
(2, &[&[1, 48, 0, 0], &[0, 40, 0, 0]], &[&[1, 48, 0, 0], &[0, 16, 0, 0], &[153, 9, 0, 0], &[0, 48, 0, 0]], &[160, 6, 231, 0], &[161, 6, 231, 0], &[160, 6, 231, 0]),
(2, &[&[255, 207, 255, 255], &[0, 216, 255, 255]], &[&[1, 48, 0, 0], &[0, 16, 0, 0], &[153, 9, 0, 0], &[0, 48, 0, 0]], &[160, 6, 231, 0], &[161, 6, 231, 0], &[160, 6, 231, 0]),
(2, &[&[1, 48, 0, 0], &[0, 40, 0, 0]], &[&[255, 207, 255, 255], &[0, 240, 255, 255], &[103, 246, 255, 255], &[0, 208, 255, 255]], &[95, 249, 24, 255], &[96, 249, 24, 255], &[96, 249, 24, 255]),
(2, &[&[255, 207, 255, 255], &[0, 216, 255, 255]], &[&[255, 207, 255, 255], &[0, 240, 255, 255], &[103, 246, 255, 255], &[0, 208, 255, 255]], &[95, 249, 24, 255], &[96, 249, 24, 255], &[96, 249, 24, 255]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f10 {
pub const FRAC_BITS: u32 = 10;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[32, 0, 0, 0], &[32, 0, 0, 0]),
(&[2, 0, 0, 0], &[45, 0, 0, 0], &[46, 0, 0, 0]),
(&[3, 0, 0, 0], &[55, 0, 0, 0], &[56, 0, 0, 0]),
(&[0, 4, 0, 0], &[0, 4, 0, 0], &[0, 4, 0, 0]),
(&[0, 8, 0, 0], &[168, 5, 0, 0], &[169, 5, 0, 0]),
(&[0, 16, 0, 0], &[0, 8, 0, 0], &[0, 8, 0, 0]),
(&[0, 2, 0, 0], &[212, 2, 0, 0], &[213, 2, 0, 0]),
(&[1, 1, 0, 0], &[0, 2, 0, 0], &[1, 2, 0, 0]),
(&[57, 48, 0, 64], &[6, 0, 16, 0], &[7, 0, 16, 0]),
(&[255, 255, 255, 127], &[158, 160, 22, 0], &[159, 160, 22, 0]),
(&[146, 12, 0, 0], &[23, 7, 0, 0], &[24, 7, 0, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[85, 1, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 254, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 4, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 251, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 22, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 227, 255, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[2, 0, 48, 0], &[3, 0, 48, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[253, 255, 207, 255], &[254, 255, 207, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[85, 1, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[171, 254, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 4, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 251, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 22, 0, 0], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 227, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[253, 255, 207, 255], &[254, 255, 207, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[2, 0, 48, 0], &[3, 0, 48, 0]),
(&[85, 1, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 1, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[85, 1, 0, 0], &[85, 1, 0, 0], &[113, 0, 0, 0], &[114, 0, 0, 0]),
(&[85, 1, 0, 0], &[171, 254, 255, 255], &[142, 255, 255, 255], &[143, 255, 255, 255]),
(&[85, 1, 0, 0], &[1, 4, 0, 0], &[85, 1, 0, 0], &[86, 1, 0, 0]),
(&[85, 1, 0, 0], &[255, 251, 255, 255], &[170, 254, 255, 255], &[171, 254, 255, 255]),
(&[85, 1, 0, 0], &[0, 22, 0, 0], &[83, 7, 0, 0], &[84, 7, 0, 0]),
(&[85, 1, 0, 0], &[255, 227, 255, 255], &[172, 246, 255, 255], &[173, 246, 255, 255]),
(&[85, 1, 0, 0], &[209, 3, 0, 64], &[69, 1, 80, 21], &[70, 1, 80, 21]),
(&[85, 1, 0, 0], &[47, 252, 255, 191], &[186, 254, 175, 234], &[187, 254, 175, 234]),
(&[171, 254, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[171, 254, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[171, 254, 255, 255], &[85, 1, 0, 0], &[142, 255, 255, 255], &[143, 255, 255, 255]),
(&[171, 254, 255, 255], &[171, 254, 255, 255], &[113, 0, 0, 0], &[114, 0, 0, 0]),
(&[171, 254, 255, 255], &[1, 4, 0, 0], &[170, 254, 255, 255], &[171, 254, 255, 255]),
(&[171, 254, 255, 255], &[255, 251, 255, 255], &[85, 1, 0, 0], &[86, 1, 0, 0]),
(&[171, 254, 255, 255], &[0, 22, 0, 0], &[172, 248, 255, 255], &[173, 248, 255, 255]),
(&[171, 254, 255, 255], &[255, 227, 255, 255], &[83, 9, 0, 0], &[84, 9, 0, 0]),
(&[171, 254, 255, 255], &[209, 3, 0, 64], &[186, 254, 175, 234], &[187, 254, 175, 234]),
(&[171, 254, 255, 255], &[47, 252, 255, 191], &[69, 1, 80, 21], &[70, 1, 80, 21]),
(&[1, 4, 0, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 4, 0, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 4, 0, 0], &[85, 1, 0, 0], &[85, 1, 0, 0], &[86, 1, 0, 0]),
(&[1, 4, 0, 0], &[171, 254, 255, 255], &[170, 254, 255, 255], &[171, 254, 255, 255]),
(&[1, 4, 0, 0], &[1, 4, 0, 0], &[2, 4, 0, 0], &[3, 4, 0, 0]),
(&[1, 4, 0, 0], &[255, 251, 255, 255], &[253, 251, 255, 255], &[254, 251, 255, 255]),
(&[1, 4, 0, 0], &[0, 22, 0, 0], &[5, 22, 0, 0], &[6, 22, 0, 0]),
(&[1, 4, 0, 0], &[255, 227, 255, 255], &[247, 227, 255, 255], &[248, 227, 255, 255]),
(&[1, 4, 0, 0], &[209, 3, 0, 64], &[209, 3, 16, 64], &[210, 3, 16, 64]),
(&[1, 4, 0, 0], &[47, 252, 255, 191], &[46, 252, 239, 191], &[47, 252, 239, 191]),
(&[255, 251, 255, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 251, 255, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 251, 255, 255], &[85, 1, 0, 0], &[170, 254, 255, 255], &[171, 254, 255, 255]),
(&[255, 251, 255, 255], &[171, 254, 255, 255], &[85, 1, 0, 0], &[86, 1, 0, 0]),
(&[255, 251, 255, 255], &[1, 4, 0, 0], &[253, 251, 255, 255], &[254, 251, 255, 255]),
(&[255, 251, 255, 255], &[255, 251, 255, 255], &[2, 4, 0, 0], &[3, 4, 0, 0]),
(&[255, 251, 255, 255], &[0, 22, 0, 0], &[250, 233, 255, 255], &[251, 233, 255, 255]),
(&[255, 251, 255, 255], &[255, 227, 255, 255], &[8, 28, 0, 0], &[9, 28, 0, 0]),
(&[255, 251, 255, 255], &[209, 3, 0, 64], &[46, 252, 239, 191], &[47, 252, 239, 191]),
(&[255, 251, 255, 255], &[47, 252, 255, 191], &[209, 3, 16, 64], &[210, 3, 16, 64]),
(&[0, 22, 0, 0], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[0, 22, 0, 0], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[0, 22, 0, 0], &[85, 1, 0, 0], &[83, 7, 0, 0], &[84, 7, 0, 0]),
(&[0, 22, 0, 0], &[171, 254, 255, 255], &[172, 248, 255, 255], &[173, 248, 255, 255]),
(&[0, 22, 0, 0], &[1, 4, 0, 0], &[5, 22, 0, 0], &[6, 22, 0, 0]),
(&[0, 22, 0, 0], &[255, 251, 255, 255], &[250, 233, 255, 255], &[251, 233, 255, 255]),
(&[0, 22, 0, 0], &[0, 22, 0, 0], &[0, 121, 0, 0], &[0, 121, 0, 0]),
(&[0, 22, 0, 0], &[255, 227, 255, 255], &[250, 101, 255, 255], &[251, 101, 255, 255]),
(&[255, 227, 255, 255], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 227, 255, 255], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[255, 227, 255, 255], &[85, 1, 0, 0], &[172, 246, 255, 255], &[173, 246, 255, 255]),
(&[255, 227, 255, 255], &[171, 254, 255, 255], &[83, 9, 0, 0], &[84, 9, 0, 0]),
(&[255, 227, 255, 255], &[1, 4, 0, 0], &[247, 227, 255, 255], &[248, 227, 255, 255]),
(&[255, 227, 255, 255], &[255, 251, 255, 255], &[8, 28, 0, 0], &[9, 28, 0, 0]),
(&[255, 227, 255, 255], &[0, 22, 0, 0], &[250, 101, 255, 255], &[251, 101, 255, 255]),
(&[255, 227, 255, 255], &[255, 227, 255, 255], &[14, 196, 0, 0], &[15, 196, 0, 0]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[2, 0, 48, 0], &[3, 0, 48, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[253, 255, 207, 255], &[254, 255, 207, 255]),
(&[209, 3, 0, 64], &[85, 1, 0, 0], &[69, 1, 80, 21], &[70, 1, 80, 21]),
(&[209, 3, 0, 64], &[171, 254, 255, 255], &[186, 254, 175, 234], &[187, 254, 175, 234]),
(&[209, 3, 0, 64], &[1, 4, 0, 0], &[209, 3, 16, 64], &[210, 3, 16, 64]),
(&[209, 3, 0, 64], &[255, 251, 255, 255], &[46, 252, 239, 191], &[47, 252, 239, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[253, 255, 207, 255], &[254, 255, 207, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[2, 0, 48, 0], &[3, 0, 48, 0]),
(&[47, 252, 255, 191], &[85, 1, 0, 0], &[186, 254, 175, 234], &[187, 254, 175, 234]),
(&[47, 252, 255, 191], &[171, 254, 255, 255], &[69, 1, 80, 21], &[70, 1, 80, 21]),
(&[47, 252, 255, 191], &[1, 4, 0, 0], &[46, 252, 239, 191], &[47, 252, 239, 191]),
(&[47, 252, 255, 191], &[255, 251, 255, 255], &[209, 3, 16, 64], &[210, 3, 16, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 4, 0, 0], &[0, 4, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 252, 255, 255], &[0, 252, 255, 255]),
(&[3, 0, 0, 0], &[85, 1, 0, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 254, 255, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 4, 0, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 251, 255, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 22, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 227, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 252, 255, 255], &[0, 252, 255, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 4, 0, 0], &[0, 4, 0, 0]),
(&[253, 255, 255, 255], &[85, 1, 0, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[171, 254, 255, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 4, 0, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 251, 255, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 22, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 227, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 1, 0, 0], &[3, 0, 0, 0], &[170, 198, 1, 0], &[171, 198, 1, 0]),
(&[85, 1, 0, 0], &[253, 255, 255, 255], &[85, 57, 254, 255], &[86, 57, 254, 255]),
(&[85, 1, 0, 0], &[85, 1, 0, 0], &[0, 4, 0, 0], &[0, 4, 0, 0]),
(&[85, 1, 0, 0], &[171, 254, 255, 255], &[0, 252, 255, 255], &[0, 252, 255, 255]),
(&[85, 1, 0, 0], &[1, 4, 0, 0], &[84, 1, 0, 0], &[85, 1, 0, 0]),
(&[85, 1, 0, 0], &[255, 251, 255, 255], &[171, 254, 255, 255], &[172, 254, 255, 255]),
(&[85, 1, 0, 0], &[0, 22, 0, 0], &[62, 0, 0, 0], &[62, 0, 0, 0]),
(&[85, 1, 0, 0], &[255, 227, 255, 255], &[207, 255, 255, 255], &[208, 255, 255, 255]),
(&[85, 1, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 1, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[171, 254, 255, 255], &[3, 0, 0, 0], &[85, 57, 254, 255], &[86, 57, 254, 255]),
(&[171, 254, 255, 255], &[253, 255, 255, 255], &[170, 198, 1, 0], &[171, 198, 1, 0]),
(&[171, 254, 255, 255], &[85, 1, 0, 0], &[0, 252, 255, 255], &[0, 252, 255, 255]),
(&[171, 254, 255, 255], &[171, 254, 255, 255], &[0, 4, 0, 0], &[0, 4, 0, 0]),
(&[171, 254, 255, 255], &[1, 4, 0, 0], &[171, 254, 255, 255], &[172, 254, 255, 255]),
(&[171, 254, 255, 255], &[255, 251, 255, 255], &[84, 1, 0, 0], &[85, 1, 0, 0]),
(&[171, 254, 255, 255], &[0, 22, 0, 0], &[194, 255, 255, 255], &[194, 255, 255, 255]),
(&[171, 254, 255, 255], &[255, 227, 255, 255], &[48, 0, 0, 0], &[49, 0, 0, 0]),
(&[171, 254, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[171, 254, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[1, 4, 0, 0], &[3, 0, 0, 0], &[170, 86, 5, 0], &[171, 86, 5, 0]),
(&[1, 4, 0, 0], &[253, 255, 255, 255], &[85, 169, 250, 255], &[86, 169, 250, 255]),
(&[1, 4, 0, 0], &[85, 1, 0, 0], &[6, 12, 0, 0], &[7, 12, 0, 0]),
(&[1, 4, 0, 0], &[171, 254, 255, 255], &[249, 243, 255, 255], &[250, 243, 255, 255]),
(&[1, 4, 0, 0], &[1, 4, 0, 0], &[0, 4, 0, 0], &[0, 4, 0, 0]),
(&[1, 4, 0, 0], &[255, 251, 255, 255], &[0, 252, 255, 255], &[0, 252, 255, 255]),
(&[1, 4, 0, 0], &[0, 22, 0, 0], &[186, 0, 0, 0], &[187, 0, 0, 0]),
(&[1, 4, 0, 0], &[255, 227, 255, 255], &[109, 255, 255, 255], &[110, 255, 255, 255]),
(&[1, 4, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[1, 4, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 251, 255, 255], &[3, 0, 0, 0], &[85, 169, 250, 255], &[86, 169, 250, 255]),
(&[255, 251, 255, 255], &[253, 255, 255, 255], &[170, 86, 5, 0], &[171, 86, 5, 0]),
(&[255, 251, 255, 255], &[85, 1, 0, 0], &[249, 243, 255, 255], &[250, 243, 255, 255]),
(&[255, 251, 255, 255], &[171, 254, 255, 255], &[6, 12, 0, 0], &[7, 12, 0, 0]),
(&[255, 251, 255, 255], &[1, 4, 0, 0], &[0, 252, 255, 255], &[0, 252, 255, 255]),
(&[255, 251, 255, 255], &[255, 251, 255, 255], &[0, 4, 0, 0], &[0, 4, 0, 0]),
(&[255, 251, 255, 255], &[0, 22, 0, 0], &[69, 255, 255, 255], &[70, 255, 255, 255]),
(&[255, 251, 255, 255], &[255, 227, 255, 255], &[146, 0, 0, 0], &[147, 0, 0, 0]),
(&[255, 251, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 251, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[0, 22, 0, 0], &[3, 0, 0, 0], &[85, 85, 29, 0], &[86, 85, 29, 0]),
(&[0, 22, 0, 0], &[253, 255, 255, 255], &[170, 170, 226, 255], &[171, 170, 226, 255]),
(&[0, 22, 0, 0], &[85, 1, 0, 0], &[16, 66, 0, 0], &[17, 66, 0, 0]),
(&[0, 22, 0, 0], &[171, 254, 255, 255], &[239, 189, 255, 255], &[240, 189, 255, 255]),
(&[0, 22, 0, 0], &[1, 4, 0, 0], &[250, 21, 0, 0], &[251, 21, 0, 0]),
(&[0, 22, 0, 0], &[255, 251, 255, 255], &[5, 234, 255, 255], &[6, 234, 255, 255]),
(&[0, 22, 0, 0], &[0, 22, 0, 0], &[0, 4, 0, 0], &[0, 4, 0, 0]),
(&[0, 22, 0, 0], &[255, 227, 255, 255], &[219, 252, 255, 255], &[220, 252, 255, 255]),
(&[0, 22, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[0, 22, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 227, 255, 255], &[3, 0, 0, 0], &[85, 169, 218, 255], &[86, 169, 218, 255]),
(&[255, 227, 255, 255], &[253, 255, 255, 255], &[170, 86, 37, 0], &[171, 86, 37, 0]),
(&[255, 227, 255, 255], &[85, 1, 0, 0], &[231, 171, 255, 255], &[232, 171, 255, 255]),
(&[255, 227, 255, 255], &[171, 254, 255, 255], &[24, 84, 0, 0], &[25, 84, 0, 0]),
(&[255, 227, 255, 255], &[1, 4, 0, 0], &[5, 228, 255, 255], &[6, 228, 255, 255]),
(&[255, 227, 255, 255], &[255, 251, 255, 255], &[250, 27, 0, 0], &[251, 27, 0, 0]),
(&[255, 227, 255, 255], &[0, 22, 0, 0], &[232, 250, 255, 255], &[233, 250, 255, 255]),
(&[255, 227, 255, 255], &[255, 227, 255, 255], &[0, 4, 0, 0], &[0, 4, 0, 0]),
(&[255, 227, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 227, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[209, 3, 0, 64], &[1, 4, 0, 0], &[207, 7, 240, 63], &[208, 7, 240, 63]),
(&[209, 3, 0, 64], &[255, 251, 255, 255], &[48, 248, 15, 192], &[49, 248, 15, 192]),
(&[209, 3, 0, 64], &[0, 22, 0, 0], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[255, 227, 255, 255], &[191, 192, 219, 246], &[192, 192, 219, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 4, 0, 0], &[0, 4, 0, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 252, 255, 255], &[0, 252, 255, 255]),
(&[47, 252, 255, 191], &[1, 4, 0, 0], &[48, 248, 15, 192], &[49, 248, 15, 192]),
(&[47, 252, 255, 191], &[255, 251, 255, 255], &[207, 7, 240, 63], &[208, 7, 240, 63]),
(&[47, 252, 255, 191], &[0, 22, 0, 0], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[255, 227, 255, 255], &[64, 63, 36, 9], &[65, 63, 36, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 252, 255, 255], &[0, 252, 255, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 4, 0, 0], &[0, 4, 0, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[146, 7, 0, 0], &[147, 7, 0, 0]),
(50, &[4, 11, 0, 0], &[5, 11, 0, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 2, 0, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 2, 0, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 2, 0, 0], &[0, 2, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 2, 0, 0], &[0, 2, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[0, 2, 0, 0], &[0, 253, 255, 255], &[128, 2, 0, 0]], &[&[0, 4, 0, 0], &[0, 1, 0, 0], &[128, 255, 255, 255], &[0, 1, 0, 0], &[0, 8, 0, 0], &[64, 0, 0, 0], &[128, 255, 255, 255], &[64, 0, 0, 0], &[0, 2, 0, 0]], &[252, 4, 0, 0], &[252, 4, 0, 0], &[252, 4, 0, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[250, 255, 255, 255], &[251, 255, 255, 255], &[250, 255, 255, 255]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[5, 0, 0, 0], &[6, 0, 0, 0], &[6, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[247, 255, 255, 255], &[248, 255, 255, 255], &[248, 255, 255, 255]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[9, 0, 0, 0], &[10, 0, 0, 0], &[10, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[255, 255, 255, 255]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[6, 0, 0, 0], &[7, 0, 0, 0], &[7, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[244, 255, 255, 255], &[245, 255, 255, 255], &[244, 255, 255, 255]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[253, 255, 255, 255], &[254, 255, 255, 255], &[254, 255, 255, 255]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[26, 0, 0, 0], &[27, 0, 0, 0], &[27, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[8, 0, 0, 0], &[9, 0, 0, 0], &[8, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[251, 255, 255, 255], &[252, 255, 255, 255], &[251, 255, 255, 255]),
(2, &[&[47, 124, 0, 0], &[246, 75, 0, 0]], &[&[47, 124, 0, 0], &[101, 41, 0, 0], &[214, 24, 0, 0], &[46, 124, 0, 0]], &[78, 4, 27, 3], &[79, 4, 27, 3], &[78, 4, 27, 3]),
(2, &[&[209, 131, 255, 255], &[10, 180, 255, 255]], &[&[47, 124, 0, 0], &[101, 41, 0, 0], &[214, 24, 0, 0], &[46, 124, 0, 0]], &[78, 4, 27, 3], &[79, 4, 27, 3], &[78, 4, 27, 3]),
(2, &[&[47, 124, 0, 0], &[246, 75, 0, 0]], &[&[209, 131, 255, 255], &[155, 214, 255, 255], &[42, 231, 255, 255], &[210, 131, 255, 255]], &[177, 251, 228, 252], &[178, 251, 228, 252], &[178, 251, 228, 252]),
(2, &[&[209, 131, 255, 255], &[10, 180, 255, 255]], &[&[209, 131, 255, 255], &[155, 214, 255, 255], &[42, 231, 255, 255], &[210, 131, 255, 255]], &[177, 251, 228, 252], &[178, 251, 228, 252], &[178, 251, 228, 252]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f11 {
pub const FRAC_BITS: u32 = 11;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[45, 0, 0, 0], &[46, 0, 0, 0]),
(&[2, 0, 0, 0], &[64, 0, 0, 0], &[64, 0, 0, 0]),
(&[3, 0, 0, 0], &[78, 0, 0, 0], &[79, 0, 0, 0]),
(&[0, 8, 0, 0], &[0, 8, 0, 0], &[0, 8, 0, 0]),
(&[0, 16, 0, 0], &[80, 11, 0, 0], &[81, 11, 0, 0]),
(&[0, 32, 0, 0], &[0, 16, 0, 0], &[0, 16, 0, 0]),
(&[0, 4, 0, 0], &[168, 5, 0, 0], &[169, 5, 0, 0]),
(&[1, 2, 0, 0], &[0, 4, 0, 0], &[1, 4, 0, 0]),
(&[57, 48, 0, 64], &[166, 160, 22, 0], &[167, 160, 22, 0]),
(&[255, 255, 255, 127], &[255, 255, 31, 0], &[0, 0, 32, 0]),
(&[36, 25, 0, 0], &[46, 14, 0, 0], &[47, 14, 0, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[170, 2, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 253, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 8, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 247, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 44, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 199, 255, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[1, 0, 24, 0], &[2, 0, 24, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[254, 255, 231, 255], &[255, 255, 231, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[170, 2, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[86, 253, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 8, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 247, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 44, 0, 0], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 199, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[254, 255, 231, 255], &[255, 255, 231, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[1, 0, 24, 0], &[2, 0, 24, 0]),
(&[170, 2, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 2, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[170, 2, 0, 0], &[170, 2, 0, 0], &[227, 0, 0, 0], &[228, 0, 0, 0]),
(&[170, 2, 0, 0], &[86, 253, 255, 255], &[28, 255, 255, 255], &[29, 255, 255, 255]),
(&[170, 2, 0, 0], &[1, 8, 0, 0], &[170, 2, 0, 0], &[171, 2, 0, 0]),
(&[170, 2, 0, 0], &[255, 247, 255, 255], &[85, 253, 255, 255], &[86, 253, 255, 255]),
(&[170, 2, 0, 0], &[0, 44, 0, 0], &[167, 14, 0, 0], &[167, 14, 0, 0]),
(&[170, 2, 0, 0], &[255, 199, 255, 255], &[89, 237, 255, 255], &[90, 237, 255, 255]),
(&[170, 2, 0, 0], &[209, 3, 0, 64], &[69, 1, 80, 21], &[70, 1, 80, 21]),
(&[170, 2, 0, 0], &[47, 252, 255, 191], &[186, 254, 175, 234], &[187, 254, 175, 234]),
(&[86, 253, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[86, 253, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[86, 253, 255, 255], &[170, 2, 0, 0], &[28, 255, 255, 255], &[29, 255, 255, 255]),
(&[86, 253, 255, 255], &[86, 253, 255, 255], &[227, 0, 0, 0], &[228, 0, 0, 0]),
(&[86, 253, 255, 255], &[1, 8, 0, 0], &[85, 253, 255, 255], &[86, 253, 255, 255]),
(&[86, 253, 255, 255], &[255, 247, 255, 255], &[170, 2, 0, 0], &[171, 2, 0, 0]),
(&[86, 253, 255, 255], &[0, 44, 0, 0], &[89, 241, 255, 255], &[89, 241, 255, 255]),
(&[86, 253, 255, 255], &[255, 199, 255, 255], &[166, 18, 0, 0], &[167, 18, 0, 0]),
(&[86, 253, 255, 255], &[209, 3, 0, 64], &[186, 254, 175, 234], &[187, 254, 175, 234]),
(&[86, 253, 255, 255], &[47, 252, 255, 191], &[69, 1, 80, 21], &[70, 1, 80, 21]),
(&[1, 8, 0, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 8, 0, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 8, 0, 0], &[170, 2, 0, 0], &[170, 2, 0, 0], &[171, 2, 0, 0]),
(&[1, 8, 0, 0], &[86, 253, 255, 255], &[85, 253, 255, 255], &[86, 253, 255, 255]),
(&[1, 8, 0, 0], &[1, 8, 0, 0], &[2, 8, 0, 0], &[3, 8, 0, 0]),
(&[1, 8, 0, 0], &[255, 247, 255, 255], &[253, 247, 255, 255], &[254, 247, 255, 255]),
(&[1, 8, 0, 0], &[0, 44, 0, 0], &[5, 44, 0, 0], &[6, 44, 0, 0]),
(&[1, 8, 0, 0], &[255, 199, 255, 255], &[247, 199, 255, 255], &[248, 199, 255, 255]),
(&[1, 8, 0, 0], &[209, 3, 0, 64], &[209, 3, 8, 64], &[210, 3, 8, 64]),
(&[1, 8, 0, 0], &[47, 252, 255, 191], &[46, 252, 247, 191], &[47, 252, 247, 191]),
(&[255, 247, 255, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 247, 255, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 247, 255, 255], &[170, 2, 0, 0], &[85, 253, 255, 255], &[86, 253, 255, 255]),
(&[255, 247, 255, 255], &[86, 253, 255, 255], &[170, 2, 0, 0], &[171, 2, 0, 0]),
(&[255, 247, 255, 255], &[1, 8, 0, 0], &[253, 247, 255, 255], &[254, 247, 255, 255]),
(&[255, 247, 255, 255], &[255, 247, 255, 255], &[2, 8, 0, 0], &[3, 8, 0, 0]),
(&[255, 247, 255, 255], &[0, 44, 0, 0], &[250, 211, 255, 255], &[251, 211, 255, 255]),
(&[255, 247, 255, 255], &[255, 199, 255, 255], &[8, 56, 0, 0], &[9, 56, 0, 0]),
(&[255, 247, 255, 255], &[209, 3, 0, 64], &[46, 252, 247, 191], &[47, 252, 247, 191]),
(&[255, 247, 255, 255], &[47, 252, 255, 191], &[209, 3, 8, 64], &[210, 3, 8, 64]),
(&[0, 44, 0, 0], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[0, 44, 0, 0], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[0, 44, 0, 0], &[170, 2, 0, 0], &[167, 14, 0, 0], &[167, 14, 0, 0]),
(&[0, 44, 0, 0], &[86, 253, 255, 255], &[89, 241, 255, 255], &[89, 241, 255, 255]),
(&[0, 44, 0, 0], &[1, 8, 0, 0], &[5, 44, 0, 0], &[6, 44, 0, 0]),
(&[0, 44, 0, 0], &[255, 247, 255, 255], &[250, 211, 255, 255], &[251, 211, 255, 255]),
(&[0, 44, 0, 0], &[0, 44, 0, 0], &[0, 242, 0, 0], &[0, 242, 0, 0]),
(&[0, 44, 0, 0], &[255, 199, 255, 255], &[250, 203, 254, 255], &[251, 203, 254, 255]),
(&[255, 199, 255, 255], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 199, 255, 255], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[255, 199, 255, 255], &[170, 2, 0, 0], &[89, 237, 255, 255], &[90, 237, 255, 255]),
(&[255, 199, 255, 255], &[86, 253, 255, 255], &[166, 18, 0, 0], &[167, 18, 0, 0]),
(&[255, 199, 255, 255], &[1, 8, 0, 0], &[247, 199, 255, 255], &[248, 199, 255, 255]),
(&[255, 199, 255, 255], &[255, 247, 255, 255], &[8, 56, 0, 0], &[9, 56, 0, 0]),
(&[255, 199, 255, 255], &[0, 44, 0, 0], &[250, 203, 254, 255], &[251, 203, 254, 255]),
(&[255, 199, 255, 255], &[255, 199, 255, 255], &[14, 136, 1, 0], &[15, 136, 1, 0]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[1, 0, 24, 0], &[2, 0, 24, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[254, 255, 231, 255], &[255, 255, 231, 255]),
(&[209, 3, 0, 64], &[170, 2, 0, 0], &[69, 1, 80, 21], &[70, 1, 80, 21]),
(&[209, 3, 0, 64], &[86, 253, 255, 255], &[186, 254, 175, 234], &[187, 254, 175, 234]),
(&[209, 3, 0, 64], &[1, 8, 0, 0], &[209, 3, 8, 64], &[210, 3, 8, 64]),
(&[209, 3, 0, 64], &[255, 247, 255, 255], &[46, 252, 247, 191], &[47, 252, 247, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[254, 255, 231, 255], &[255, 255, 231, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[1, 0, 24, 0], &[2, 0, 24, 0]),
(&[47, 252, 255, 191], &[170, 2, 0, 0], &[186, 254, 175, 234], &[187, 254, 175, 234]),
(&[47, 252, 255, 191], &[86, 253, 255, 255], &[69, 1, 80, 21], &[70, 1, 80, 21]),
(&[47, 252, 255, 191], &[1, 8, 0, 0], &[46, 252, 247, 191], &[47, 252, 247, 191]),
(&[47, 252, 255, 191], &[255, 247, 255, 255], &[209, 3, 8, 64], &[210, 3, 8, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 8, 0, 0], &[0, 8, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 248, 255, 255], &[0, 248, 255, 255]),
(&[3, 0, 0, 0], &[170, 2, 0, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 253, 255, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 8, 0, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 247, 255, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 44, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 199, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 248, 255, 255], &[0, 248, 255, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 8, 0, 0], &[0, 8, 0, 0]),
(&[253, 255, 255, 255], &[170, 2, 0, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[86, 253, 255, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 8, 0, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 247, 255, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 44, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 199, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 2, 0, 0], &[3, 0, 0, 0], &[170, 26, 7, 0], &[171, 26, 7, 0]),
(&[170, 2, 0, 0], &[253, 255, 255, 255], &[85, 229, 248, 255], &[86, 229, 248, 255]),
(&[170, 2, 0, 0], &[170, 2, 0, 0], &[0, 8, 0, 0], &[0, 8, 0, 0]),
(&[170, 2, 0, 0], &[86, 253, 255, 255], &[0, 248, 255, 255], &[0, 248, 255, 255]),
(&[170, 2, 0, 0], &[1, 8, 0, 0], &[169, 2, 0, 0], &[170, 2, 0, 0]),
(&[170, 2, 0, 0], &[255, 247, 255, 255], &[86, 253, 255, 255], &[87, 253, 255, 255]),
(&[170, 2, 0, 0], &[0, 44, 0, 0], &[124, 0, 0, 0], &[124, 0, 0, 0]),
(&[170, 2, 0, 0], &[255, 199, 255, 255], &[158, 255, 255, 255], &[159, 255, 255, 255]),
(&[170, 2, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 2, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[86, 253, 255, 255], &[3, 0, 0, 0], &[85, 229, 248, 255], &[86, 229, 248, 255]),
(&[86, 253, 255, 255], &[253, 255, 255, 255], &[170, 26, 7, 0], &[171, 26, 7, 0]),
(&[86, 253, 255, 255], &[170, 2, 0, 0], &[0, 248, 255, 255], &[0, 248, 255, 255]),
(&[86, 253, 255, 255], &[86, 253, 255, 255], &[0, 8, 0, 0], &[0, 8, 0, 0]),
(&[86, 253, 255, 255], &[1, 8, 0, 0], &[86, 253, 255, 255], &[87, 253, 255, 255]),
(&[86, 253, 255, 255], &[255, 247, 255, 255], &[169, 2, 0, 0], &[170, 2, 0, 0]),
(&[86, 253, 255, 255], &[0, 44, 0, 0], &[132, 255, 255, 255], &[132, 255, 255, 255]),
(&[86, 253, 255, 255], &[255, 199, 255, 255], &[97, 0, 0, 0], &[98, 0, 0, 0]),
(&[86, 253, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[86, 253, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[1, 8, 0, 0], &[3, 0, 0, 0], &[0, 88, 21, 0], &[0, 88, 21, 0]),
(&[1, 8, 0, 0], &[253, 255, 255, 255], &[0, 168, 234, 255], &[0, 168, 234, 255]),
(&[1, 8, 0, 0], &[170, 2, 0, 0], &[9, 24, 0, 0], &[10, 24, 0, 0]),
(&[1, 8, 0, 0], &[86, 253, 255, 255], &[246, 231, 255, 255], &[247, 231, 255, 255]),
(&[1, 8, 0, 0], &[1, 8, 0, 0], &[0, 8, 0, 0], &[0, 8, 0, 0]),
(&[1, 8, 0, 0], &[255, 247, 255, 255], &[0, 248, 255, 255], &[0, 248, 255, 255]),
(&[1, 8, 0, 0], &[0, 44, 0, 0], &[116, 1, 0, 0], &[117, 1, 0, 0]),
(&[1, 8, 0, 0], &[255, 199, 255, 255], &[219, 254, 255, 255], &[220, 254, 255, 255]),
(&[1, 8, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[1, 8, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 247, 255, 255], &[3, 0, 0, 0], &[0, 168, 234, 255], &[0, 168, 234, 255]),
(&[255, 247, 255, 255], &[253, 255, 255, 255], &[0, 88, 21, 0], &[0, 88, 21, 0]),
(&[255, 247, 255, 255], &[170, 2, 0, 0], &[246, 231, 255, 255], &[247, 231, 255, 255]),
(&[255, 247, 255, 255], &[86, 253, 255, 255], &[9, 24, 0, 0], &[10, 24, 0, 0]),
(&[255, 247, 255, 255], &[1, 8, 0, 0], &[0, 248, 255, 255], &[0, 248, 255, 255]),
(&[255, 247, 255, 255], &[255, 247, 255, 255], &[0, 8, 0, 0], &[0, 8, 0, 0]),
(&[255, 247, 255, 255], &[0, 44, 0, 0], &[139, 254, 255, 255], &[140, 254, 255, 255]),
(&[255, 247, 255, 255], &[255, 199, 255, 255], &[36, 1, 0, 0], &[37, 1, 0, 0]),
(&[255, 247, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 247, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[0, 44, 0, 0], &[3, 0, 0, 0], &[85, 85, 117, 0], &[86, 85, 117, 0]),
(&[0, 44, 0, 0], &[253, 255, 255, 255], &[170, 170, 138, 255], &[171, 170, 138, 255]),
(&[0, 44, 0, 0], &[170, 2, 0, 0], &[33, 132, 0, 0], &[34, 132, 0, 0]),
(&[0, 44, 0, 0], &[86, 253, 255, 255], &[222, 123, 255, 255], &[223, 123, 255, 255]),
(&[0, 44, 0, 0], &[1, 8, 0, 0], &[250, 43, 0, 0], &[251, 43, 0, 0]),
(&[0, 44, 0, 0], &[255, 247, 255, 255], &[5, 212, 255, 255], &[6, 212, 255, 255]),
(&[0, 44, 0, 0], &[0, 44, 0, 0], &[0, 8, 0, 0], &[0, 8, 0, 0]),
(&[0, 44, 0, 0], &[255, 199, 255, 255], &[182, 249, 255, 255], &[183, 249, 255, 255]),
(&[0, 44, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[0, 44, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 199, 255, 255], &[3, 0, 0, 0], &[0, 168, 106, 255], &[0, 168, 106, 255]),
(&[255, 199, 255, 255], &[253, 255, 255, 255], &[0, 88, 149, 0], &[0, 88, 149, 0]),
(&[255, 199, 255, 255], &[170, 2, 0, 0], &[210, 87, 255, 255], &[211, 87, 255, 255]),
(&[255, 199, 255, 255], &[86, 253, 255, 255], &[45, 168, 0, 0], &[46, 168, 0, 0]),
(&[255, 199, 255, 255], &[1, 8, 0, 0], &[5, 200, 255, 255], &[6, 200, 255, 255]),
(&[255, 199, 255, 255], &[255, 247, 255, 255], &[250, 55, 0, 0], &[251, 55, 0, 0]),
(&[255, 199, 255, 255], &[0, 44, 0, 0], &[209, 245, 255, 255], &[210, 245, 255, 255]),
(&[255, 199, 255, 255], &[255, 199, 255, 255], &[0, 8, 0, 0], &[0, 8, 0, 0]),
(&[255, 199, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 199, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[209, 3, 0, 64], &[1, 8, 0, 0], &[208, 4, 248, 63], &[209, 4, 248, 63]),
(&[209, 3, 0, 64], &[255, 247, 255, 255], &[47, 251, 7, 192], &[48, 251, 7, 192]),
(&[209, 3, 0, 64], &[0, 44, 0, 0], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[255, 199, 255, 255], &[246, 150, 219, 246], &[247, 150, 219, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 8, 0, 0], &[0, 8, 0, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 248, 255, 255], &[0, 248, 255, 255]),
(&[47, 252, 255, 191], &[1, 8, 0, 0], &[47, 251, 7, 192], &[48, 251, 7, 192]),
(&[47, 252, 255, 191], &[255, 247, 255, 255], &[208, 4, 248, 63], &[209, 4, 248, 63]),
(&[47, 252, 255, 191], &[0, 44, 0, 0], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[255, 199, 255, 255], &[9, 105, 36, 9], &[10, 105, 36, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 248, 255, 255], &[0, 248, 255, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 8, 0, 0], &[0, 8, 0, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[36, 15, 0, 0], &[37, 15, 0, 0]),
(50, &[9, 22, 0, 0], &[10, 22, 0, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 4, 0, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 4, 0, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 4, 0, 0], &[0, 4, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 4, 0, 0], &[0, 4, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[0, 4, 0, 0], &[0, 250, 255, 255], &[0, 5, 0, 0]], &[&[0, 8, 0, 0], &[0, 2, 0, 0], &[0, 255, 255, 255], &[0, 2, 0, 0], &[0, 16, 0, 0], &[128, 0, 0, 0], &[0, 255, 255, 255], &[128, 0, 0, 0], &[0, 4, 0, 0]], &[248, 9, 0, 0], &[248, 9, 0, 0], &[248, 9, 0, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[254, 255, 255, 255], &[255, 255, 255, 255], &[255, 255, 255, 255]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[1, 0, 0, 0], &[2, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[253, 255, 255, 255], &[254, 255, 255, 255], &[254, 255, 255, 255]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[2, 0, 0, 0], &[3, 0, 0, 0], &[2, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[1, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[253, 255, 255, 255], &[254, 255, 255, 255], &[253, 255, 255, 255]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[255, 255, 255, 255]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[6, 0, 0, 0], &[7, 0, 0, 0], &[7, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[2, 0, 0, 0], &[3, 0, 0, 0], &[2, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[254, 255, 255, 255], &[255, 255, 255, 255], &[255, 255, 255, 255]),
(2, &[&[47, 124, 0, 0], &[246, 75, 0, 0]], &[&[47, 124, 0, 0], &[101, 41, 0, 0], &[214, 24, 0, 0], &[46, 124, 0, 0]], &[19, 193, 198, 0], &[20, 193, 198, 0], &[20, 193, 198, 0]),
(2, &[&[209, 131, 255, 255], &[10, 180, 255, 255]], &[&[47, 124, 0, 0], &[101, 41, 0, 0], &[214, 24, 0, 0], &[46, 124, 0, 0]], &[19, 193, 198, 0], &[20, 193, 198, 0], &[20, 193, 198, 0]),
(2, &[&[47, 124, 0, 0], &[246, 75, 0, 0]], &[&[209, 131, 255, 255], &[155, 214, 255, 255], &[42, 231, 255, 255], &[210, 131, 255, 255]], &[236, 62, 57, 255], &[237, 62, 57, 255], &[236, 62, 57, 255]),
(2, &[&[209, 131, 255, 255], &[10, 180, 255, 255]], &[&[209, 131, 255, 255], &[155, 214, 255, 255], &[42, 231, 255, 255], &[210, 131, 255, 255]], &[236, 62, 57, 255], &[237, 62, 57, 255], &[236, 62, 57, 255]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f12 {
pub const FRAC_BITS: u32 = 12;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[64, 0, 0, 0], &[64, 0, 0, 0]),
(&[2, 0, 0, 0], &[90, 0, 0, 0], &[91, 0, 0, 0]),
(&[3, 0, 0, 0], &[110, 0, 0, 0], &[111, 0, 0, 0]),
(&[0, 16, 0, 0], &[0, 16, 0, 0], &[0, 16, 0, 0]),
(&[0, 32, 0, 0], &[160, 22, 0, 0], &[161, 22, 0, 0]),
(&[0, 64, 0, 0], &[0, 32, 0, 0], &[0, 32, 0, 0]),
(&[0, 8, 0, 0], &[80, 11, 0, 0], &[81, 11, 0, 0]),
(&[1, 4, 0, 0], &[0, 8, 0, 0], &[1, 8, 0, 0]),
(&[57, 48, 0, 64], &[12, 0, 32, 0], &[13, 0, 32, 0]),
(&[255, 255, 255, 127], &[60, 65, 45, 0], &[61, 65, 45, 0]),
(&[73, 50, 0, 0], &[93, 28, 0, 0], &[94, 28, 0, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[85, 5, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 250, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 16, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 239, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 88, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 143, 255, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 12, 0], &[1, 0, 12, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 243, 255], &[0, 0, 244, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[85, 5, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[171, 250, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 16, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 239, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 88, 0, 0], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 143, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 243, 255], &[0, 0, 244, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 12, 0], &[1, 0, 12, 0]),
(&[85, 5, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 5, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[85, 5, 0, 0], &[85, 5, 0, 0], &[198, 1, 0, 0], &[199, 1, 0, 0]),
(&[85, 5, 0, 0], &[171, 250, 255, 255], &[57, 254, 255, 255], &[58, 254, 255, 255]),
(&[85, 5, 0, 0], &[1, 16, 0, 0], &[85, 5, 0, 0], &[86, 5, 0, 0]),
(&[85, 5, 0, 0], &[255, 239, 255, 255], &[170, 250, 255, 255], &[171, 250, 255, 255]),
(&[85, 5, 0, 0], &[0, 88, 0, 0], &[83, 29, 0, 0], &[84, 29, 0, 0]),
(&[85, 5, 0, 0], &[255, 143, 255, 255], &[172, 218, 255, 255], &[173, 218, 255, 255]),
(&[85, 5, 0, 0], &[209, 3, 0, 64], &[69, 1, 84, 21], &[70, 1, 84, 21]),
(&[85, 5, 0, 0], &[47, 252, 255, 191], &[186, 254, 171, 234], &[187, 254, 171, 234]),
(&[171, 250, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[171, 250, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[171, 250, 255, 255], &[85, 5, 0, 0], &[57, 254, 255, 255], &[58, 254, 255, 255]),
(&[171, 250, 255, 255], &[171, 250, 255, 255], &[198, 1, 0, 0], &[199, 1, 0, 0]),
(&[171, 250, 255, 255], &[1, 16, 0, 0], &[170, 250, 255, 255], &[171, 250, 255, 255]),
(&[171, 250, 255, 255], &[255, 239, 255, 255], &[85, 5, 0, 0], &[86, 5, 0, 0]),
(&[171, 250, 255, 255], &[0, 88, 0, 0], &[172, 226, 255, 255], &[173, 226, 255, 255]),
(&[171, 250, 255, 255], &[255, 143, 255, 255], &[83, 37, 0, 0], &[84, 37, 0, 0]),
(&[171, 250, 255, 255], &[209, 3, 0, 64], &[186, 254, 171, 234], &[187, 254, 171, 234]),
(&[171, 250, 255, 255], &[47, 252, 255, 191], &[69, 1, 84, 21], &[70, 1, 84, 21]),
(&[1, 16, 0, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 16, 0, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 16, 0, 0], &[85, 5, 0, 0], &[85, 5, 0, 0], &[86, 5, 0, 0]),
(&[1, 16, 0, 0], &[171, 250, 255, 255], &[170, 250, 255, 255], &[171, 250, 255, 255]),
(&[1, 16, 0, 0], &[1, 16, 0, 0], &[2, 16, 0, 0], &[3, 16, 0, 0]),
(&[1, 16, 0, 0], &[255, 239, 255, 255], &[253, 239, 255, 255], &[254, 239, 255, 255]),
(&[1, 16, 0, 0], &[0, 88, 0, 0], &[5, 88, 0, 0], &[6, 88, 0, 0]),
(&[1, 16, 0, 0], &[255, 143, 255, 255], &[247, 143, 255, 255], &[248, 143, 255, 255]),
(&[1, 16, 0, 0], &[209, 3, 0, 64], &[209, 3, 4, 64], &[210, 3, 4, 64]),
(&[1, 16, 0, 0], &[47, 252, 255, 191], &[46, 252, 251, 191], &[47, 252, 251, 191]),
(&[255, 239, 255, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 239, 255, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 239, 255, 255], &[85, 5, 0, 0], &[170, 250, 255, 255], &[171, 250, 255, 255]),
(&[255, 239, 255, 255], &[171, 250, 255, 255], &[85, 5, 0, 0], &[86, 5, 0, 0]),
(&[255, 239, 255, 255], &[1, 16, 0, 0], &[253, 239, 255, 255], &[254, 239, 255, 255]),
(&[255, 239, 255, 255], &[255, 239, 255, 255], &[2, 16, 0, 0], &[3, 16, 0, 0]),
(&[255, 239, 255, 255], &[0, 88, 0, 0], &[250, 167, 255, 255], &[251, 167, 255, 255]),
(&[255, 239, 255, 255], &[255, 143, 255, 255], &[8, 112, 0, 0], &[9, 112, 0, 0]),
(&[255, 239, 255, 255], &[209, 3, 0, 64], &[46, 252, 251, 191], &[47, 252, 251, 191]),
(&[255, 239, 255, 255], &[47, 252, 255, 191], &[209, 3, 4, 64], &[210, 3, 4, 64]),
(&[0, 88, 0, 0], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[0, 88, 0, 0], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[0, 88, 0, 0], &[85, 5, 0, 0], &[83, 29, 0, 0], &[84, 29, 0, 0]),
(&[0, 88, 0, 0], &[171, 250, 255, 255], &[172, 226, 255, 255], &[173, 226, 255, 255]),
(&[0, 88, 0, 0], &[1, 16, 0, 0], &[5, 88, 0, 0], &[6, 88, 0, 0]),
(&[0, 88, 0, 0], &[255, 239, 255, 255], &[250, 167, 255, 255], &[251, 167, 255, 255]),
(&[0, 88, 0, 0], &[0, 88, 0, 0], &[0, 228, 1, 0], &[0, 228, 1, 0]),
(&[0, 88, 0, 0], &[255, 143, 255, 255], &[250, 151, 253, 255], &[251, 151, 253, 255]),
(&[255, 143, 255, 255], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 143, 255, 255], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[255, 143, 255, 255], &[85, 5, 0, 0], &[172, 218, 255, 255], &[173, 218, 255, 255]),
(&[255, 143, 255, 255], &[171, 250, 255, 255], &[83, 37, 0, 0], &[84, 37, 0, 0]),
(&[255, 143, 255, 255], &[1, 16, 0, 0], &[247, 143, 255, 255], &[248, 143, 255, 255]),
(&[255, 143, 255, 255], &[255, 239, 255, 255], &[8, 112, 0, 0], &[9, 112, 0, 0]),
(&[255, 143, 255, 255], &[0, 88, 0, 0], &[250, 151, 253, 255], &[251, 151, 253, 255]),
(&[255, 143, 255, 255], &[255, 143, 255, 255], &[14, 16, 3, 0], &[15, 16, 3, 0]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[0, 0, 12, 0], &[1, 0, 12, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[255, 255, 243, 255], &[0, 0, 244, 255]),
(&[209, 3, 0, 64], &[85, 5, 0, 0], &[69, 1, 84, 21], &[70, 1, 84, 21]),
(&[209, 3, 0, 64], &[171, 250, 255, 255], &[186, 254, 171, 234], &[187, 254, 171, 234]),
(&[209, 3, 0, 64], &[1, 16, 0, 0], &[209, 3, 4, 64], &[210, 3, 4, 64]),
(&[209, 3, 0, 64], &[255, 239, 255, 255], &[46, 252, 251, 191], &[47, 252, 251, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[255, 255, 243, 255], &[0, 0, 244, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[0, 0, 12, 0], &[1, 0, 12, 0]),
(&[47, 252, 255, 191], &[85, 5, 0, 0], &[186, 254, 171, 234], &[187, 254, 171, 234]),
(&[47, 252, 255, 191], &[171, 250, 255, 255], &[69, 1, 84, 21], &[70, 1, 84, 21]),
(&[47, 252, 255, 191], &[1, 16, 0, 0], &[46, 252, 251, 191], &[47, 252, 251, 191]),
(&[47, 252, 255, 191], &[255, 239, 255, 255], &[209, 3, 4, 64], &[210, 3, 4, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 16, 0, 0], &[0, 16, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 240, 255, 255], &[0, 240, 255, 255]),
(&[3, 0, 0, 0], &[85, 5, 0, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 250, 255, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 16, 0, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 239, 255, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 88, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 143, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 240, 255, 255], &[0, 240, 255, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 16, 0, 0], &[0, 16, 0, 0]),
(&[253, 255, 255, 255], &[85, 5, 0, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[171, 250, 255, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 16, 0, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 239, 255, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 88, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 143, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 5, 0, 0], &[3, 0, 0, 0], &[0, 112, 28, 0], &[0, 112, 28, 0]),
(&[85, 5, 0, 0], &[253, 255, 255, 255], &[0, 144, 227, 255], &[0, 144, 227, 255]),
(&[85, 5, 0, 0], &[85, 5, 0, 0], &[0, 16, 0, 0], &[0, 16, 0, 0]),
(&[85, 5, 0, 0], &[171, 250, 255, 255], &[0, 240, 255, 255], &[0, 240, 255, 255]),
(&[85, 5, 0, 0], &[1, 16, 0, 0], &[84, 5, 0, 0], &[85, 5, 0, 0]),
(&[85, 5, 0, 0], &[255, 239, 255, 255], &[171, 250, 255, 255], &[172, 250, 255, 255]),
(&[85, 5, 0, 0], &[0, 88, 0, 0], &[248, 0, 0, 0], &[249, 0, 0, 0]),
(&[85, 5, 0, 0], &[255, 143, 255, 255], &[61, 255, 255, 255], &[62, 255, 255, 255]),
(&[85, 5, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 5, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[171, 250, 255, 255], &[3, 0, 0, 0], &[0, 144, 227, 255], &[0, 144, 227, 255]),
(&[171, 250, 255, 255], &[253, 255, 255, 255], &[0, 112, 28, 0], &[0, 112, 28, 0]),
(&[171, 250, 255, 255], &[85, 5, 0, 0], &[0, 240, 255, 255], &[0, 240, 255, 255]),
(&[171, 250, 255, 255], &[171, 250, 255, 255], &[0, 16, 0, 0], &[0, 16, 0, 0]),
(&[171, 250, 255, 255], &[1, 16, 0, 0], &[171, 250, 255, 255], &[172, 250, 255, 255]),
(&[171, 250, 255, 255], &[255, 239, 255, 255], &[84, 5, 0, 0], &[85, 5, 0, 0]),
(&[171, 250, 255, 255], &[0, 88, 0, 0], &[7, 255, 255, 255], &[8, 255, 255, 255]),
(&[171, 250, 255, 255], &[255, 143, 255, 255], &[194, 0, 0, 0], &[195, 0, 0, 0]),
(&[171, 250, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[171, 250, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[1, 16, 0, 0], &[3, 0, 0, 0], &[170, 90, 85, 0], &[171, 90, 85, 0]),
(&[1, 16, 0, 0], &[253, 255, 255, 255], &[85, 165, 170, 255], &[86, 165, 170, 255]),
(&[1, 16, 0, 0], &[85, 5, 0, 0], &[6, 48, 0, 0], &[7, 48, 0, 0]),
(&[1, 16, 0, 0], &[171, 250, 255, 255], &[249, 207, 255, 255], &[250, 207, 255, 255]),
(&[1, 16, 0, 0], &[1, 16, 0, 0], &[0, 16, 0, 0], &[0, 16, 0, 0]),
(&[1, 16, 0, 0], &[255, 239, 255, 255], &[0, 240, 255, 255], &[0, 240, 255, 255]),
(&[1, 16, 0, 0], &[0, 88, 0, 0], &[232, 2, 0, 0], &[233, 2, 0, 0]),
(&[1, 16, 0, 0], &[255, 143, 255, 255], &[182, 253, 255, 255], &[183, 253, 255, 255]),
(&[1, 16, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[1, 16, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 239, 255, 255], &[3, 0, 0, 0], &[85, 165, 170, 255], &[86, 165, 170, 255]),
(&[255, 239, 255, 255], &[253, 255, 255, 255], &[170, 90, 85, 0], &[171, 90, 85, 0]),
(&[255, 239, 255, 255], &[85, 5, 0, 0], &[249, 207, 255, 255], &[250, 207, 255, 255]),
(&[255, 239, 255, 255], &[171, 250, 255, 255], &[6, 48, 0, 0], &[7, 48, 0, 0]),
(&[255, 239, 255, 255], &[1, 16, 0, 0], &[0, 240, 255, 255], &[0, 240, 255, 255]),
(&[255, 239, 255, 255], &[255, 239, 255, 255], &[0, 16, 0, 0], &[0, 16, 0, 0]),
(&[255, 239, 255, 255], &[0, 88, 0, 0], &[23, 253, 255, 255], &[24, 253, 255, 255]),
(&[255, 239, 255, 255], &[255, 143, 255, 255], &[73, 2, 0, 0], &[74, 2, 0, 0]),
(&[255, 239, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 239, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[0, 88, 0, 0], &[3, 0, 0, 0], &[85, 85, 213, 1], &[86, 85, 213, 1]),
(&[0, 88, 0, 0], &[253, 255, 255, 255], &[170, 170, 42, 254], &[171, 170, 42, 254]),
(&[0, 88, 0, 0], &[85, 5, 0, 0], &[16, 8, 1, 0], &[17, 8, 1, 0]),
(&[0, 88, 0, 0], &[171, 250, 255, 255], &[239, 247, 254, 255], &[240, 247, 254, 255]),
(&[0, 88, 0, 0], &[1, 16, 0, 0], &[250, 87, 0, 0], &[251, 87, 0, 0]),
(&[0, 88, 0, 0], &[255, 239, 255, 255], &[5, 168, 255, 255], &[6, 168, 255, 255]),
(&[0, 88, 0, 0], &[0, 88, 0, 0], &[0, 16, 0, 0], &[0, 16, 0, 0]),
(&[0, 88, 0, 0], &[255, 143, 255, 255], &[109, 243, 255, 255], &[110, 243, 255, 255]),
(&[0, 88, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[0, 88, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 143, 255, 255], &[3, 0, 0, 0], &[85, 165, 170, 253], &[86, 165, 170, 253]),
(&[255, 143, 255, 255], &[253, 255, 255, 255], &[170, 90, 85, 2], &[171, 90, 85, 2]),
(&[255, 143, 255, 255], &[85, 5, 0, 0], &[231, 175, 254, 255], &[232, 175, 254, 255]),
(&[255, 143, 255, 255], &[171, 250, 255, 255], &[24, 80, 1, 0], &[25, 80, 1, 0]),
(&[255, 143, 255, 255], &[1, 16, 0, 0], &[5, 144, 255, 255], &[6, 144, 255, 255]),
(&[255, 143, 255, 255], &[255, 239, 255, 255], &[250, 111, 0, 0], &[251, 111, 0, 0]),
(&[255, 143, 255, 255], &[0, 88, 0, 0], &[162, 235, 255, 255], &[163, 235, 255, 255]),
(&[255, 143, 255, 255], &[255, 143, 255, 255], &[0, 16, 0, 0], &[0, 16, 0, 0]),
(&[255, 143, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 143, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[209, 3, 0, 64], &[1, 16, 0, 0], &[16, 4, 252, 63], &[17, 4, 252, 63]),
(&[209, 3, 0, 64], &[255, 239, 255, 255], &[239, 251, 3, 192], &[240, 251, 3, 192]),
(&[209, 3, 0, 64], &[0, 88, 0, 0], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[255, 143, 255, 255], &[16, 130, 219, 246], &[17, 130, 219, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 16, 0, 0], &[0, 16, 0, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 240, 255, 255], &[0, 240, 255, 255]),
(&[47, 252, 255, 191], &[1, 16, 0, 0], &[239, 251, 3, 192], &[240, 251, 3, 192]),
(&[47, 252, 255, 191], &[255, 239, 255, 255], &[16, 4, 252, 63], &[17, 4, 252, 63]),
(&[47, 252, 255, 191], &[0, 88, 0, 0], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[255, 143, 255, 255], &[239, 125, 36, 9], &[240, 125, 36, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 240, 255, 255], &[0, 240, 255, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 16, 0, 0], &[0, 16, 0, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[73, 30, 0, 0], &[74, 30, 0, 0]),
(50, &[19, 44, 0, 0], &[20, 44, 0, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 8, 0, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 8, 0, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 8, 0, 0], &[0, 8, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 8, 0, 0], &[0, 8, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[0, 8, 0, 0], &[0, 244, 255, 255], &[0, 10, 0, 0]], &[&[0, 16, 0, 0], &[0, 4, 0, 0], &[0, 254, 255, 255], &[0, 4, 0, 0], &[0, 32, 0, 0], &[0, 1, 0, 0], &[0, 254, 255, 255], &[0, 1, 0, 0], &[0, 8, 0, 0]], &[240, 19, 0, 0], &[240, 19, 0, 0], &[240, 19, 0, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[255, 255, 255, 255]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[255, 255, 255, 255]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[1, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[47, 252, 0, 0], &[246, 203, 0, 0]], &[&[47, 252, 0, 0], &[15, 84, 0, 0], &[111, 50, 0, 0], &[46, 252, 0, 0]], &[244, 89, 254, 1], &[245, 89, 254, 1], &[244, 89, 254, 1]),
(2, &[&[209, 3, 255, 255], &[10, 52, 255, 255]], &[&[47, 252, 0, 0], &[15, 84, 0, 0], &[111, 50, 0, 0], &[46, 252, 0, 0]], &[244, 89, 254, 1], &[245, 89, 254, 1], &[244, 89, 254, 1]),
(2, &[&[47, 252, 0, 0], &[246, 203, 0, 0]], &[&[209, 3, 255, 255], &[241, 171, 255, 255], &[145, 205, 255, 255], &[210, 3, 255, 255]], &[11, 166, 1, 254], &[12, 166, 1, 254], &[12, 166, 1, 254]),
(2, &[&[209, 3, 255, 255], &[10, 52, 255, 255]], &[&[209, 3, 255, 255], &[241, 171, 255, 255], &[145, 205, 255, 255], &[210, 3, 255, 255]], &[11, 166, 1, 254], &[12, 166, 1, 254], &[12, 166, 1, 254]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f13 {
pub const FRAC_BITS: u32 = 13;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[90, 0, 0, 0], &[91, 0, 0, 0]),
(&[2, 0, 0, 0], &[128, 0, 0, 0], &[128, 0, 0, 0]),
(&[3, 0, 0, 0], &[156, 0, 0, 0], &[157, 0, 0, 0]),
(&[0, 32, 0, 0], &[0, 32, 0, 0], &[0, 32, 0, 0]),
(&[0, 64, 0, 0], &[65, 45, 0, 0], &[66, 45, 0, 0]),
(&[0, 128, 0, 0], &[0, 64, 0, 0], &[0, 64, 0, 0]),
(&[0, 16, 0, 0], &[160, 22, 0, 0], &[161, 22, 0, 0]),
(&[1, 8, 0, 0], &[0, 16, 0, 0], &[1, 16, 0, 0]),
(&[57, 48, 0, 64], &[77, 65, 45, 0], &[78, 65, 45, 0]),
(&[255, 255, 255, 127], &[255, 255, 63, 0], &[0, 0, 64, 0]),
(&[146, 100, 0, 0], &[186, 56, 0, 0], &[187, 56, 0, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[170, 10, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 245, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 32, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 223, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 176, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 31, 255, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 6, 0], &[1, 0, 6, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 249, 255], &[0, 0, 250, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[170, 10, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[86, 245, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 32, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 223, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 176, 0, 0], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 31, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 249, 255], &[0, 0, 250, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 6, 0], &[1, 0, 6, 0]),
(&[170, 10, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 10, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[170, 10, 0, 0], &[170, 10, 0, 0], &[141, 3, 0, 0], &[142, 3, 0, 0]),
(&[170, 10, 0, 0], &[86, 245, 255, 255], &[114, 252, 255, 255], &[115, 252, 255, 255]),
(&[170, 10, 0, 0], &[1, 32, 0, 0], &[170, 10, 0, 0], &[171, 10, 0, 0]),
(&[170, 10, 0, 0], &[255, 223, 255, 255], &[85, 245, 255, 255], &[86, 245, 255, 255]),
(&[170, 10, 0, 0], &[0, 176, 0, 0], &[167, 58, 0, 0], &[167, 58, 0, 0]),
(&[170, 10, 0, 0], &[255, 31, 255, 255], &[89, 181, 255, 255], &[90, 181, 255, 255]),
(&[170, 10, 0, 0], &[209, 3, 0, 64], &[69, 1, 84, 21], &[70, 1, 84, 21]),
(&[170, 10, 0, 0], &[47, 252, 255, 191], &[186, 254, 171, 234], &[187, 254, 171, 234]),
(&[86, 245, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[86, 245, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[86, 245, 255, 255], &[170, 10, 0, 0], &[114, 252, 255, 255], &[115, 252, 255, 255]),
(&[86, 245, 255, 255], &[86, 245, 255, 255], &[141, 3, 0, 0], &[142, 3, 0, 0]),
(&[86, 245, 255, 255], &[1, 32, 0, 0], &[85, 245, 255, 255], &[86, 245, 255, 255]),
(&[86, 245, 255, 255], &[255, 223, 255, 255], &[170, 10, 0, 0], &[171, 10, 0, 0]),
(&[86, 245, 255, 255], &[0, 176, 0, 0], &[89, 197, 255, 255], &[89, 197, 255, 255]),
(&[86, 245, 255, 255], &[255, 31, 255, 255], &[166, 74, 0, 0], &[167, 74, 0, 0]),
(&[86, 245, 255, 255], &[209, 3, 0, 64], &[186, 254, 171, 234], &[187, 254, 171, 234]),
(&[86, 245, 255, 255], &[47, 252, 255, 191], &[69, 1, 84, 21], &[70, 1, 84, 21]),
(&[1, 32, 0, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 32, 0, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 32, 0, 0], &[170, 10, 0, 0], &[170, 10, 0, 0], &[171, 10, 0, 0]),
(&[1, 32, 0, 0], &[86, 245, 255, 255], &[85, 245, 255, 255], &[86, 245, 255, 255]),
(&[1, 32, 0, 0], &[1, 32, 0, 0], &[2, 32, 0, 0], &[3, 32, 0, 0]),
(&[1, 32, 0, 0], &[255, 223, 255, 255], &[253, 223, 255, 255], &[254, 223, 255, 255]),
(&[1, 32, 0, 0], &[0, 176, 0, 0], &[5, 176, 0, 0], &[6, 176, 0, 0]),
(&[1, 32, 0, 0], &[255, 31, 255, 255], &[247, 31, 255, 255], &[248, 31, 255, 255]),
(&[1, 32, 0, 0], &[209, 3, 0, 64], &[209, 3, 2, 64], &[210, 3, 2, 64]),
(&[1, 32, 0, 0], &[47, 252, 255, 191], &[46, 252, 253, 191], &[47, 252, 253, 191]),
(&[255, 223, 255, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 223, 255, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 223, 255, 255], &[170, 10, 0, 0], &[85, 245, 255, 255], &[86, 245, 255, 255]),
(&[255, 223, 255, 255], &[86, 245, 255, 255], &[170, 10, 0, 0], &[171, 10, 0, 0]),
(&[255, 223, 255, 255], &[1, 32, 0, 0], &[253, 223, 255, 255], &[254, 223, 255, 255]),
(&[255, 223, 255, 255], &[255, 223, 255, 255], &[2, 32, 0, 0], &[3, 32, 0, 0]),
(&[255, 223, 255, 255], &[0, 176, 0, 0], &[250, 79, 255, 255], &[251, 79, 255, 255]),
(&[255, 223, 255, 255], &[255, 31, 255, 255], &[8, 224, 0, 0], &[9, 224, 0, 0]),
(&[255, 223, 255, 255], &[209, 3, 0, 64], &[46, 252, 253, 191], &[47, 252, 253, 191]),
(&[255, 223, 255, 255], &[47, 252, 255, 191], &[209, 3, 2, 64], &[210, 3, 2, 64]),
(&[0, 176, 0, 0], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[0, 176, 0, 0], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[0, 176, 0, 0], &[170, 10, 0, 0], &[167, 58, 0, 0], &[167, 58, 0, 0]),
(&[0, 176, 0, 0], &[86, 245, 255, 255], &[89, 197, 255, 255], &[89, 197, 255, 255]),
(&[0, 176, 0, 0], &[1, 32, 0, 0], &[5, 176, 0, 0], &[6, 176, 0, 0]),
(&[0, 176, 0, 0], &[255, 223, 255, 255], &[250, 79, 255, 255], &[251, 79, 255, 255]),
(&[0, 176, 0, 0], &[0, 176, 0, 0], &[0, 200, 3, 0], &[0, 200, 3, 0]),
(&[0, 176, 0, 0], &[255, 31, 255, 255], &[250, 47, 251, 255], &[251, 47, 251, 255]),
(&[255, 31, 255, 255], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 31, 255, 255], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[255, 31, 255, 255], &[170, 10, 0, 0], &[89, 181, 255, 255], &[90, 181, 255, 255]),
(&[255, 31, 255, 255], &[86, 245, 255, 255], &[166, 74, 0, 0], &[167, 74, 0, 0]),
(&[255, 31, 255, 255], &[1, 32, 0, 0], &[247, 31, 255, 255], &[248, 31, 255, 255]),
(&[255, 31, 255, 255], &[255, 223, 255, 255], &[8, 224, 0, 0], &[9, 224, 0, 0]),
(&[255, 31, 255, 255], &[0, 176, 0, 0], &[250, 47, 251, 255], &[251, 47, 251, 255]),
(&[255, 31, 255, 255], &[255, 31, 255, 255], &[14, 32, 6, 0], &[15, 32, 6, 0]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[0, 0, 6, 0], &[1, 0, 6, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[255, 255, 249, 255], &[0, 0, 250, 255]),
(&[209, 3, 0, 64], &[170, 10, 0, 0], &[69, 1, 84, 21], &[70, 1, 84, 21]),
(&[209, 3, 0, 64], &[86, 245, 255, 255], &[186, 254, 171, 234], &[187, 254, 171, 234]),
(&[209, 3, 0, 64], &[1, 32, 0, 0], &[209, 3, 2, 64], &[210, 3, 2, 64]),
(&[209, 3, 0, 64], &[255, 223, 255, 255], &[46, 252, 253, 191], &[47, 252, 253, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[255, 255, 249, 255], &[0, 0, 250, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[0, 0, 6, 0], &[1, 0, 6, 0]),
(&[47, 252, 255, 191], &[170, 10, 0, 0], &[186, 254, 171, 234], &[187, 254, 171, 234]),
(&[47, 252, 255, 191], &[86, 245, 255, 255], &[69, 1, 84, 21], &[70, 1, 84, 21]),
(&[47, 252, 255, 191], &[1, 32, 0, 0], &[46, 252, 253, 191], &[47, 252, 253, 191]),
(&[47, 252, 255, 191], &[255, 223, 255, 255], &[209, 3, 2, 64], &[210, 3, 2, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 32, 0, 0], &[0, 32, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 224, 255, 255], &[0, 224, 255, 255]),
(&[3, 0, 0, 0], &[170, 10, 0, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 245, 255, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 32, 0, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 223, 255, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 176, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 31, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 224, 255, 255], &[0, 224, 255, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 32, 0, 0], &[0, 32, 0, 0]),
(&[253, 255, 255, 255], &[170, 10, 0, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[86, 245, 255, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 32, 0, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 223, 255, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 176, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 31, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 10, 0, 0], &[3, 0, 0, 0], &[0, 192, 113, 0], &[0, 192, 113, 0]),
(&[170, 10, 0, 0], &[253, 255, 255, 255], &[0, 64, 142, 255], &[0, 64, 142, 255]),
(&[170, 10, 0, 0], &[170, 10, 0, 0], &[0, 32, 0, 0], &[0, 32, 0, 0]),
(&[170, 10, 0, 0], &[86, 245, 255, 255], &[0, 224, 255, 255], &[0, 224, 255, 255]),
(&[170, 10, 0, 0], &[1, 32, 0, 0], &[169, 10, 0, 0], &[170, 10, 0, 0]),
(&[170, 10, 0, 0], &[255, 223, 255, 255], &[86, 245, 255, 255], &[87, 245, 255, 255]),
(&[170, 10, 0, 0], &[0, 176, 0, 0], &[240, 1, 0, 0], &[241, 1, 0, 0]),
(&[170, 10, 0, 0], &[255, 31, 255, 255], &[122, 254, 255, 255], &[123, 254, 255, 255]),
(&[170, 10, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 10, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[86, 245, 255, 255], &[3, 0, 0, 0], &[0, 64, 142, 255], &[0, 64, 142, 255]),
(&[86, 245, 255, 255], &[253, 255, 255, 255], &[0, 192, 113, 0], &[0, 192, 113, 0]),
(&[86, 245, 255, 255], &[170, 10, 0, 0], &[0, 224, 255, 255], &[0, 224, 255, 255]),
(&[86, 245, 255, 255], &[86, 245, 255, 255], &[0, 32, 0, 0], &[0, 32, 0, 0]),
(&[86, 245, 255, 255], &[1, 32, 0, 0], &[86, 245, 255, 255], &[87, 245, 255, 255]),
(&[86, 245, 255, 255], &[255, 223, 255, 255], &[169, 10, 0, 0], &[170, 10, 0, 0]),
(&[86, 245, 255, 255], &[0, 176, 0, 0], &[15, 254, 255, 255], &[16, 254, 255, 255]),
(&[86, 245, 255, 255], &[255, 31, 255, 255], &[133, 1, 0, 0], &[134, 1, 0, 0]),
(&[86, 245, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[86, 245, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[1, 32, 0, 0], &[3, 0, 0, 0], &[0, 96, 85, 1], &[0, 96, 85, 1]),
(&[1, 32, 0, 0], &[253, 255, 255, 255], &[0, 160, 170, 254], &[0, 160, 170, 254]),
(&[1, 32, 0, 0], &[170, 10, 0, 0], &[9, 96, 0, 0], &[10, 96, 0, 0]),
(&[1, 32, 0, 0], &[86, 245, 255, 255], &[246, 159, 255, 255], &[247, 159, 255, 255]),
(&[1, 32, 0, 0], &[1, 32, 0, 0], &[0, 32, 0, 0], &[0, 32, 0, 0]),
(&[1, 32, 0, 0], &[255, 223, 255, 255], &[0, 224, 255, 255], &[0, 224, 255, 255]),
(&[1, 32, 0, 0], &[0, 176, 0, 0], &[209, 5, 0, 0], &[210, 5, 0, 0]),
(&[1, 32, 0, 0], &[255, 31, 255, 255], &[109, 251, 255, 255], &[110, 251, 255, 255]),
(&[1, 32, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[1, 32, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 223, 255, 255], &[3, 0, 0, 0], &[0, 160, 170, 254], &[0, 160, 170, 254]),
(&[255, 223, 255, 255], &[253, 255, 255, 255], &[0, 96, 85, 1], &[0, 96, 85, 1]),
(&[255, 223, 255, 255], &[170, 10, 0, 0], &[246, 159, 255, 255], &[247, 159, 255, 255]),
(&[255, 223, 255, 255], &[86, 245, 255, 255], &[9, 96, 0, 0], &[10, 96, 0, 0]),
(&[255, 223, 255, 255], &[1, 32, 0, 0], &[0, 224, 255, 255], &[0, 224, 255, 255]),
(&[255, 223, 255, 255], &[255, 223, 255, 255], &[0, 32, 0, 0], &[0, 32, 0, 0]),
(&[255, 223, 255, 255], &[0, 176, 0, 0], &[46, 250, 255, 255], &[47, 250, 255, 255]),
(&[255, 223, 255, 255], &[255, 31, 255, 255], &[146, 4, 0, 0], &[147, 4, 0, 0]),
(&[255, 223, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 223, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[0, 176, 0, 0], &[3, 0, 0, 0], &[85, 85, 85, 7], &[86, 85, 85, 7]),
(&[0, 176, 0, 0], &[253, 255, 255, 255], &[170, 170, 170, 248], &[171, 170, 170, 248]),
(&[0, 176, 0, 0], &[170, 10, 0, 0], &[33, 16, 2, 0], &[34, 16, 2, 0]),
(&[0, 176, 0, 0], &[86, 245, 255, 255], &[222, 239, 253, 255], &[223, 239, 253, 255]),
(&[0, 176, 0, 0], &[1, 32, 0, 0], &[250, 175, 0, 0], &[251, 175, 0, 0]),
(&[0, 176, 0, 0], &[255, 223, 255, 255], &[5, 80, 255, 255], &[6, 80, 255, 255]),
(&[0, 176, 0, 0], &[0, 176, 0, 0], &[0, 32, 0, 0], &[0, 32, 0, 0]),
(&[0, 176, 0, 0], &[255, 31, 255, 255], &[219, 230, 255, 255], &[220, 230, 255, 255]),
(&[0, 176, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[0, 176, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 31, 255, 255], &[3, 0, 0, 0], &[0, 160, 170, 246], &[0, 160, 170, 246]),
(&[255, 31, 255, 255], &[253, 255, 255, 255], &[0, 96, 85, 9], &[0, 96, 85, 9]),
(&[255, 31, 255, 255], &[170, 10, 0, 0], &[210, 95, 253, 255], &[211, 95, 253, 255]),
(&[255, 31, 255, 255], &[86, 245, 255, 255], &[45, 160, 2, 0], &[46, 160, 2, 0]),
(&[255, 31, 255, 255], &[1, 32, 0, 0], &[5, 32, 255, 255], &[6, 32, 255, 255]),
(&[255, 31, 255, 255], &[255, 223, 255, 255], &[250, 223, 0, 0], &[251, 223, 0, 0]),
(&[255, 31, 255, 255], &[0, 176, 0, 0], &[69, 215, 255, 255], &[70, 215, 255, 255]),
(&[255, 31, 255, 255], &[255, 31, 255, 255], &[0, 32, 0, 0], &[0, 32, 0, 0]),
(&[255, 31, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 31, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[209, 3, 0, 64], &[1, 32, 0, 0], &[224, 3, 254, 63], &[225, 3, 254, 63]),
(&[209, 3, 0, 64], &[255, 223, 255, 255], &[31, 252, 1, 192], &[32, 252, 1, 192]),
(&[209, 3, 0, 64], &[0, 176, 0, 0], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[255, 31, 255, 255], &[158, 119, 219, 246], &[159, 119, 219, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 32, 0, 0], &[0, 32, 0, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 224, 255, 255], &[0, 224, 255, 255]),
(&[47, 252, 255, 191], &[1, 32, 0, 0], &[31, 252, 1, 192], &[32, 252, 1, 192]),
(&[47, 252, 255, 191], &[255, 223, 255, 255], &[224, 3, 254, 63], &[225, 3, 254, 63]),
(&[47, 252, 255, 191], &[0, 176, 0, 0], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[255, 31, 255, 255], &[97, 136, 36, 9], &[98, 136, 36, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 224, 255, 255], &[0, 224, 255, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 32, 0, 0], &[0, 32, 0, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[147, 60, 0, 0], &[148, 60, 0, 0]),
(50, &[38, 88, 0, 0], &[39, 88, 0, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 16, 0, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 16, 0, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 16, 0, 0], &[0, 16, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 16, 0, 0], &[0, 16, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[0, 16, 0, 0], &[0, 232, 255, 255], &[0, 20, 0, 0]], &[&[0, 32, 0, 0], &[0, 8, 0, 0], &[0, 252, 255, 255], &[0, 8, 0, 0], &[0, 64, 0, 0], &[0, 2, 0, 0], &[0, 252, 255, 255], &[0, 2, 0, 0], &[0, 16, 0, 0]], &[224, 39, 0, 0], &[224, 39, 0, 0], &[224, 39, 0, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[47, 252, 1, 0], &[246, 203, 1, 0]], &[&[47, 252, 1, 0], &[101, 169, 0, 0], &[163, 101, 0, 0], &[46, 252, 1, 0]], &[205, 110, 128, 4], &[206, 110, 128, 4], &[206, 110, 128, 4]),
(2, &[&[209, 3, 254, 255], &[10, 52, 254, 255]], &[&[47, 252, 1, 0], &[101, 169, 0, 0], &[163, 101, 0, 0], &[46, 252, 1, 0]], &[205, 110, 128, 4], &[206, 110, 128, 4], &[206, 110, 128, 4]),
(2, &[&[47, 252, 1, 0], &[246, 203, 1, 0]], &[&[209, 3, 254, 255], &[155, 86, 255, 255], &[93, 154, 255, 255], &[210, 3, 254, 255]], &[50, 145, 127, 251], &[51, 145, 127, 251], &[50, 145, 127, 251]),
(2, &[&[209, 3, 254, 255], &[10, 52, 254, 255]], &[&[209, 3, 254, 255], &[155, 86, 255, 255], &[93, 154, 255, 255], &[210, 3, 254, 255]], &[50, 145, 127, 251], &[51, 145, 127, 251], &[50, 145, 127, 251]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f14 {
pub const FRAC_BITS: u32 = 14;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[128, 0, 0, 0], &[128, 0, 0, 0]),
(&[2, 0, 0, 0], &[181, 0, 0, 0], &[182, 0, 0, 0]),
(&[3, 0, 0, 0], &[221, 0, 0, 0], &[222, 0, 0, 0]),
(&[0, 64, 0, 0], &[0, 64, 0, 0], &[0, 64, 0, 0]),
(&[0, 128, 0, 0], &[130, 90, 0, 0], &[131, 90, 0, 0]),
(&[0, 0, 1, 0], &[0, 128, 0, 0], &[0, 128, 0, 0]),
(&[0, 32, 0, 0], &[65, 45, 0, 0], &[66, 45, 0, 0]),
(&[1, 16, 0, 0], &[0, 32, 0, 0], &[1, 32, 0, 0]),
(&[57, 48, 0, 64], &[24, 0, 64, 0], &[25, 0, 64, 0]),
(&[255, 255, 255, 127], &[121, 130, 90, 0], &[122, 130, 90, 0]),
(&[36, 201, 0, 0], &[117, 113, 0, 0], &[118, 113, 0, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[85, 21, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 234, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 64, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 191, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 96, 1, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 63, 254, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 3, 0], &[1, 0, 3, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 252, 255], &[0, 0, 253, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[85, 21, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[171, 234, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 64, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 191, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 96, 1, 0], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 63, 254, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 252, 255], &[0, 0, 253, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 3, 0], &[1, 0, 3, 0]),
(&[85, 21, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 21, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[85, 21, 0, 0], &[85, 21, 0, 0], &[28, 7, 0, 0], &[29, 7, 0, 0]),
(&[85, 21, 0, 0], &[171, 234, 255, 255], &[227, 248, 255, 255], &[228, 248, 255, 255]),
(&[85, 21, 0, 0], &[1, 64, 0, 0], &[85, 21, 0, 0], &[86, 21, 0, 0]),
(&[85, 21, 0, 0], &[255, 191, 255, 255], &[170, 234, 255, 255], &[171, 234, 255, 255]),
(&[85, 21, 0, 0], &[0, 96, 1, 0], &[83, 117, 0, 0], &[84, 117, 0, 0]),
(&[85, 21, 0, 0], &[255, 63, 254, 255], &[172, 106, 255, 255], &[173, 106, 255, 255]),
(&[85, 21, 0, 0], &[209, 3, 0, 64], &[69, 1, 85, 21], &[70, 1, 85, 21]),
(&[85, 21, 0, 0], &[47, 252, 255, 191], &[186, 254, 170, 234], &[187, 254, 170, 234]),
(&[171, 234, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[171, 234, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[171, 234, 255, 255], &[85, 21, 0, 0], &[227, 248, 255, 255], &[228, 248, 255, 255]),
(&[171, 234, 255, 255], &[171, 234, 255, 255], &[28, 7, 0, 0], &[29, 7, 0, 0]),
(&[171, 234, 255, 255], &[1, 64, 0, 0], &[170, 234, 255, 255], &[171, 234, 255, 255]),
(&[171, 234, 255, 255], &[255, 191, 255, 255], &[85, 21, 0, 0], &[86, 21, 0, 0]),
(&[171, 234, 255, 255], &[0, 96, 1, 0], &[172, 138, 255, 255], &[173, 138, 255, 255]),
(&[171, 234, 255, 255], &[255, 63, 254, 255], &[83, 149, 0, 0], &[84, 149, 0, 0]),
(&[171, 234, 255, 255], &[209, 3, 0, 64], &[186, 254, 170, 234], &[187, 254, 170, 234]),
(&[171, 234, 255, 255], &[47, 252, 255, 191], &[69, 1, 85, 21], &[70, 1, 85, 21]),
(&[1, 64, 0, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 64, 0, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 64, 0, 0], &[85, 21, 0, 0], &[85, 21, 0, 0], &[86, 21, 0, 0]),
(&[1, 64, 0, 0], &[171, 234, 255, 255], &[170, 234, 255, 255], &[171, 234, 255, 255]),
(&[1, 64, 0, 0], &[1, 64, 0, 0], &[2, 64, 0, 0], &[3, 64, 0, 0]),
(&[1, 64, 0, 0], &[255, 191, 255, 255], &[253, 191, 255, 255], &[254, 191, 255, 255]),
(&[1, 64, 0, 0], &[0, 96, 1, 0], &[5, 96, 1, 0], &[6, 96, 1, 0]),
(&[1, 64, 0, 0], &[255, 63, 254, 255], &[247, 63, 254, 255], &[248, 63, 254, 255]),
(&[1, 64, 0, 0], &[209, 3, 0, 64], &[209, 3, 1, 64], &[210, 3, 1, 64]),
(&[1, 64, 0, 0], &[47, 252, 255, 191], &[46, 252, 254, 191], &[47, 252, 254, 191]),
(&[255, 191, 255, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 191, 255, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 191, 255, 255], &[85, 21, 0, 0], &[170, 234, 255, 255], &[171, 234, 255, 255]),
(&[255, 191, 255, 255], &[171, 234, 255, 255], &[85, 21, 0, 0], &[86, 21, 0, 0]),
(&[255, 191, 255, 255], &[1, 64, 0, 0], &[253, 191, 255, 255], &[254, 191, 255, 255]),
(&[255, 191, 255, 255], &[255, 191, 255, 255], &[2, 64, 0, 0], &[3, 64, 0, 0]),
(&[255, 191, 255, 255], &[0, 96, 1, 0], &[250, 159, 254, 255], &[251, 159, 254, 255]),
(&[255, 191, 255, 255], &[255, 63, 254, 255], &[8, 192, 1, 0], &[9, 192, 1, 0]),
(&[255, 191, 255, 255], &[209, 3, 0, 64], &[46, 252, 254, 191], &[47, 252, 254, 191]),
(&[255, 191, 255, 255], &[47, 252, 255, 191], &[209, 3, 1, 64], &[210, 3, 1, 64]),
(&[0, 96, 1, 0], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[0, 96, 1, 0], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[0, 96, 1, 0], &[85, 21, 0, 0], &[83, 117, 0, 0], &[84, 117, 0, 0]),
(&[0, 96, 1, 0], &[171, 234, 255, 255], &[172, 138, 255, 255], &[173, 138, 255, 255]),
(&[0, 96, 1, 0], &[1, 64, 0, 0], &[5, 96, 1, 0], &[6, 96, 1, 0]),
(&[0, 96, 1, 0], &[255, 191, 255, 255], &[250, 159, 254, 255], &[251, 159, 254, 255]),
(&[0, 96, 1, 0], &[0, 96, 1, 0], &[0, 144, 7, 0], &[0, 144, 7, 0]),
(&[0, 96, 1, 0], &[255, 63, 254, 255], &[250, 95, 246, 255], &[251, 95, 246, 255]),
(&[255, 63, 254, 255], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 63, 254, 255], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[255, 63, 254, 255], &[85, 21, 0, 0], &[172, 106, 255, 255], &[173, 106, 255, 255]),
(&[255, 63, 254, 255], &[171, 234, 255, 255], &[83, 149, 0, 0], &[84, 149, 0, 0]),
(&[255, 63, 254, 255], &[1, 64, 0, 0], &[247, 63, 254, 255], &[248, 63, 254, 255]),
(&[255, 63, 254, 255], &[255, 191, 255, 255], &[8, 192, 1, 0], &[9, 192, 1, 0]),
(&[255, 63, 254, 255], &[0, 96, 1, 0], &[250, 95, 246, 255], &[251, 95, 246, 255]),
(&[255, 63, 254, 255], &[255, 63, 254, 255], &[14, 64, 12, 0], &[15, 64, 12, 0]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[0, 0, 3, 0], &[1, 0, 3, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[255, 255, 252, 255], &[0, 0, 253, 255]),
(&[209, 3, 0, 64], &[85, 21, 0, 0], &[69, 1, 85, 21], &[70, 1, 85, 21]),
(&[209, 3, 0, 64], &[171, 234, 255, 255], &[186, 254, 170, 234], &[187, 254, 170, 234]),
(&[209, 3, 0, 64], &[1, 64, 0, 0], &[209, 3, 1, 64], &[210, 3, 1, 64]),
(&[209, 3, 0, 64], &[255, 191, 255, 255], &[46, 252, 254, 191], &[47, 252, 254, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[255, 255, 252, 255], &[0, 0, 253, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[0, 0, 3, 0], &[1, 0, 3, 0]),
(&[47, 252, 255, 191], &[85, 21, 0, 0], &[186, 254, 170, 234], &[187, 254, 170, 234]),
(&[47, 252, 255, 191], &[171, 234, 255, 255], &[69, 1, 85, 21], &[70, 1, 85, 21]),
(&[47, 252, 255, 191], &[1, 64, 0, 0], &[46, 252, 254, 191], &[47, 252, 254, 191]),
(&[47, 252, 255, 191], &[255, 191, 255, 255], &[209, 3, 1, 64], &[210, 3, 1, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 64, 0, 0], &[0, 64, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 192, 255, 255], &[0, 192, 255, 255]),
(&[3, 0, 0, 0], &[85, 21, 0, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 234, 255, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 64, 0, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 191, 255, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 96, 1, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 63, 254, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 192, 255, 255], &[0, 192, 255, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 64, 0, 0], &[0, 64, 0, 0]),
(&[253, 255, 255, 255], &[85, 21, 0, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[171, 234, 255, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 64, 0, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 191, 255, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 96, 1, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 63, 254, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 21, 0, 0], &[3, 0, 0, 0], &[85, 21, 199, 1], &[86, 21, 199, 1]),
(&[85, 21, 0, 0], &[253, 255, 255, 255], &[170, 234, 56, 254], &[171, 234, 56, 254]),
(&[85, 21, 0, 0], &[85, 21, 0, 0], &[0, 64, 0, 0], &[0, 64, 0, 0]),
(&[85, 21, 0, 0], &[171, 234, 255, 255], &[0, 192, 255, 255], &[0, 192, 255, 255]),
(&[85, 21, 0, 0], &[1, 64, 0, 0], &[84, 21, 0, 0], &[85, 21, 0, 0]),
(&[85, 21, 0, 0], &[255, 191, 255, 255], &[171, 234, 255, 255], &[172, 234, 255, 255]),
(&[85, 21, 0, 0], &[0, 96, 1, 0], &[224, 3, 0, 0], &[225, 3, 0, 0]),
(&[85, 21, 0, 0], &[255, 63, 254, 255], &[243, 252, 255, 255], &[244, 252, 255, 255]),
(&[85, 21, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 21, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[171, 234, 255, 255], &[3, 0, 0, 0], &[170, 234, 56, 254], &[171, 234, 56, 254]),
(&[171, 234, 255, 255], &[253, 255, 255, 255], &[85, 21, 199, 1], &[86, 21, 199, 1]),
(&[171, 234, 255, 255], &[85, 21, 0, 0], &[0, 192, 255, 255], &[0, 192, 255, 255]),
(&[171, 234, 255, 255], &[171, 234, 255, 255], &[0, 64, 0, 0], &[0, 64, 0, 0]),
(&[171, 234, 255, 255], &[1, 64, 0, 0], &[171, 234, 255, 255], &[172, 234, 255, 255]),
(&[171, 234, 255, 255], &[255, 191, 255, 255], &[84, 21, 0, 0], &[85, 21, 0, 0]),
(&[171, 234, 255, 255], &[0, 96, 1, 0], &[31, 252, 255, 255], &[32, 252, 255, 255]),
(&[171, 234, 255, 255], &[255, 63, 254, 255], &[12, 3, 0, 0], &[13, 3, 0, 0]),
(&[171, 234, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[171, 234, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[1, 64, 0, 0], &[3, 0, 0, 0], &[170, 106, 85, 5], &[171, 106, 85, 5]),
(&[1, 64, 0, 0], &[253, 255, 255, 255], &[85, 149, 170, 250], &[86, 149, 170, 250]),
(&[1, 64, 0, 0], &[85, 21, 0, 0], &[6, 192, 0, 0], &[7, 192, 0, 0]),
(&[1, 64, 0, 0], &[171, 234, 255, 255], &[249, 63, 255, 255], &[250, 63, 255, 255]),
(&[1, 64, 0, 0], &[1, 64, 0, 0], &[0, 64, 0, 0], &[0, 64, 0, 0]),
(&[1, 64, 0, 0], &[255, 191, 255, 255], &[0, 192, 255, 255], &[0, 192, 255, 255]),
(&[1, 64, 0, 0], &[0, 96, 1, 0], &[163, 11, 0, 0], &[164, 11, 0, 0]),
(&[1, 64, 0, 0], &[255, 63, 254, 255], &[219, 246, 255, 255], &[220, 246, 255, 255]),
(&[1, 64, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[1, 64, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 191, 255, 255], &[3, 0, 0, 0], &[85, 149, 170, 250], &[86, 149, 170, 250]),
(&[255, 191, 255, 255], &[253, 255, 255, 255], &[170, 106, 85, 5], &[171, 106, 85, 5]),
(&[255, 191, 255, 255], &[85, 21, 0, 0], &[249, 63, 255, 255], &[250, 63, 255, 255]),
(&[255, 191, 255, 255], &[171, 234, 255, 255], &[6, 192, 0, 0], &[7, 192, 0, 0]),
(&[255, 191, 255, 255], &[1, 64, 0, 0], &[0, 192, 255, 255], &[0, 192, 255, 255]),
(&[255, 191, 255, 255], &[255, 191, 255, 255], &[0, 64, 0, 0], &[0, 64, 0, 0]),
(&[255, 191, 255, 255], &[0, 96, 1, 0], &[92, 244, 255, 255], &[93, 244, 255, 255]),
(&[255, 191, 255, 255], &[255, 63, 254, 255], &[36, 9, 0, 0], &[37, 9, 0, 0]),
(&[255, 191, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[255, 191, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[0, 96, 1, 0], &[3, 0, 0, 0], &[85, 85, 85, 29], &[86, 85, 85, 29]),
(&[0, 96, 1, 0], &[253, 255, 255, 255], &[170, 170, 170, 226], &[171, 170, 170, 226]),
(&[0, 96, 1, 0], &[85, 21, 0, 0], &[16, 32, 4, 0], &[17, 32, 4, 0]),
(&[0, 96, 1, 0], &[171, 234, 255, 255], &[239, 223, 251, 255], &[240, 223, 251, 255]),
(&[0, 96, 1, 0], &[1, 64, 0, 0], &[250, 95, 1, 0], &[251, 95, 1, 0]),
(&[0, 96, 1, 0], &[255, 191, 255, 255], &[5, 160, 254, 255], &[6, 160, 254, 255]),
(&[0, 96, 1, 0], &[0, 96, 1, 0], &[0, 64, 0, 0], &[0, 64, 0, 0]),
(&[0, 96, 1, 0], &[255, 63, 254, 255], &[182, 205, 255, 255], &[183, 205, 255, 255]),
(&[0, 96, 1, 0], &[209, 3, 0, 64], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[0, 96, 1, 0], &[47, 252, 255, 191], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[255, 63, 254, 255], &[3, 0, 0, 0], &[85, 149, 170, 218], &[86, 149, 170, 218]),
(&[255, 63, 254, 255], &[253, 255, 255, 255], &[170, 106, 85, 37], &[171, 106, 85, 37]),
(&[255, 63, 254, 255], &[85, 21, 0, 0], &[231, 191, 250, 255], &[232, 191, 250, 255]),
(&[255, 63, 254, 255], &[171, 234, 255, 255], &[24, 64, 5, 0], &[25, 64, 5, 0]),
(&[255, 63, 254, 255], &[1, 64, 0, 0], &[5, 64, 254, 255], &[6, 64, 254, 255]),
(&[255, 63, 254, 255], &[255, 191, 255, 255], &[250, 191, 1, 0], &[251, 191, 1, 0]),
(&[255, 63, 254, 255], &[0, 96, 1, 0], &[139, 174, 255, 255], &[140, 174, 255, 255]),
(&[255, 63, 254, 255], &[255, 63, 254, 255], &[0, 64, 0, 0], &[0, 64, 0, 0]),
(&[255, 63, 254, 255], &[209, 3, 0, 64], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[255, 63, 254, 255], &[47, 252, 255, 191], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[209, 3, 0, 64], &[1, 64, 0, 0], &[212, 3, 255, 63], &[213, 3, 255, 63]),
(&[209, 3, 0, 64], &[255, 191, 255, 255], &[43, 252, 0, 192], &[44, 252, 0, 192]),
(&[209, 3, 0, 64], &[0, 96, 1, 0], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[255, 63, 254, 255], &[100, 114, 219, 246], &[101, 114, 219, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 64, 0, 0], &[0, 64, 0, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 192, 255, 255], &[0, 192, 255, 255]),
(&[47, 252, 255, 191], &[1, 64, 0, 0], &[43, 252, 0, 192], &[44, 252, 0, 192]),
(&[47, 252, 255, 191], &[255, 191, 255, 255], &[212, 3, 255, 63], &[213, 3, 255, 63]),
(&[47, 252, 255, 191], &[0, 96, 1, 0], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[255, 63, 254, 255], &[155, 141, 36, 9], &[156, 141, 36, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 192, 255, 255], &[0, 192, 255, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 64, 0, 0], &[0, 64, 0, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[38, 121, 0, 0], &[39, 121, 0, 0]),
(50, &[77, 176, 0, 0], &[78, 176, 0, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 32, 0, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 32, 0, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 32, 0, 0], &[0, 32, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 32, 0, 0], &[0, 32, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[0, 32, 0, 0], &[0, 208, 255, 255], &[0, 40, 0, 0]], &[&[0, 64, 0, 0], &[0, 16, 0, 0], &[0, 248, 255, 255], &[0, 16, 0, 0], &[0, 128, 0, 0], &[0, 4, 0, 0], &[0, 248, 255, 255], &[0, 4, 0, 0], &[0, 32, 0, 0]], &[192, 79, 0, 0], &[192, 79, 0, 0], &[192, 79, 0, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[47, 252, 1, 0], &[246, 203, 1, 0]], &[&[47, 252, 1, 0], &[101, 169, 0, 0], &[163, 101, 0, 0], &[46, 252, 1, 0]], &[179, 27, 32, 1], &[180, 27, 32, 1], &[179, 27, 32, 1]),
(2, &[&[209, 3, 254, 255], &[10, 52, 254, 255]], &[&[47, 252, 1, 0], &[101, 169, 0, 0], &[163, 101, 0, 0], &[46, 252, 1, 0]], &[179, 27, 32, 1], &[180, 27, 32, 1], &[179, 27, 32, 1]),
(2, &[&[47, 252, 1, 0], &[246, 203, 1, 0]], &[&[209, 3, 254, 255], &[155, 86, 255, 255], &[93, 154, 255, 255], &[210, 3, 254, 255]], &[76, 228, 223, 254], &[77, 228, 223, 254], &[77, 228, 223, 254]),
(2, &[&[209, 3, 254, 255], &[10, 52, 254, 255]], &[&[209, 3, 254, 255], &[155, 86, 255, 255], &[93, 154, 255, 255], &[210, 3, 254, 255]], &[76, 228, 223, 254], &[77, 228, 223, 254], &[77, 228, 223, 254]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f15 {
pub const FRAC_BITS: u32 = 15;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[181, 0, 0, 0], &[182, 0, 0, 0]),
(&[2, 0, 0, 0], &[0, 1, 0, 0], &[0, 1, 0, 0]),
(&[3, 0, 0, 0], &[57, 1, 0, 0], &[58, 1, 0, 0]),
(&[0, 128, 0, 0], &[0, 128, 0, 0], &[0, 128, 0, 0]),
(&[0, 0, 1, 0], &[4, 181, 0, 0], &[5, 181, 0, 0]),
(&[0, 0, 2, 0], &[0, 0, 1, 0], &[0, 0, 1, 0]),
(&[0, 64, 0, 0], &[130, 90, 0, 0], &[131, 90, 0, 0]),
(&[1, 32, 0, 0], &[0, 64, 0, 0], &[1, 64, 0, 0]),
(&[57, 48, 0, 64], &[155, 130, 90, 0], &[156, 130, 90, 0]),
(&[255, 255, 255, 127], &[255, 255, 127, 0], &[0, 0, 128, 0]),
(&[73, 146, 1, 0], &[235, 226, 0, 0], &[236, 226, 0, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[170, 42, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 213, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 128, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 127, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 192, 2, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 127, 252, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 128, 1, 0], &[1, 128, 1, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 127, 254, 255], &[0, 128, 254, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[170, 42, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[86, 213, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 128, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 127, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 192, 2, 0], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 127, 252, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 127, 254, 255], &[0, 128, 254, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 128, 1, 0], &[1, 128, 1, 0]),
(&[170, 42, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 42, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[170, 42, 0, 0], &[170, 42, 0, 0], &[56, 14, 0, 0], &[57, 14, 0, 0]),
(&[170, 42, 0, 0], &[86, 213, 255, 255], &[199, 241, 255, 255], &[200, 241, 255, 255]),
(&[170, 42, 0, 0], &[1, 128, 0, 0], &[170, 42, 0, 0], &[171, 42, 0, 0]),
(&[170, 42, 0, 0], &[255, 127, 255, 255], &[85, 213, 255, 255], &[86, 213, 255, 255]),
(&[170, 42, 0, 0], &[0, 192, 2, 0], &[167, 234, 0, 0], &[167, 234, 0, 0]),
(&[170, 42, 0, 0], &[255, 127, 252, 255], &[89, 213, 254, 255], &[90, 213, 254, 255]),
(&[170, 42, 0, 0], &[209, 3, 0, 64], &[69, 1, 85, 21], &[70, 1, 85, 21]),
(&[170, 42, 0, 0], &[47, 252, 255, 191], &[186, 254, 170, 234], &[187, 254, 170, 234]),
(&[86, 213, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[86, 213, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[86, 213, 255, 255], &[170, 42, 0, 0], &[199, 241, 255, 255], &[200, 241, 255, 255]),
(&[86, 213, 255, 255], &[86, 213, 255, 255], &[56, 14, 0, 0], &[57, 14, 0, 0]),
(&[86, 213, 255, 255], &[1, 128, 0, 0], &[85, 213, 255, 255], &[86, 213, 255, 255]),
(&[86, 213, 255, 255], &[255, 127, 255, 255], &[170, 42, 0, 0], &[171, 42, 0, 0]),
(&[86, 213, 255, 255], &[0, 192, 2, 0], &[89, 21, 255, 255], &[89, 21, 255, 255]),
(&[86, 213, 255, 255], &[255, 127, 252, 255], &[166, 42, 1, 0], &[167, 42, 1, 0]),
(&[86, 213, 255, 255], &[209, 3, 0, 64], &[186, 254, 170, 234], &[187, 254, 170, 234]),
(&[86, 213, 255, 255], &[47, 252, 255, 191], &[69, 1, 85, 21], &[70, 1, 85, 21]),
(&[1, 128, 0, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 128, 0, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 128, 0, 0], &[170, 42, 0, 0], &[170, 42, 0, 0], &[171, 42, 0, 0]),
(&[1, 128, 0, 0], &[86, 213, 255, 255], &[85, 213, 255, 255], &[86, 213, 255, 255]),
(&[1, 128, 0, 0], &[1, 128, 0, 0], &[2, 128, 0, 0], &[3, 128, 0, 0]),
(&[1, 128, 0, 0], &[255, 127, 255, 255], &[253, 127, 255, 255], &[254, 127, 255, 255]),
(&[1, 128, 0, 0], &[0, 192, 2, 0], &[5, 192, 2, 0], &[6, 192, 2, 0]),
(&[1, 128, 0, 0], &[255, 127, 252, 255], &[247, 127, 252, 255], &[248, 127, 252, 255]),
(&[1, 128, 0, 0], &[209, 3, 0, 64], &[209, 131, 0, 64], &[210, 131, 0, 64]),
(&[1, 128, 0, 0], &[47, 252, 255, 191], &[46, 124, 255, 191], &[47, 124, 255, 191]),
(&[255, 127, 255, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 127, 255, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 127, 255, 255], &[170, 42, 0, 0], &[85, 213, 255, 255], &[86, 213, 255, 255]),
(&[255, 127, 255, 255], &[86, 213, 255, 255], &[170, 42, 0, 0], &[171, 42, 0, 0]),
(&[255, 127, 255, 255], &[1, 128, 0, 0], &[253, 127, 255, 255], &[254, 127, 255, 255]),
(&[255, 127, 255, 255], &[255, 127, 255, 255], &[2, 128, 0, 0], &[3, 128, 0, 0]),
(&[255, 127, 255, 255], &[0, 192, 2, 0], &[250, 63, 253, 255], &[251, 63, 253, 255]),
(&[255, 127, 255, 255], &[255, 127, 252, 255], &[8, 128, 3, 0], &[9, 128, 3, 0]),
(&[255, 127, 255, 255], &[209, 3, 0, 64], &[46, 124, 255, 191], &[47, 124, 255, 191]),
(&[255, 127, 255, 255], &[47, 252, 255, 191], &[209, 131, 0, 64], &[210, 131, 0, 64]),
(&[0, 192, 2, 0], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[0, 192, 2, 0], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[0, 192, 2, 0], &[170, 42, 0, 0], &[167, 234, 0, 0], &[167, 234, 0, 0]),
(&[0, 192, 2, 0], &[86, 213, 255, 255], &[89, 21, 255, 255], &[89, 21, 255, 255]),
(&[0, 192, 2, 0], &[1, 128, 0, 0], &[5, 192, 2, 0], &[6, 192, 2, 0]),
(&[0, 192, 2, 0], &[255, 127, 255, 255], &[250, 63, 253, 255], &[251, 63, 253, 255]),
(&[0, 192, 2, 0], &[0, 192, 2, 0], &[0, 32, 15, 0], &[0, 32, 15, 0]),
(&[0, 192, 2, 0], &[255, 127, 252, 255], &[250, 191, 236, 255], &[251, 191, 236, 255]),
(&[255, 127, 252, 255], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 127, 252, 255], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[255, 127, 252, 255], &[170, 42, 0, 0], &[89, 213, 254, 255], &[90, 213, 254, 255]),
(&[255, 127, 252, 255], &[86, 213, 255, 255], &[166, 42, 1, 0], &[167, 42, 1, 0]),
(&[255, 127, 252, 255], &[1, 128, 0, 0], &[247, 127, 252, 255], &[248, 127, 252, 255]),
(&[255, 127, 252, 255], &[255, 127, 255, 255], &[8, 128, 3, 0], &[9, 128, 3, 0]),
(&[255, 127, 252, 255], &[0, 192, 2, 0], &[250, 191, 236, 255], &[251, 191, 236, 255]),
(&[255, 127, 252, 255], &[255, 127, 252, 255], &[14, 128, 24, 0], &[15, 128, 24, 0]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[0, 128, 1, 0], &[1, 128, 1, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[255, 127, 254, 255], &[0, 128, 254, 255]),
(&[209, 3, 0, 64], &[170, 42, 0, 0], &[69, 1, 85, 21], &[70, 1, 85, 21]),
(&[209, 3, 0, 64], &[86, 213, 255, 255], &[186, 254, 170, 234], &[187, 254, 170, 234]),
(&[209, 3, 0, 64], &[1, 128, 0, 0], &[209, 131, 0, 64], &[210, 131, 0, 64]),
(&[209, 3, 0, 64], &[255, 127, 255, 255], &[46, 124, 255, 191], &[47, 124, 255, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[255, 127, 254, 255], &[0, 128, 254, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[0, 128, 1, 0], &[1, 128, 1, 0]),
(&[47, 252, 255, 191], &[170, 42, 0, 0], &[186, 254, 170, 234], &[187, 254, 170, 234]),
(&[47, 252, 255, 191], &[86, 213, 255, 255], &[69, 1, 85, 21], &[70, 1, 85, 21]),
(&[47, 252, 255, 191], &[1, 128, 0, 0], &[46, 124, 255, 191], &[47, 124, 255, 191]),
(&[47, 252, 255, 191], &[255, 127, 255, 255], &[209, 131, 0, 64], &[210, 131, 0, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 128, 0, 0], &[0, 128, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 128, 255, 255], &[0, 128, 255, 255]),
(&[3, 0, 0, 0], &[170, 42, 0, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 213, 255, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 128, 0, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 127, 255, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 192, 2, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 127, 252, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 128, 255, 255], &[0, 128, 255, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 128, 0, 0], &[0, 128, 0, 0]),
(&[253, 255, 255, 255], &[170, 42, 0, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[86, 213, 255, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 128, 0, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 127, 255, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 192, 2, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 127, 252, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 42, 0, 0], &[3, 0, 0, 0], &[85, 85, 28, 7], &[86, 85, 28, 7]),
(&[170, 42, 0, 0], &[253, 255, 255, 255], &[170, 170, 227, 248], &[171, 170, 227, 248]),
(&[170, 42, 0, 0], &[170, 42, 0, 0], &[0, 128, 0, 0], &[0, 128, 0, 0]),
(&[170, 42, 0, 0], &[86, 213, 255, 255], &[0, 128, 255, 255], &[0, 128, 255, 255]),
(&[170, 42, 0, 0], &[1, 128, 0, 0], &[169, 42, 0, 0], &[170, 42, 0, 0]),
(&[170, 42, 0, 0], &[255, 127, 255, 255], &[86, 213, 255, 255], &[87, 213, 255, 255]),
(&[170, 42, 0, 0], &[0, 192, 2, 0], &[193, 7, 0, 0], &[194, 7, 0, 0]),
(&[170, 42, 0, 0], &[255, 127, 252, 255], &[231, 249, 255, 255], &[232, 249, 255, 255]),
(&[170, 42, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 42, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[86, 213, 255, 255], &[3, 0, 0, 0], &[170, 170, 227, 248], &[171, 170, 227, 248]),
(&[86, 213, 255, 255], &[253, 255, 255, 255], &[85, 85, 28, 7], &[86, 85, 28, 7]),
(&[86, 213, 255, 255], &[170, 42, 0, 0], &[0, 128, 255, 255], &[0, 128, 255, 255]),
(&[86, 213, 255, 255], &[86, 213, 255, 255], &[0, 128, 0, 0], &[0, 128, 0, 0]),
(&[86, 213, 255, 255], &[1, 128, 0, 0], &[86, 213, 255, 255], &[87, 213, 255, 255]),
(&[86, 213, 255, 255], &[255, 127, 255, 255], &[169, 42, 0, 0], &[170, 42, 0, 0]),
(&[86, 213, 255, 255], &[0, 192, 2, 0], &[62, 248, 255, 255], &[63, 248, 255, 255]),
(&[86, 213, 255, 255], &[255, 127, 252, 255], &[24, 6, 0, 0], &[25, 6, 0, 0]),
(&[86, 213, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[86, 213, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[1, 128, 0, 0], &[3, 0, 0, 0], &[0, 128, 85, 21], &[0, 128, 85, 21]),
(&[1, 128, 0, 0], &[253, 255, 255, 255], &[0, 128, 170, 234], &[0, 128, 170, 234]),
(&[1, 128, 0, 0], &[170, 42, 0, 0], &[9, 128, 1, 0], &[10, 128, 1, 0]),
(&[1, 128, 0, 0], &[86, 213, 255, 255], &[246, 127, 254, 255], &[247, 127, 254, 255]),
(&[1, 128, 0, 0], &[1, 128, 0, 0], &[0, 128, 0, 0], &[0, 128, 0, 0]),
(&[1, 128, 0, 0], &[255, 127, 255, 255], &[0, 128, 255, 255], &[0, 128, 255, 255]),
(&[1, 128, 0, 0], &[0, 192, 2, 0], &[70, 23, 0, 0], &[70, 23, 0, 0]),
(&[1, 128, 0, 0], &[255, 127, 252, 255], &[182, 237, 255, 255], &[183, 237, 255, 255]),
(&[1, 128, 0, 0], &[209, 3, 0, 64], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[1, 128, 0, 0], &[47, 252, 255, 191], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[255, 127, 255, 255], &[3, 0, 0, 0], &[0, 128, 170, 234], &[0, 128, 170, 234]),
(&[255, 127, 255, 255], &[253, 255, 255, 255], &[0, 128, 85, 21], &[0, 128, 85, 21]),
(&[255, 127, 255, 255], &[170, 42, 0, 0], &[246, 127, 254, 255], &[247, 127, 254, 255]),
(&[255, 127, 255, 255], &[86, 213, 255, 255], &[9, 128, 1, 0], &[10, 128, 1, 0]),
(&[255, 127, 255, 255], &[1, 128, 0, 0], &[0, 128, 255, 255], &[0, 128, 255, 255]),
(&[255, 127, 255, 255], &[255, 127, 255, 255], &[0, 128, 0, 0], &[0, 128, 0, 0]),
(&[255, 127, 255, 255], &[0, 192, 2, 0], &[186, 232, 255, 255], &[186, 232, 255, 255]),
(&[255, 127, 255, 255], &[255, 127, 252, 255], &[73, 18, 0, 0], &[74, 18, 0, 0]),
(&[255, 127, 255, 255], &[209, 3, 0, 64], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[255, 127, 255, 255], &[47, 252, 255, 191], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[0, 192, 2, 0], &[3, 0, 0, 0], &[85, 85, 85, 117], &[86, 85, 85, 117]),
(&[0, 192, 2, 0], &[253, 255, 255, 255], &[170, 170, 170, 138], &[171, 170, 170, 138]),
(&[0, 192, 2, 0], &[170, 42, 0, 0], &[33, 64, 8, 0], &[34, 64, 8, 0]),
(&[0, 192, 2, 0], &[86, 213, 255, 255], &[222, 191, 247, 255], &[223, 191, 247, 255]),
(&[0, 192, 2, 0], &[1, 128, 0, 0], &[250, 191, 2, 0], &[251, 191, 2, 0]),
(&[0, 192, 2, 0], &[255, 127, 255, 255], &[5, 64, 253, 255], &[6, 64, 253, 255]),
(&[0, 192, 2, 0], &[0, 192, 2, 0], &[0, 128, 0, 0], &[0, 128, 0, 0]),
(&[0, 192, 2, 0], &[255, 127, 252, 255], &[109, 155, 255, 255], &[110, 155, 255, 255]),
(&[0, 192, 2, 0], &[209, 3, 0, 64], &[5, 0, 0, 0], &[6, 0, 0, 0]),
(&[0, 192, 2, 0], &[47, 252, 255, 191], &[250, 255, 255, 255], &[251, 255, 255, 255]),
(&[255, 127, 252, 255], &[170, 42, 0, 0], &[210, 127, 245, 255], &[211, 127, 245, 255]),
(&[255, 127, 252, 255], &[86, 213, 255, 255], &[45, 128, 10, 0], &[46, 128, 10, 0]),
(&[255, 127, 252, 255], &[1, 128, 0, 0], &[5, 128, 252, 255], &[6, 128, 252, 255]),
(&[255, 127, 252, 255], &[255, 127, 255, 255], &[250, 127, 3, 0], &[251, 127, 3, 0]),
(&[255, 127, 252, 255], &[0, 192, 2, 0], &[23, 93, 255, 255], &[24, 93, 255, 255]),
(&[255, 127, 252, 255], &[255, 127, 252, 255], &[0, 128, 0, 0], &[0, 128, 0, 0]),
(&[255, 127, 252, 255], &[209, 3, 0, 64], &[248, 255, 255, 255], &[249, 255, 255, 255]),
(&[255, 127, 252, 255], &[47, 252, 255, 191], &[7, 0, 0, 0], &[8, 0, 0, 0]),
(&[209, 3, 0, 64], &[1, 128, 0, 0], &[209, 131, 255, 63], &[210, 131, 255, 63]),
(&[209, 3, 0, 64], &[255, 127, 255, 255], &[46, 124, 0, 192], &[47, 124, 0, 192]),
(&[209, 3, 0, 64], &[0, 192, 2, 0], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[255, 127, 252, 255], &[200, 111, 219, 246], &[201, 111, 219, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 128, 0, 0], &[0, 128, 0, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 128, 255, 255], &[0, 128, 255, 255]),
(&[47, 252, 255, 191], &[1, 128, 0, 0], &[46, 124, 0, 192], &[47, 124, 0, 192]),
(&[47, 252, 255, 191], &[255, 127, 255, 255], &[209, 131, 255, 63], &[210, 131, 255, 63]),
(&[47, 252, 255, 191], &[0, 192, 2, 0], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[255, 127, 252, 255], &[55, 144, 36, 9], &[56, 144, 36, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 128, 255, 255], &[0, 128, 255, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 128, 0, 0], &[0, 128, 0, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[76, 242, 0, 0], &[77, 242, 0, 0]),
(50, &[154, 96, 1, 0], &[155, 96, 1, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 64, 0, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 64, 0, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 64, 0, 0], &[0, 64, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 64, 0, 0], &[0, 64, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[0, 64, 0, 0], &[0, 160, 255, 255], &[0, 80, 0, 0]], &[&[0, 128, 0, 0], &[0, 32, 0, 0], &[0, 240, 255, 255], &[0, 32, 0, 0], &[0, 0, 1, 0], &[0, 8, 0, 0], &[0, 240, 255, 255], &[0, 8, 0, 0], &[0, 64, 0, 0]], &[128, 159, 0, 0], &[128, 159, 0, 0], &[128, 159, 0, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[47, 252, 3, 0], &[246, 203, 3, 0]], &[&[47, 252, 3, 0], &[15, 84, 1, 0], &[9, 204, 0, 0], &[46, 252, 3, 0]], &[34, 143, 99, 2], &[35, 143, 99, 2], &[34, 143, 99, 2]),
(2, &[&[209, 3, 252, 255], &[10, 52, 252, 255]], &[&[47, 252, 3, 0], &[15, 84, 1, 0], &[9, 204, 0, 0], &[46, 252, 3, 0]], &[34, 143, 99, 2], &[35, 143, 99, 2], &[34, 143, 99, 2]),
(2, &[&[47, 252, 3, 0], &[246, 203, 3, 0]], &[&[209, 3, 252, 255], &[241, 171, 254, 255], &[247, 51, 255, 255], &[210, 3, 252, 255]], &[221, 112, 156, 253], &[222, 112, 156, 253], &[222, 112, 156, 253]),
(2, &[&[209, 3, 252, 255], &[10, 52, 252, 255]], &[&[209, 3, 252, 255], &[241, 171, 254, 255], &[247, 51, 255, 255], &[210, 3, 252, 255]], &[221, 112, 156, 253], &[222, 112, 156, 253], &[222, 112, 156, 253]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f16 {
pub const FRAC_BITS: u32 = 16;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[0, 1, 0, 0], &[0, 1, 0, 0]),
(&[2, 0, 0, 0], &[106, 1, 0, 0], &[107, 1, 0, 0]),
(&[3, 0, 0, 0], &[187, 1, 0, 0], &[188, 1, 0, 0]),
(&[0, 0, 1, 0], &[0, 0, 1, 0], &[0, 0, 1, 0]),
(&[0, 0, 2, 0], &[9, 106, 1, 0], &[10, 106, 1, 0]),
(&[0, 0, 4, 0], &[0, 0, 2, 0], &[0, 0, 2, 0]),
(&[0, 128, 0, 0], &[4, 181, 0, 0], &[5, 181, 0, 0]),
(&[1, 64, 0, 0], &[0, 128, 0, 0], &[1, 128, 0, 0]),
(&[57, 48, 0, 64], &[48, 0, 128, 0], &[49, 0, 128, 0]),
(&[255, 255, 255, 127], &[243, 4, 181, 0], &[244, 4, 181, 0]),
(&[146, 36, 3, 0], &[214, 197, 1, 0], &[215, 197, 1, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[85, 85, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 170, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 0, 1, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 254, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 128, 5, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 248, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 192, 0, 0], &[1, 192, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 63, 255, 255], &[0, 64, 255, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[85, 85, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[171, 170, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 1, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 254, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 128, 5, 0], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 248, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 63, 255, 255], &[0, 64, 255, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 192, 0, 0], &[1, 192, 0, 0]),
(&[85, 85, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 85, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[85, 85, 0, 0], &[85, 85, 0, 0], &[113, 28, 0, 0], &[114, 28, 0, 0]),
(&[85, 85, 0, 0], &[171, 170, 255, 255], &[142, 227, 255, 255], &[143, 227, 255, 255]),
(&[85, 85, 0, 0], &[1, 0, 1, 0], &[85, 85, 0, 0], &[86, 85, 0, 0]),
(&[85, 85, 0, 0], &[255, 255, 254, 255], &[170, 170, 255, 255], &[171, 170, 255, 255]),
(&[85, 85, 0, 0], &[0, 128, 5, 0], &[83, 213, 1, 0], &[84, 213, 1, 0]),
(&[85, 85, 0, 0], &[255, 255, 248, 255], &[172, 170, 253, 255], &[173, 170, 253, 255]),
(&[85, 85, 0, 0], &[209, 3, 0, 64], &[69, 65, 85, 21], &[70, 65, 85, 21]),
(&[85, 85, 0, 0], &[47, 252, 255, 191], &[186, 190, 170, 234], &[187, 190, 170, 234]),
(&[171, 170, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[171, 170, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[171, 170, 255, 255], &[85, 85, 0, 0], &[142, 227, 255, 255], &[143, 227, 255, 255]),
(&[171, 170, 255, 255], &[171, 170, 255, 255], &[113, 28, 0, 0], &[114, 28, 0, 0]),
(&[171, 170, 255, 255], &[1, 0, 1, 0], &[170, 170, 255, 255], &[171, 170, 255, 255]),
(&[171, 170, 255, 255], &[255, 255, 254, 255], &[85, 85, 0, 0], &[86, 85, 0, 0]),
(&[171, 170, 255, 255], &[0, 128, 5, 0], &[172, 42, 254, 255], &[173, 42, 254, 255]),
(&[171, 170, 255, 255], &[255, 255, 248, 255], &[83, 85, 2, 0], &[84, 85, 2, 0]),
(&[171, 170, 255, 255], &[209, 3, 0, 64], &[186, 190, 170, 234], &[187, 190, 170, 234]),
(&[171, 170, 255, 255], &[47, 252, 255, 191], &[69, 65, 85, 21], &[70, 65, 85, 21]),
(&[1, 0, 1, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 0, 1, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 0, 1, 0], &[85, 85, 0, 0], &[85, 85, 0, 0], &[86, 85, 0, 0]),
(&[1, 0, 1, 0], &[171, 170, 255, 255], &[170, 170, 255, 255], &[171, 170, 255, 255]),
(&[1, 0, 1, 0], &[1, 0, 1, 0], &[2, 0, 1, 0], &[3, 0, 1, 0]),
(&[1, 0, 1, 0], &[255, 255, 254, 255], &[253, 255, 254, 255], &[254, 255, 254, 255]),
(&[1, 0, 1, 0], &[0, 128, 5, 0], &[5, 128, 5, 0], &[6, 128, 5, 0]),
(&[1, 0, 1, 0], &[255, 255, 248, 255], &[247, 255, 248, 255], &[248, 255, 248, 255]),
(&[1, 0, 1, 0], &[209, 3, 0, 64], &[209, 67, 0, 64], &[210, 67, 0, 64]),
(&[1, 0, 1, 0], &[47, 252, 255, 191], &[46, 188, 255, 191], &[47, 188, 255, 191]),
(&[255, 255, 254, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 255, 254, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 255, 254, 255], &[85, 85, 0, 0], &[170, 170, 255, 255], &[171, 170, 255, 255]),
(&[255, 255, 254, 255], &[171, 170, 255, 255], &[85, 85, 0, 0], &[86, 85, 0, 0]),
(&[255, 255, 254, 255], &[1, 0, 1, 0], &[253, 255, 254, 255], &[254, 255, 254, 255]),
(&[255, 255, 254, 255], &[255, 255, 254, 255], &[2, 0, 1, 0], &[3, 0, 1, 0]),
(&[255, 255, 254, 255], &[0, 128, 5, 0], &[250, 127, 250, 255], &[251, 127, 250, 255]),
(&[255, 255, 254, 255], &[255, 255, 248, 255], &[8, 0, 7, 0], &[9, 0, 7, 0]),
(&[255, 255, 254, 255], &[209, 3, 0, 64], &[46, 188, 255, 191], &[47, 188, 255, 191]),
(&[255, 255, 254, 255], &[47, 252, 255, 191], &[209, 67, 0, 64], &[210, 67, 0, 64]),
(&[0, 128, 5, 0], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[0, 128, 5, 0], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[0, 128, 5, 0], &[85, 85, 0, 0], &[83, 213, 1, 0], &[84, 213, 1, 0]),
(&[0, 128, 5, 0], &[171, 170, 255, 255], &[172, 42, 254, 255], &[173, 42, 254, 255]),
(&[0, 128, 5, 0], &[1, 0, 1, 0], &[5, 128, 5, 0], &[6, 128, 5, 0]),
(&[0, 128, 5, 0], &[255, 255, 254, 255], &[250, 127, 250, 255], &[251, 127, 250, 255]),
(&[0, 128, 5, 0], &[0, 128, 5, 0], &[0, 64, 30, 0], &[0, 64, 30, 0]),
(&[0, 128, 5, 0], &[255, 255, 248, 255], &[250, 127, 217, 255], &[251, 127, 217, 255]),
(&[255, 255, 248, 255], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 255, 248, 255], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[255, 255, 248, 255], &[85, 85, 0, 0], &[172, 170, 253, 255], &[173, 170, 253, 255]),
(&[255, 255, 248, 255], &[171, 170, 255, 255], &[83, 85, 2, 0], &[84, 85, 2, 0]),
(&[255, 255, 248, 255], &[1, 0, 1, 0], &[247, 255, 248, 255], &[248, 255, 248, 255]),
(&[255, 255, 248, 255], &[255, 255, 254, 255], &[8, 0, 7, 0], &[9, 0, 7, 0]),
(&[255, 255, 248, 255], &[0, 128, 5, 0], &[250, 127, 217, 255], &[251, 127, 217, 255]),
(&[255, 255, 248, 255], &[255, 255, 248, 255], &[14, 0, 49, 0], &[15, 0, 49, 0]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[0, 192, 0, 0], &[1, 192, 0, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[255, 63, 255, 255], &[0, 64, 255, 255]),
(&[209, 3, 0, 64], &[85, 85, 0, 0], &[69, 65, 85, 21], &[70, 65, 85, 21]),
(&[209, 3, 0, 64], &[171, 170, 255, 255], &[186, 190, 170, 234], &[187, 190, 170, 234]),
(&[209, 3, 0, 64], &[1, 0, 1, 0], &[209, 67, 0, 64], &[210, 67, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 254, 255], &[46, 188, 255, 191], &[47, 188, 255, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[255, 63, 255, 255], &[0, 64, 255, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[0, 192, 0, 0], &[1, 192, 0, 0]),
(&[47, 252, 255, 191], &[85, 85, 0, 0], &[186, 190, 170, 234], &[187, 190, 170, 234]),
(&[47, 252, 255, 191], &[171, 170, 255, 255], &[69, 65, 85, 21], &[70, 65, 85, 21]),
(&[47, 252, 255, 191], &[1, 0, 1, 0], &[46, 188, 255, 191], &[47, 188, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 254, 255], &[209, 67, 0, 64], &[210, 67, 0, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 1, 0], &[0, 0, 1, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 0, 255, 255], &[0, 0, 255, 255]),
(&[3, 0, 0, 0], &[85, 85, 0, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 170, 255, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 0, 1, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 254, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 128, 5, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 248, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 0, 255, 255], &[0, 0, 255, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 1, 0], &[0, 0, 1, 0]),
(&[253, 255, 255, 255], &[85, 85, 0, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[171, 170, 255, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 1, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 254, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 128, 5, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 255, 248, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 85, 0, 0], &[3, 0, 0, 0], &[170, 170, 113, 28], &[171, 170, 113, 28]),
(&[85, 85, 0, 0], &[253, 255, 255, 255], &[85, 85, 142, 227], &[86, 85, 142, 227]),
(&[85, 85, 0, 0], &[85, 85, 0, 0], &[0, 0, 1, 0], &[0, 0, 1, 0]),
(&[85, 85, 0, 0], &[171, 170, 255, 255], &[0, 0, 255, 255], &[0, 0, 255, 255]),
(&[85, 85, 0, 0], &[1, 0, 1, 0], &[84, 85, 0, 0], &[85, 85, 0, 0]),
(&[85, 85, 0, 0], &[255, 255, 254, 255], &[171, 170, 255, 255], &[172, 170, 255, 255]),
(&[85, 85, 0, 0], &[0, 128, 5, 0], &[131, 15, 0, 0], &[132, 15, 0, 0]),
(&[85, 85, 0, 0], &[255, 255, 248, 255], &[207, 243, 255, 255], &[208, 243, 255, 255]),
(&[85, 85, 0, 0], &[209, 3, 0, 64], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[85, 85, 0, 0], &[47, 252, 255, 191], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[171, 170, 255, 255], &[3, 0, 0, 0], &[85, 85, 142, 227], &[86, 85, 142, 227]),
(&[171, 170, 255, 255], &[253, 255, 255, 255], &[170, 170, 113, 28], &[171, 170, 113, 28]),
(&[171, 170, 255, 255], &[85, 85, 0, 0], &[0, 0, 255, 255], &[0, 0, 255, 255]),
(&[171, 170, 255, 255], &[171, 170, 255, 255], &[0, 0, 1, 0], &[0, 0, 1, 0]),
(&[171, 170, 255, 255], &[1, 0, 1, 0], &[171, 170, 255, 255], &[172, 170, 255, 255]),
(&[171, 170, 255, 255], &[255, 255, 254, 255], &[84, 85, 0, 0], &[85, 85, 0, 0]),
(&[171, 170, 255, 255], &[0, 128, 5, 0], &[124, 240, 255, 255], &[125, 240, 255, 255]),
(&[171, 170, 255, 255], &[255, 255, 248, 255], &[48, 12, 0, 0], &[49, 12, 0, 0]),
(&[171, 170, 255, 255], &[209, 3, 0, 64], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[171, 170, 255, 255], &[47, 252, 255, 191], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[1, 0, 1, 0], &[3, 0, 0, 0], &[170, 170, 85, 85], &[171, 170, 85, 85]),
(&[1, 0, 1, 0], &[253, 255, 255, 255], &[85, 85, 170, 170], &[86, 85, 170, 170]),
(&[1, 0, 1, 0], &[85, 85, 0, 0], &[6, 0, 3, 0], &[7, 0, 3, 0]),
(&[1, 0, 1, 0], &[171, 170, 255, 255], &[249, 255, 252, 255], &[250, 255, 252, 255]),
(&[1, 0, 1, 0], &[1, 0, 1, 0], &[0, 0, 1, 0], &[0, 0, 1, 0]),
(&[1, 0, 1, 0], &[255, 255, 254, 255], &[0, 0, 255, 255], &[0, 0, 255, 255]),
(&[1, 0, 1, 0], &[0, 128, 5, 0], &[139, 46, 0, 0], &[140, 46, 0, 0]),
(&[1, 0, 1, 0], &[255, 255, 248, 255], &[109, 219, 255, 255], &[110, 219, 255, 255]),
(&[1, 0, 1, 0], &[209, 3, 0, 64], &[4, 0, 0, 0], &[5, 0, 0, 0]),
(&[1, 0, 1, 0], &[47, 252, 255, 191], &[251, 255, 255, 255], &[252, 255, 255, 255]),
(&[255, 255, 254, 255], &[3, 0, 0, 0], &[85, 85, 170, 170], &[86, 85, 170, 170]),
(&[255, 255, 254, 255], &[253, 255, 255, 255], &[170, 170, 85, 85], &[171, 170, 85, 85]),
(&[255, 255, 254, 255], &[85, 85, 0, 0], &[249, 255, 252, 255], &[250, 255, 252, 255]),
(&[255, 255, 254, 255], &[171, 170, 255, 255], &[6, 0, 3, 0], &[7, 0, 3, 0]),
(&[255, 255, 254, 255], &[1, 0, 1, 0], &[0, 0, 255, 255], &[0, 0, 255, 255]),
(&[255, 255, 254, 255], &[255, 255, 254, 255], &[0, 0, 1, 0], &[0, 0, 1, 0]),
(&[255, 255, 254, 255], &[0, 128, 5, 0], &[116, 209, 255, 255], &[117, 209, 255, 255]),
(&[255, 255, 254, 255], &[255, 255, 248, 255], &[146, 36, 0, 0], &[147, 36, 0, 0]),
(&[255, 255, 254, 255], &[209, 3, 0, 64], &[251, 255, 255, 255], &[252, 255, 255, 255]),
(&[255, 255, 254, 255], &[47, 252, 255, 191], &[4, 0, 0, 0], &[5, 0, 0, 0]),
(&[0, 128, 5, 0], &[85, 85, 0, 0], &[16, 128, 16, 0], &[17, 128, 16, 0]),
(&[0, 128, 5, 0], &[171, 170, 255, 255], &[239, 127, 239, 255], &[240, 127, 239, 255]),
(&[0, 128, 5, 0], &[1, 0, 1, 0], &[250, 127, 5, 0], &[251, 127, 5, 0]),
(&[0, 128, 5, 0], &[255, 255, 254, 255], &[5, 128, 250, 255], &[6, 128, 250, 255]),
(&[0, 128, 5, 0], &[0, 128, 5, 0], &[0, 0, 1, 0], &[0, 0, 1, 0]),
(&[0, 128, 5, 0], &[255, 255, 248, 255], &[219, 54, 255, 255], &[220, 54, 255, 255]),
(&[0, 128, 5, 0], &[209, 3, 0, 64], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[0, 128, 5, 0], &[47, 252, 255, 191], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 255, 248, 255], &[85, 85, 0, 0], &[231, 255, 234, 255], &[232, 255, 234, 255]),
(&[255, 255, 248, 255], &[171, 170, 255, 255], &[24, 0, 21, 0], &[25, 0, 21, 0]),
(&[255, 255, 248, 255], &[1, 0, 1, 0], &[5, 0, 249, 255], &[6, 0, 249, 255]),
(&[255, 255, 248, 255], &[255, 255, 254, 255], &[250, 255, 6, 0], &[251, 255, 6, 0]),
(&[255, 255, 248, 255], &[0, 128, 5, 0], &[46, 186, 254, 255], &[47, 186, 254, 255]),
(&[255, 255, 248, 255], &[255, 255, 248, 255], &[0, 0, 1, 0], &[0, 0, 1, 0]),
(&[255, 255, 248, 255], &[209, 3, 0, 64], &[227, 255, 255, 255], &[228, 255, 255, 255]),
(&[255, 255, 248, 255], &[47, 252, 255, 191], &[28, 0, 0, 0], &[29, 0, 0, 0]),
(&[209, 3, 0, 64], &[1, 0, 1, 0], &[209, 195, 255, 63], &[210, 195, 255, 63]),
(&[209, 3, 0, 64], &[255, 255, 254, 255], &[46, 60, 0, 192], &[47, 60, 0, 192]),
(&[209, 3, 0, 64], &[0, 128, 5, 0], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[255, 255, 248, 255], &[121, 110, 219, 246], &[122, 110, 219, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 0, 1, 0], &[0, 0, 1, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 0, 255, 255], &[0, 0, 255, 255]),
(&[47, 252, 255, 191], &[1, 0, 1, 0], &[46, 60, 0, 192], &[47, 60, 0, 192]),
(&[47, 252, 255, 191], &[255, 255, 254, 255], &[209, 195, 255, 63], &[210, 195, 255, 63]),
(&[47, 252, 255, 191], &[0, 128, 5, 0], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[255, 255, 248, 255], &[134, 145, 36, 9], &[135, 145, 36, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 0, 255, 255], &[0, 0, 255, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 0, 1, 0], &[0, 0, 1, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[153, 228, 1, 0], &[154, 228, 1, 0]),
(50, &[53, 193, 2, 0], &[54, 193, 2, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 128, 0, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 128, 0, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 128, 0, 0], &[0, 128, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 128, 0, 0], &[0, 128, 0, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[0, 128, 0, 0], &[0, 64, 255, 255], &[0, 160, 0, 0]], &[&[0, 0, 1, 0], &[0, 64, 0, 0], &[0, 224, 255, 255], &[0, 64, 0, 0], &[0, 0, 2, 0], &[0, 16, 0, 0], &[0, 224, 255, 255], &[0, 16, 0, 0], &[0, 128, 0, 0]], &[0, 63, 1, 0], &[0, 63, 1, 0], &[0, 63, 1, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[47, 252, 7, 0], &[246, 203, 7, 0]], &[&[47, 252, 7, 0], &[101, 169, 2, 0], &[214, 152, 1, 0], &[46, 252, 7, 0]], &[21, 175, 235, 4], &[22, 175, 235, 4], &[21, 175, 235, 4]),
(2, &[&[209, 3, 248, 255], &[10, 52, 248, 255]], &[&[47, 252, 7, 0], &[101, 169, 2, 0], &[214, 152, 1, 0], &[46, 252, 7, 0]], &[21, 175, 235, 4], &[22, 175, 235, 4], &[21, 175, 235, 4]),
(2, &[&[47, 252, 7, 0], &[246, 203, 7, 0]], &[&[209, 3, 248, 255], &[155, 86, 253, 255], &[42, 103, 254, 255], &[210, 3, 248, 255]], &[234, 80, 20, 251], &[235, 80, 20, 251], &[235, 80, 20, 251]),
(2, &[&[209, 3, 248, 255], &[10, 52, 248, 255]], &[&[209, 3, 248, 255], &[155, 86, 253, 255], &[42, 103, 254, 255], &[210, 3, 248, 255]], &[234, 80, 20, 251], &[235, 80, 20, 251], &[235, 80, 20, 251]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f17 {
pub const FRAC_BITS: u32 = 17;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[106, 1, 0, 0], &[107, 1, 0, 0]),
(&[2, 0, 0, 0], &[0, 2, 0, 0], &[0, 2, 0, 0]),
(&[3, 0, 0, 0], &[115, 2, 0, 0], &[116, 2, 0, 0]),
(&[0, 0, 2, 0], &[0, 0, 2, 0], &[0, 0, 2, 0]),
(&[0, 0, 4, 0], &[19, 212, 2, 0], &[20, 212, 2, 0]),
(&[0, 0, 8, 0], &[0, 0, 4, 0], &[0, 0, 4, 0]),
(&[0, 0, 1, 0], &[9, 106, 1, 0], &[10, 106, 1, 0]),
(&[1, 128, 0, 0], &[0, 0, 1, 0], &[1, 0, 1, 0]),
(&[57, 48, 0, 64], &[55, 5, 181, 0], &[56, 5, 181, 0]),
(&[255, 255, 255, 127], &[255, 255, 255, 0], &[0, 0, 0, 1]),
(&[36, 73, 6, 0], &[173, 139, 3, 0], &[174, 139, 3, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[170, 170, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 85, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 0, 2, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 253, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 11, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 241, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 96, 0, 0], &[1, 96, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 159, 255, 255], &[0, 160, 255, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[170, 170, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[86, 85, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 2, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 253, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 11, 0], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 241, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 159, 255, 255], &[0, 160, 255, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 96, 0, 0], &[1, 96, 0, 0]),
(&[170, 170, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 170, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[170, 170, 0, 0], &[170, 170, 0, 0], &[227, 56, 0, 0], &[228, 56, 0, 0]),
(&[170, 170, 0, 0], &[86, 85, 255, 255], &[28, 199, 255, 255], &[29, 199, 255, 255]),
(&[170, 170, 0, 0], &[1, 0, 2, 0], &[170, 170, 0, 0], &[171, 170, 0, 0]),
(&[170, 170, 0, 0], &[255, 255, 253, 255], &[85, 85, 255, 255], &[86, 85, 255, 255]),
(&[170, 170, 0, 0], &[0, 0, 11, 0], &[167, 170, 3, 0], &[167, 170, 3, 0]),
(&[170, 170, 0, 0], &[255, 255, 241, 255], &[89, 85, 251, 255], &[90, 85, 251, 255]),
(&[170, 170, 0, 0], &[209, 3, 0, 64], &[69, 65, 85, 21], &[70, 65, 85, 21]),
(&[170, 170, 0, 0], &[47, 252, 255, 191], &[186, 190, 170, 234], &[187, 190, 170, 234]),
(&[86, 85, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[86, 85, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[86, 85, 255, 255], &[170, 170, 0, 0], &[28, 199, 255, 255], &[29, 199, 255, 255]),
(&[86, 85, 255, 255], &[86, 85, 255, 255], &[227, 56, 0, 0], &[228, 56, 0, 0]),
(&[86, 85, 255, 255], &[1, 0, 2, 0], &[85, 85, 255, 255], &[86, 85, 255, 255]),
(&[86, 85, 255, 255], &[255, 255, 253, 255], &[170, 170, 0, 0], &[171, 170, 0, 0]),
(&[86, 85, 255, 255], &[0, 0, 11, 0], &[89, 85, 252, 255], &[89, 85, 252, 255]),
(&[86, 85, 255, 255], &[255, 255, 241, 255], &[166, 170, 4, 0], &[167, 170, 4, 0]),
(&[86, 85, 255, 255], &[209, 3, 0, 64], &[186, 190, 170, 234], &[187, 190, 170, 234]),
(&[86, 85, 255, 255], &[47, 252, 255, 191], &[69, 65, 85, 21], &[70, 65, 85, 21]),
(&[1, 0, 2, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 0, 2, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 0, 2, 0], &[170, 170, 0, 0], &[170, 170, 0, 0], &[171, 170, 0, 0]),
(&[1, 0, 2, 0], &[86, 85, 255, 255], &[85, 85, 255, 255], &[86, 85, 255, 255]),
(&[1, 0, 2, 0], &[1, 0, 2, 0], &[2, 0, 2, 0], &[3, 0, 2, 0]),
(&[1, 0, 2, 0], &[255, 255, 253, 255], &[253, 255, 253, 255], &[254, 255, 253, 255]),
(&[1, 0, 2, 0], &[0, 0, 11, 0], &[5, 0, 11, 0], &[6, 0, 11, 0]),
(&[1, 0, 2, 0], &[255, 255, 241, 255], &[247, 255, 241, 255], &[248, 255, 241, 255]),
(&[1, 0, 2, 0], &[209, 3, 0, 64], &[209, 35, 0, 64], &[210, 35, 0, 64]),
(&[1, 0, 2, 0], &[47, 252, 255, 191], &[46, 220, 255, 191], &[47, 220, 255, 191]),
(&[255, 255, 253, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 255, 253, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 255, 253, 255], &[170, 170, 0, 0], &[85, 85, 255, 255], &[86, 85, 255, 255]),
(&[255, 255, 253, 255], &[86, 85, 255, 255], &[170, 170, 0, 0], &[171, 170, 0, 0]),
(&[255, 255, 253, 255], &[1, 0, 2, 0], &[253, 255, 253, 255], &[254, 255, 253, 255]),
(&[255, 255, 253, 255], &[255, 255, 253, 255], &[2, 0, 2, 0], &[3, 0, 2, 0]),
(&[255, 255, 253, 255], &[0, 0, 11, 0], &[250, 255, 244, 255], &[251, 255, 244, 255]),
(&[255, 255, 253, 255], &[255, 255, 241, 255], &[8, 0, 14, 0], &[9, 0, 14, 0]),
(&[255, 255, 253, 255], &[209, 3, 0, 64], &[46, 220, 255, 191], &[47, 220, 255, 191]),
(&[255, 255, 253, 255], &[47, 252, 255, 191], &[209, 35, 0, 64], &[210, 35, 0, 64]),
(&[0, 0, 11, 0], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[0, 0, 11, 0], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[0, 0, 11, 0], &[170, 170, 0, 0], &[167, 170, 3, 0], &[167, 170, 3, 0]),
(&[0, 0, 11, 0], &[86, 85, 255, 255], &[89, 85, 252, 255], &[89, 85, 252, 255]),
(&[0, 0, 11, 0], &[1, 0, 2, 0], &[5, 0, 11, 0], &[6, 0, 11, 0]),
(&[0, 0, 11, 0], &[255, 255, 253, 255], &[250, 255, 244, 255], &[251, 255, 244, 255]),
(&[0, 0, 11, 0], &[0, 0, 11, 0], &[0, 128, 60, 0], &[0, 128, 60, 0]),
(&[0, 0, 11, 0], &[255, 255, 241, 255], &[250, 255, 178, 255], &[251, 255, 178, 255]),
(&[255, 255, 241, 255], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 255, 241, 255], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[255, 255, 241, 255], &[170, 170, 0, 0], &[89, 85, 251, 255], &[90, 85, 251, 255]),
(&[255, 255, 241, 255], &[86, 85, 255, 255], &[166, 170, 4, 0], &[167, 170, 4, 0]),
(&[255, 255, 241, 255], &[1, 0, 2, 0], &[247, 255, 241, 255], &[248, 255, 241, 255]),
(&[255, 255, 241, 255], &[255, 255, 253, 255], &[8, 0, 14, 0], &[9, 0, 14, 0]),
(&[255, 255, 241, 255], &[0, 0, 11, 0], &[250, 255, 178, 255], &[251, 255, 178, 255]),
(&[255, 255, 241, 255], &[255, 255, 241, 255], &[14, 0, 98, 0], &[15, 0, 98, 0]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[0, 96, 0, 0], &[1, 96, 0, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[255, 159, 255, 255], &[0, 160, 255, 255]),
(&[209, 3, 0, 64], &[170, 170, 0, 0], &[69, 65, 85, 21], &[70, 65, 85, 21]),
(&[209, 3, 0, 64], &[86, 85, 255, 255], &[186, 190, 170, 234], &[187, 190, 170, 234]),
(&[209, 3, 0, 64], &[1, 0, 2, 0], &[209, 35, 0, 64], &[210, 35, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 253, 255], &[46, 220, 255, 191], &[47, 220, 255, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[255, 159, 255, 255], &[0, 160, 255, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[0, 96, 0, 0], &[1, 96, 0, 0]),
(&[47, 252, 255, 191], &[170, 170, 0, 0], &[186, 190, 170, 234], &[187, 190, 170, 234]),
(&[47, 252, 255, 191], &[86, 85, 255, 255], &[69, 65, 85, 21], &[70, 65, 85, 21]),
(&[47, 252, 255, 191], &[1, 0, 2, 0], &[46, 220, 255, 191], &[47, 220, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 253, 255], &[209, 35, 0, 64], &[210, 35, 0, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 2, 0], &[0, 0, 2, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 0, 254, 255], &[0, 0, 254, 255]),
(&[3, 0, 0, 0], &[170, 170, 0, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 85, 255, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 0, 2, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 253, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 11, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 241, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 0, 254, 255], &[0, 0, 254, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 2, 0], &[0, 0, 2, 0]),
(&[253, 255, 255, 255], &[170, 170, 0, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[86, 85, 255, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 2, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 253, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 11, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 255, 241, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 170, 0, 0], &[3, 0, 0, 0], &[170, 170, 198, 113], &[171, 170, 198, 113]),
(&[170, 170, 0, 0], &[253, 255, 255, 255], &[85, 85, 57, 142], &[86, 85, 57, 142]),
(&[170, 170, 0, 0], &[170, 170, 0, 0], &[0, 0, 2, 0], &[0, 0, 2, 0]),
(&[170, 170, 0, 0], &[86, 85, 255, 255], &[0, 0, 254, 255], &[0, 0, 254, 255]),
(&[170, 170, 0, 0], &[1, 0, 2, 0], &[169, 170, 0, 0], &[170, 170, 0, 0]),
(&[170, 170, 0, 0], &[255, 255, 253, 255], &[86, 85, 255, 255], &[87, 85, 255, 255]),
(&[170, 170, 0, 0], &[0, 0, 11, 0], &[7, 31, 0, 0], &[8, 31, 0, 0]),
(&[170, 170, 0, 0], &[255, 255, 241, 255], &[158, 231, 255, 255], &[159, 231, 255, 255]),
(&[170, 170, 0, 0], &[209, 3, 0, 64], &[5, 0, 0, 0], &[6, 0, 0, 0]),
(&[170, 170, 0, 0], &[47, 252, 255, 191], &[250, 255, 255, 255], &[251, 255, 255, 255]),
(&[86, 85, 255, 255], &[3, 0, 0, 0], &[85, 85, 57, 142], &[86, 85, 57, 142]),
(&[86, 85, 255, 255], &[253, 255, 255, 255], &[170, 170, 198, 113], &[171, 170, 198, 113]),
(&[86, 85, 255, 255], &[170, 170, 0, 0], &[0, 0, 254, 255], &[0, 0, 254, 255]),
(&[86, 85, 255, 255], &[86, 85, 255, 255], &[0, 0, 2, 0], &[0, 0, 2, 0]),
(&[86, 85, 255, 255], &[1, 0, 2, 0], &[86, 85, 255, 255], &[87, 85, 255, 255]),
(&[86, 85, 255, 255], &[255, 255, 253, 255], &[169, 170, 0, 0], &[170, 170, 0, 0]),
(&[86, 85, 255, 255], &[0, 0, 11, 0], &[248, 224, 255, 255], &[249, 224, 255, 255]),
(&[86, 85, 255, 255], &[255, 255, 241, 255], &[97, 24, 0, 0], &[98, 24, 0, 0]),
(&[86, 85, 255, 255], &[209, 3, 0, 64], &[250, 255, 255, 255], &[251, 255, 255, 255]),
(&[86, 85, 255, 255], &[47, 252, 255, 191], &[5, 0, 0, 0], &[6, 0, 0, 0]),
(&[1, 0, 2, 0], &[170, 170, 0, 0], &[9, 0, 6, 0], &[10, 0, 6, 0]),
(&[1, 0, 2, 0], &[86, 85, 255, 255], &[246, 255, 249, 255], &[247, 255, 249, 255]),
(&[1, 0, 2, 0], &[1, 0, 2, 0], &[0, 0, 2, 0], &[0, 0, 2, 0]),
(&[1, 0, 2, 0], &[255, 255, 253, 255], &[0, 0, 254, 255], &[0, 0, 254, 255]),
(&[1, 0, 2, 0], &[0, 0, 11, 0], &[23, 93, 0, 0], &[24, 93, 0, 0]),
(&[1, 0, 2, 0], &[255, 255, 241, 255], &[219, 182, 255, 255], &[220, 182, 255, 255]),
(&[1, 0, 2, 0], &[209, 3, 0, 64], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[1, 0, 2, 0], &[47, 252, 255, 191], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[255, 255, 253, 255], &[170, 170, 0, 0], &[246, 255, 249, 255], &[247, 255, 249, 255]),
(&[255, 255, 253, 255], &[86, 85, 255, 255], &[9, 0, 6, 0], &[10, 0, 6, 0]),
(&[255, 255, 253, 255], &[1, 0, 2, 0], &[0, 0, 254, 255], &[0, 0, 254, 255]),
(&[255, 255, 253, 255], &[255, 255, 253, 255], &[0, 0, 2, 0], &[0, 0, 2, 0]),
(&[255, 255, 253, 255], &[0, 0, 11, 0], &[232, 162, 255, 255], &[233, 162, 255, 255]),
(&[255, 255, 253, 255], &[255, 255, 241, 255], &[36, 73, 0, 0], &[37, 73, 0, 0]),
(&[255, 255, 253, 255], &[209, 3, 0, 64], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[255, 255, 253, 255], &[47, 252, 255, 191], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[0, 0, 11, 0], &[170, 170, 0, 0], &[33, 0, 33, 0], &[34, 0, 33, 0]),
(&[0, 0, 11, 0], &[86, 85, 255, 255], &[222, 255, 222, 255], &[223, 255, 222, 255]),
(&[0, 0, 11, 0], &[1, 0, 2, 0], &[250, 255, 10, 0], &[251, 255, 10, 0]),
(&[0, 0, 11, 0], &[255, 255, 253, 255], &[5, 0, 245, 255], &[6, 0, 245, 255]),
(&[0, 0, 11, 0], &[0, 0, 11, 0], &[0, 0, 2, 0], &[0, 0, 2, 0]),
(&[0, 0, 11, 0], &[255, 255, 241, 255], &[182, 109, 254, 255], &[183, 109, 254, 255]),
(&[0, 0, 11, 0], &[209, 3, 0, 64], &[87, 0, 0, 0], &[88, 0, 0, 0]),
(&[0, 0, 11, 0], &[47, 252, 255, 191], &[168, 255, 255, 255], &[169, 255, 255, 255]),
(&[255, 255, 241, 255], &[170, 170, 0, 0], &[210, 255, 213, 255], &[211, 255, 213, 255]),
(&[255, 255, 241, 255], &[86, 85, 255, 255], &[45, 0, 42, 0], &[46, 0, 42, 0]),
(&[255, 255, 241, 255], &[1, 0, 2, 0], &[5, 0, 242, 255], &[6, 0, 242, 255]),
(&[255, 255, 241, 255], &[255, 255, 253, 255], &[250, 255, 13, 0], &[251, 255, 13, 0]),
(&[255, 255, 241, 255], &[0, 0, 11, 0], &[92, 116, 253, 255], &[93, 116, 253, 255]),
(&[255, 255, 241, 255], &[255, 255, 241, 255], &[0, 0, 2, 0], &[0, 0, 2, 0]),
(&[255, 255, 241, 255], &[209, 3, 0, 64], &[143, 255, 255, 255], &[144, 255, 255, 255]),
(&[255, 255, 241, 255], &[47, 252, 255, 191], &[112, 0, 0, 0], &[113, 0, 0, 0]),
(&[209, 3, 0, 64], &[1, 0, 2, 0], &[209, 227, 255, 63], &[210, 227, 255, 63]),
(&[209, 3, 0, 64], &[255, 255, 253, 255], &[46, 28, 0, 192], &[47, 28, 0, 192]),
(&[209, 3, 0, 64], &[0, 0, 11, 0], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[255, 255, 241, 255], &[210, 109, 219, 246], &[211, 109, 219, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 0, 2, 0], &[0, 0, 2, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 0, 254, 255], &[0, 0, 254, 255]),
(&[47, 252, 255, 191], &[1, 0, 2, 0], &[46, 28, 0, 192], &[47, 28, 0, 192]),
(&[47, 252, 255, 191], &[255, 255, 253, 255], &[209, 227, 255, 63], &[210, 227, 255, 63]),
(&[47, 252, 255, 191], &[0, 0, 11, 0], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[255, 255, 241, 255], &[45, 146, 36, 9], &[46, 146, 36, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 0, 254, 255], &[0, 0, 254, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 0, 2, 0], &[0, 0, 2, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[51, 201, 3, 0], &[52, 201, 3, 0]),
(50, &[106, 130, 5, 0], &[107, 130, 5, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 0, 1, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 0, 1, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 0, 1, 0], &[0, 0, 1, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 0, 1, 0], &[0, 0, 1, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[0, 0, 1, 0], &[0, 128, 254, 255], &[0, 64, 1, 0]], &[&[0, 0, 2, 0], &[0, 128, 0, 0], &[0, 192, 255, 255], &[0, 128, 0, 0], &[0, 0, 4, 0], &[0, 32, 0, 0], &[0, 192, 255, 255], &[0, 32, 0, 0], &[0, 0, 1, 0]], &[0, 126, 2, 0], &[0, 126, 2, 0], &[0, 126, 2, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[47, 252, 7, 0], &[246, 203, 7, 0]], &[&[47, 252, 7, 0], &[101, 169, 2, 0], &[214, 152, 1, 0], &[46, 252, 7, 0]], &[197, 235, 58, 1], &[198, 235, 58, 1], &[197, 235, 58, 1]),
(2, &[&[209, 3, 248, 255], &[10, 52, 248, 255]], &[&[47, 252, 7, 0], &[101, 169, 2, 0], &[214, 152, 1, 0], &[46, 252, 7, 0]], &[197, 235, 58, 1], &[198, 235, 58, 1], &[197, 235, 58, 1]),
(2, &[&[47, 252, 7, 0], &[246, 203, 7, 0]], &[&[209, 3, 248, 255], &[155, 86, 253, 255], &[42, 103, 254, 255], &[210, 3, 248, 255]], &[58, 20, 197, 254], &[59, 20, 197, 254], &[59, 20, 197, 254]),
(2, &[&[209, 3, 248, 255], &[10, 52, 248, 255]], &[&[209, 3, 248, 255], &[155, 86, 253, 255], &[42, 103, 254, 255], &[210, 3, 248, 255]], &[58, 20, 197, 254], &[59, 20, 197, 254], &[59, 20, 197, 254]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f18 {
pub const FRAC_BITS: u32 = 18;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[0, 2, 0, 0], &[0, 2, 0, 0]),
(&[2, 0, 0, 0], &[212, 2, 0, 0], &[213, 2, 0, 0]),
(&[3, 0, 0, 0], &[118, 3, 0, 0], &[119, 3, 0, 0]),
(&[0, 0, 4, 0], &[0, 0, 4, 0], &[0, 0, 4, 0]),
(&[0, 0, 8, 0], &[39, 168, 5, 0], &[40, 168, 5, 0]),
(&[0, 0, 16, 0], &[0, 0, 8, 0], &[0, 0, 8, 0]),
(&[0, 0, 2, 0], &[19, 212, 2, 0], &[20, 212, 2, 0]),
(&[1, 0, 1, 0], &[0, 0, 2, 0], &[1, 0, 2, 0]),
(&[57, 48, 0, 64], &[96, 0, 0, 1], &[97, 0, 0, 1]),
(&[255, 255, 255, 127], &[230, 9, 106, 1], &[231, 9, 106, 1]),
(&[73, 146, 12, 0], &[91, 23, 7, 0], &[92, 23, 7, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[85, 85, 1, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 170, 254, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 0, 4, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 251, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 22, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 227, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 48, 0, 0], &[1, 48, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 207, 255, 255], &[0, 208, 255, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[85, 85, 1, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[171, 170, 254, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 4, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 251, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 22, 0], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 227, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 207, 255, 255], &[0, 208, 255, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 48, 0, 0], &[1, 48, 0, 0]),
(&[85, 85, 1, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 85, 1, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[85, 85, 1, 0], &[85, 85, 1, 0], &[198, 113, 0, 0], &[199, 113, 0, 0]),
(&[85, 85, 1, 0], &[171, 170, 254, 255], &[57, 142, 255, 255], &[58, 142, 255, 255]),
(&[85, 85, 1, 0], &[1, 0, 4, 0], &[85, 85, 1, 0], &[86, 85, 1, 0]),
(&[85, 85, 1, 0], &[255, 255, 251, 255], &[170, 170, 254, 255], &[171, 170, 254, 255]),
(&[85, 85, 1, 0], &[0, 0, 22, 0], &[83, 85, 7, 0], &[84, 85, 7, 0]),
(&[85, 85, 1, 0], &[255, 255, 227, 255], &[172, 170, 246, 255], &[173, 170, 246, 255]),
(&[85, 85, 1, 0], &[209, 3, 0, 64], &[69, 81, 85, 21], &[70, 81, 85, 21]),
(&[85, 85, 1, 0], &[47, 252, 255, 191], &[186, 174, 170, 234], &[187, 174, 170, 234]),
(&[171, 170, 254, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[171, 170, 254, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[171, 170, 254, 255], &[85, 85, 1, 0], &[57, 142, 255, 255], &[58, 142, 255, 255]),
(&[171, 170, 254, 255], &[171, 170, 254, 255], &[198, 113, 0, 0], &[199, 113, 0, 0]),
(&[171, 170, 254, 255], &[1, 0, 4, 0], &[170, 170, 254, 255], &[171, 170, 254, 255]),
(&[171, 170, 254, 255], &[255, 255, 251, 255], &[85, 85, 1, 0], &[86, 85, 1, 0]),
(&[171, 170, 254, 255], &[0, 0, 22, 0], &[172, 170, 248, 255], &[173, 170, 248, 255]),
(&[171, 170, 254, 255], &[255, 255, 227, 255], &[83, 85, 9, 0], &[84, 85, 9, 0]),
(&[171, 170, 254, 255], &[209, 3, 0, 64], &[186, 174, 170, 234], &[187, 174, 170, 234]),
(&[171, 170, 254, 255], &[47, 252, 255, 191], &[69, 81, 85, 21], &[70, 81, 85, 21]),
(&[1, 0, 4, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 0, 4, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 0, 4, 0], &[85, 85, 1, 0], &[85, 85, 1, 0], &[86, 85, 1, 0]),
(&[1, 0, 4, 0], &[171, 170, 254, 255], &[170, 170, 254, 255], &[171, 170, 254, 255]),
(&[1, 0, 4, 0], &[1, 0, 4, 0], &[2, 0, 4, 0], &[3, 0, 4, 0]),
(&[1, 0, 4, 0], &[255, 255, 251, 255], &[253, 255, 251, 255], &[254, 255, 251, 255]),
(&[1, 0, 4, 0], &[0, 0, 22, 0], &[5, 0, 22, 0], &[6, 0, 22, 0]),
(&[1, 0, 4, 0], &[255, 255, 227, 255], &[247, 255, 227, 255], &[248, 255, 227, 255]),
(&[1, 0, 4, 0], &[209, 3, 0, 64], &[209, 19, 0, 64], &[210, 19, 0, 64]),
(&[1, 0, 4, 0], &[47, 252, 255, 191], &[46, 236, 255, 191], &[47, 236, 255, 191]),
(&[255, 255, 251, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 255, 251, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 255, 251, 255], &[85, 85, 1, 0], &[170, 170, 254, 255], &[171, 170, 254, 255]),
(&[255, 255, 251, 255], &[171, 170, 254, 255], &[85, 85, 1, 0], &[86, 85, 1, 0]),
(&[255, 255, 251, 255], &[1, 0, 4, 0], &[253, 255, 251, 255], &[254, 255, 251, 255]),
(&[255, 255, 251, 255], &[255, 255, 251, 255], &[2, 0, 4, 0], &[3, 0, 4, 0]),
(&[255, 255, 251, 255], &[0, 0, 22, 0], &[250, 255, 233, 255], &[251, 255, 233, 255]),
(&[255, 255, 251, 255], &[255, 255, 227, 255], &[8, 0, 28, 0], &[9, 0, 28, 0]),
(&[255, 255, 251, 255], &[209, 3, 0, 64], &[46, 236, 255, 191], &[47, 236, 255, 191]),
(&[255, 255, 251, 255], &[47, 252, 255, 191], &[209, 19, 0, 64], &[210, 19, 0, 64]),
(&[0, 0, 22, 0], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[0, 0, 22, 0], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[0, 0, 22, 0], &[85, 85, 1, 0], &[83, 85, 7, 0], &[84, 85, 7, 0]),
(&[0, 0, 22, 0], &[171, 170, 254, 255], &[172, 170, 248, 255], &[173, 170, 248, 255]),
(&[0, 0, 22, 0], &[1, 0, 4, 0], &[5, 0, 22, 0], &[6, 0, 22, 0]),
(&[0, 0, 22, 0], &[255, 255, 251, 255], &[250, 255, 233, 255], &[251, 255, 233, 255]),
(&[0, 0, 22, 0], &[0, 0, 22, 0], &[0, 0, 121, 0], &[0, 0, 121, 0]),
(&[0, 0, 22, 0], &[255, 255, 227, 255], &[250, 255, 101, 255], &[251, 255, 101, 255]),
(&[255, 255, 227, 255], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 255, 227, 255], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[255, 255, 227, 255], &[85, 85, 1, 0], &[172, 170, 246, 255], &[173, 170, 246, 255]),
(&[255, 255, 227, 255], &[171, 170, 254, 255], &[83, 85, 9, 0], &[84, 85, 9, 0]),
(&[255, 255, 227, 255], &[1, 0, 4, 0], &[247, 255, 227, 255], &[248, 255, 227, 255]),
(&[255, 255, 227, 255], &[255, 255, 251, 255], &[8, 0, 28, 0], &[9, 0, 28, 0]),
(&[255, 255, 227, 255], &[0, 0, 22, 0], &[250, 255, 101, 255], &[251, 255, 101, 255]),
(&[255, 255, 227, 255], &[255, 255, 227, 255], &[14, 0, 196, 0], &[15, 0, 196, 0]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[0, 48, 0, 0], &[1, 48, 0, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[255, 207, 255, 255], &[0, 208, 255, 255]),
(&[209, 3, 0, 64], &[85, 85, 1, 0], &[69, 81, 85, 21], &[70, 81, 85, 21]),
(&[209, 3, 0, 64], &[171, 170, 254, 255], &[186, 174, 170, 234], &[187, 174, 170, 234]),
(&[209, 3, 0, 64], &[1, 0, 4, 0], &[209, 19, 0, 64], &[210, 19, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 251, 255], &[46, 236, 255, 191], &[47, 236, 255, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[255, 207, 255, 255], &[0, 208, 255, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[0, 48, 0, 0], &[1, 48, 0, 0]),
(&[47, 252, 255, 191], &[85, 85, 1, 0], &[186, 174, 170, 234], &[187, 174, 170, 234]),
(&[47, 252, 255, 191], &[171, 170, 254, 255], &[69, 81, 85, 21], &[70, 81, 85, 21]),
(&[47, 252, 255, 191], &[1, 0, 4, 0], &[46, 236, 255, 191], &[47, 236, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 251, 255], &[209, 19, 0, 64], &[210, 19, 0, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 4, 0], &[0, 0, 4, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 0, 252, 255], &[0, 0, 252, 255]),
(&[3, 0, 0, 0], &[85, 85, 1, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 170, 254, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 0, 4, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 251, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 22, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 227, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 0, 252, 255], &[0, 0, 252, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 4, 0], &[0, 0, 4, 0]),
(&[253, 255, 255, 255], &[85, 85, 1, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[171, 170, 254, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 4, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 251, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 22, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 255, 227, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 85, 1, 0], &[85, 85, 1, 0], &[0, 0, 4, 0], &[0, 0, 4, 0]),
(&[85, 85, 1, 0], &[171, 170, 254, 255], &[0, 0, 252, 255], &[0, 0, 252, 255]),
(&[85, 85, 1, 0], &[1, 0, 4, 0], &[84, 85, 1, 0], &[85, 85, 1, 0]),
(&[85, 85, 1, 0], &[255, 255, 251, 255], &[171, 170, 254, 255], &[172, 170, 254, 255]),
(&[85, 85, 1, 0], &[0, 0, 22, 0], &[15, 62, 0, 0], &[16, 62, 0, 0]),
(&[85, 85, 1, 0], &[255, 255, 227, 255], &[61, 207, 255, 255], &[62, 207, 255, 255]),
(&[85, 85, 1, 0], &[209, 3, 0, 64], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[85, 85, 1, 0], &[47, 252, 255, 191], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[171, 170, 254, 255], &[85, 85, 1, 0], &[0, 0, 252, 255], &[0, 0, 252, 255]),
(&[171, 170, 254, 255], &[171, 170, 254, 255], &[0, 0, 4, 0], &[0, 0, 4, 0]),
(&[171, 170, 254, 255], &[1, 0, 4, 0], &[171, 170, 254, 255], &[172, 170, 254, 255]),
(&[171, 170, 254, 255], &[255, 255, 251, 255], &[84, 85, 1, 0], &[85, 85, 1, 0]),
(&[171, 170, 254, 255], &[0, 0, 22, 0], &[240, 193, 255, 255], &[241, 193, 255, 255]),
(&[171, 170, 254, 255], &[255, 255, 227, 255], &[194, 48, 0, 0], &[195, 48, 0, 0]),
(&[171, 170, 254, 255], &[209, 3, 0, 64], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[171, 170, 254, 255], &[47, 252, 255, 191], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[1, 0, 4, 0], &[85, 85, 1, 0], &[6, 0, 12, 0], &[7, 0, 12, 0]),
(&[1, 0, 4, 0], &[171, 170, 254, 255], &[249, 255, 243, 255], &[250, 255, 243, 255]),
(&[1, 0, 4, 0], &[1, 0, 4, 0], &[0, 0, 4, 0], &[0, 0, 4, 0]),
(&[1, 0, 4, 0], &[255, 255, 251, 255], &[0, 0, 252, 255], &[0, 0, 252, 255]),
(&[1, 0, 4, 0], &[0, 0, 22, 0], &[46, 186, 0, 0], &[47, 186, 0, 0]),
(&[1, 0, 4, 0], &[255, 255, 227, 255], &[182, 109, 255, 255], &[183, 109, 255, 255]),
(&[1, 0, 4, 0], &[209, 3, 0, 64], &[64, 0, 0, 0], &[65, 0, 0, 0]),
(&[1, 0, 4, 0], &[47, 252, 255, 191], &[191, 255, 255, 255], &[192, 255, 255, 255]),
(&[255, 255, 251, 255], &[85, 85, 1, 0], &[249, 255, 243, 255], &[250, 255, 243, 255]),
(&[255, 255, 251, 255], &[171, 170, 254, 255], &[6, 0, 12, 0], &[7, 0, 12, 0]),
(&[255, 255, 251, 255], &[1, 0, 4, 0], &[0, 0, 252, 255], &[0, 0, 252, 255]),
(&[255, 255, 251, 255], &[255, 255, 251, 255], &[0, 0, 4, 0], &[0, 0, 4, 0]),
(&[255, 255, 251, 255], &[0, 0, 22, 0], &[209, 69, 255, 255], &[210, 69, 255, 255]),
(&[255, 255, 251, 255], &[255, 255, 227, 255], &[73, 146, 0, 0], &[74, 146, 0, 0]),
(&[255, 255, 251, 255], &[209, 3, 0, 64], &[191, 255, 255, 255], &[192, 255, 255, 255]),
(&[255, 255, 251, 255], &[47, 252, 255, 191], &[64, 0, 0, 0], &[65, 0, 0, 0]),
(&[0, 0, 22, 0], &[85, 85, 1, 0], &[16, 0, 66, 0], &[17, 0, 66, 0]),
(&[0, 0, 22, 0], &[171, 170, 254, 255], &[239, 255, 189, 255], &[240, 255, 189, 255]),
(&[0, 0, 22, 0], &[1, 0, 4, 0], &[250, 255, 21, 0], &[251, 255, 21, 0]),
(&[0, 0, 22, 0], &[255, 255, 251, 255], &[5, 0, 234, 255], &[6, 0, 234, 255]),
(&[0, 0, 22, 0], &[0, 0, 22, 0], &[0, 0, 4, 0], &[0, 0, 4, 0]),
(&[0, 0, 22, 0], &[255, 255, 227, 255], &[109, 219, 252, 255], &[110, 219, 252, 255]),
(&[0, 0, 22, 0], &[209, 3, 0, 64], &[95, 1, 0, 0], &[96, 1, 0, 0]),
(&[0, 0, 22, 0], &[47, 252, 255, 191], &[160, 254, 255, 255], &[161, 254, 255, 255]),
(&[255, 255, 227, 255], &[85, 85, 1, 0], &[231, 255, 171, 255], &[232, 255, 171, 255]),
(&[255, 255, 227, 255], &[171, 170, 254, 255], &[24, 0, 84, 0], &[25, 0, 84, 0]),
(&[255, 255, 227, 255], &[1, 0, 4, 0], &[5, 0, 228, 255], &[6, 0, 228, 255]),
(&[255, 255, 227, 255], &[255, 255, 251, 255], &[250, 255, 27, 0], &[251, 255, 27, 0]),
(&[255, 255, 227, 255], &[0, 0, 22, 0], &[186, 232, 250, 255], &[186, 232, 250, 255]),
(&[255, 255, 227, 255], &[255, 255, 227, 255], &[0, 0, 4, 0], &[0, 0, 4, 0]),
(&[255, 255, 227, 255], &[209, 3, 0, 64], &[64, 254, 255, 255], &[65, 254, 255, 255]),
(&[255, 255, 227, 255], &[47, 252, 255, 191], &[191, 1, 0, 0], &[192, 1, 0, 0]),
(&[209, 3, 0, 64], &[1, 0, 4, 0], &[209, 243, 255, 63], &[210, 243, 255, 63]),
(&[209, 3, 0, 64], &[255, 255, 251, 255], &[46, 12, 0, 192], &[47, 12, 0, 192]),
(&[209, 3, 0, 64], &[0, 0, 22, 0], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[255, 255, 227, 255], &[126, 109, 219, 246], &[127, 109, 219, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 0, 4, 0], &[0, 0, 4, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 0, 252, 255], &[0, 0, 252, 255]),
(&[47, 252, 255, 191], &[1, 0, 4, 0], &[46, 12, 0, 192], &[47, 12, 0, 192]),
(&[47, 252, 255, 191], &[255, 255, 251, 255], &[209, 243, 255, 63], &[210, 243, 255, 63]),
(&[47, 252, 255, 191], &[0, 0, 22, 0], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[255, 255, 227, 255], &[129, 146, 36, 9], &[130, 146, 36, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 0, 252, 255], &[0, 0, 252, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 0, 4, 0], &[0, 0, 4, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[102, 146, 7, 0], &[103, 146, 7, 0]),
(50, &[213, 4, 11, 0], &[214, 4, 11, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 0, 2, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 0, 2, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 0, 2, 0], &[0, 0, 2, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 0, 2, 0], &[0, 0, 2, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[0, 0, 2, 0], &[0, 0, 253, 255], &[0, 128, 2, 0]], &[&[0, 0, 4, 0], &[0, 0, 1, 0], &[0, 128, 255, 255], &[0, 0, 1, 0], &[0, 0, 8, 0], &[0, 64, 0, 0], &[0, 128, 255, 255], &[0, 64, 0, 0], &[0, 0, 2, 0]], &[0, 252, 4, 0], &[0, 252, 4, 0], &[0, 252, 4, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[47, 252, 15, 0], &[246, 203, 15, 0]], &[&[47, 252, 15, 0], &[15, 84, 5, 0], &[111, 50, 3, 0], &[46, 252, 15, 0]], &[212, 34, 127, 2], &[213, 34, 127, 2], &[213, 34, 127, 2]),
(2, &[&[209, 3, 240, 255], &[10, 52, 240, 255]], &[&[47, 252, 15, 0], &[15, 84, 5, 0], &[111, 50, 3, 0], &[46, 252, 15, 0]], &[212, 34, 127, 2], &[213, 34, 127, 2], &[213, 34, 127, 2]),
(2, &[&[47, 252, 15, 0], &[246, 203, 15, 0]], &[&[209, 3, 240, 255], &[241, 171, 250, 255], &[145, 205, 252, 255], &[210, 3, 240, 255]], &[43, 221, 128, 253], &[44, 221, 128, 253], &[43, 221, 128, 253]),
(2, &[&[209, 3, 240, 255], &[10, 52, 240, 255]], &[&[209, 3, 240, 255], &[241, 171, 250, 255], &[145, 205, 252, 255], &[210, 3, 240, 255]], &[43, 221, 128, 253], &[44, 221, 128, 253], &[43, 221, 128, 253]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f19 {
pub const FRAC_BITS: u32 = 19;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[212, 2, 0, 0], &[213, 2, 0, 0]),
(&[2, 0, 0, 0], &[0, 4, 0, 0], &[0, 4, 0, 0]),
(&[3, 0, 0, 0], &[230, 4, 0, 0], &[231, 4, 0, 0]),
(&[0, 0, 8, 0], &[0, 0, 8, 0], &[0, 0, 8, 0]),
(&[0, 0, 16, 0], &[79, 80, 11, 0], &[80, 80, 11, 0]),
(&[0, 0, 32, 0], &[0, 0, 16, 0], &[0, 0, 16, 0]),
(&[0, 0, 4, 0], &[39, 168, 5, 0], &[40, 168, 5, 0]),
(&[1, 0, 2, 0], &[0, 0, 4, 0], &[1, 0, 4, 0]),
(&[57, 48, 0, 64], &[110, 10, 106, 1], &[111, 10, 106, 1]),
(&[255, 255, 255, 127], &[255, 255, 255, 1], &[0, 0, 0, 2]),
(&[146, 36, 25, 0], &[183, 46, 14, 0], &[184, 46, 14, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[170, 170, 2, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 85, 253, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 0, 8, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 247, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 44, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 199, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 24, 0, 0], &[1, 24, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 231, 255, 255], &[0, 232, 255, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[170, 170, 2, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[86, 85, 253, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 8, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 247, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 44, 0], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 199, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 231, 255, 255], &[0, 232, 255, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 24, 0, 0], &[1, 24, 0, 0]),
(&[170, 170, 2, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 170, 2, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[170, 170, 2, 0], &[170, 170, 2, 0], &[141, 227, 0, 0], &[142, 227, 0, 0]),
(&[170, 170, 2, 0], &[86, 85, 253, 255], &[114, 28, 255, 255], &[115, 28, 255, 255]),
(&[170, 170, 2, 0], &[1, 0, 8, 0], &[170, 170, 2, 0], &[171, 170, 2, 0]),
(&[170, 170, 2, 0], &[255, 255, 247, 255], &[85, 85, 253, 255], &[86, 85, 253, 255]),
(&[170, 170, 2, 0], &[0, 0, 44, 0], &[167, 170, 14, 0], &[167, 170, 14, 0]),
(&[170, 170, 2, 0], &[255, 255, 199, 255], &[89, 85, 237, 255], &[90, 85, 237, 255]),
(&[170, 170, 2, 0], &[209, 3, 0, 64], &[69, 81, 85, 21], &[70, 81, 85, 21]),
(&[170, 170, 2, 0], &[47, 252, 255, 191], &[186, 174, 170, 234], &[187, 174, 170, 234]),
(&[86, 85, 253, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[86, 85, 253, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[86, 85, 253, 255], &[170, 170, 2, 0], &[114, 28, 255, 255], &[115, 28, 255, 255]),
(&[86, 85, 253, 255], &[86, 85, 253, 255], &[141, 227, 0, 0], &[142, 227, 0, 0]),
(&[86, 85, 253, 255], &[1, 0, 8, 0], &[85, 85, 253, 255], &[86, 85, 253, 255]),
(&[86, 85, 253, 255], &[255, 255, 247, 255], &[170, 170, 2, 0], &[171, 170, 2, 0]),
(&[86, 85, 253, 255], &[0, 0, 44, 0], &[89, 85, 241, 255], &[89, 85, 241, 255]),
(&[86, 85, 253, 255], &[255, 255, 199, 255], &[166, 170, 18, 0], &[167, 170, 18, 0]),
(&[86, 85, 253, 255], &[209, 3, 0, 64], &[186, 174, 170, 234], &[187, 174, 170, 234]),
(&[86, 85, 253, 255], &[47, 252, 255, 191], &[69, 81, 85, 21], &[70, 81, 85, 21]),
(&[1, 0, 8, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 0, 8, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 0, 8, 0], &[170, 170, 2, 0], &[170, 170, 2, 0], &[171, 170, 2, 0]),
(&[1, 0, 8, 0], &[86, 85, 253, 255], &[85, 85, 253, 255], &[86, 85, 253, 255]),
(&[1, 0, 8, 0], &[1, 0, 8, 0], &[2, 0, 8, 0], &[3, 0, 8, 0]),
(&[1, 0, 8, 0], &[255, 255, 247, 255], &[253, 255, 247, 255], &[254, 255, 247, 255]),
(&[1, 0, 8, 0], &[0, 0, 44, 0], &[5, 0, 44, 0], &[6, 0, 44, 0]),
(&[1, 0, 8, 0], &[255, 255, 199, 255], &[247, 255, 199, 255], &[248, 255, 199, 255]),
(&[1, 0, 8, 0], &[209, 3, 0, 64], &[209, 11, 0, 64], &[210, 11, 0, 64]),
(&[1, 0, 8, 0], &[47, 252, 255, 191], &[46, 244, 255, 191], &[47, 244, 255, 191]),
(&[255, 255, 247, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 255, 247, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 255, 247, 255], &[170, 170, 2, 0], &[85, 85, 253, 255], &[86, 85, 253, 255]),
(&[255, 255, 247, 255], &[86, 85, 253, 255], &[170, 170, 2, 0], &[171, 170, 2, 0]),
(&[255, 255, 247, 255], &[1, 0, 8, 0], &[253, 255, 247, 255], &[254, 255, 247, 255]),
(&[255, 255, 247, 255], &[255, 255, 247, 255], &[2, 0, 8, 0], &[3, 0, 8, 0]),
(&[255, 255, 247, 255], &[0, 0, 44, 0], &[250, 255, 211, 255], &[251, 255, 211, 255]),
(&[255, 255, 247, 255], &[255, 255, 199, 255], &[8, 0, 56, 0], &[9, 0, 56, 0]),
(&[255, 255, 247, 255], &[209, 3, 0, 64], &[46, 244, 255, 191], &[47, 244, 255, 191]),
(&[255, 255, 247, 255], &[47, 252, 255, 191], &[209, 11, 0, 64], &[210, 11, 0, 64]),
(&[0, 0, 44, 0], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[0, 0, 44, 0], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[0, 0, 44, 0], &[170, 170, 2, 0], &[167, 170, 14, 0], &[167, 170, 14, 0]),
(&[0, 0, 44, 0], &[86, 85, 253, 255], &[89, 85, 241, 255], &[89, 85, 241, 255]),
(&[0, 0, 44, 0], &[1, 0, 8, 0], &[5, 0, 44, 0], &[6, 0, 44, 0]),
(&[0, 0, 44, 0], &[255, 255, 247, 255], &[250, 255, 211, 255], &[251, 255, 211, 255]),
(&[0, 0, 44, 0], &[0, 0, 44, 0], &[0, 0, 242, 0], &[0, 0, 242, 0]),
(&[0, 0, 44, 0], &[255, 255, 199, 255], &[250, 255, 203, 254], &[251, 255, 203, 254]),
(&[255, 255, 199, 255], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 255, 199, 255], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[255, 255, 199, 255], &[170, 170, 2, 0], &[89, 85, 237, 255], &[90, 85, 237, 255]),
(&[255, 255, 199, 255], &[86, 85, 253, 255], &[166, 170, 18, 0], &[167, 170, 18, 0]),
(&[255, 255, 199, 255], &[1, 0, 8, 0], &[247, 255, 199, 255], &[248, 255, 199, 255]),
(&[255, 255, 199, 255], &[255, 255, 247, 255], &[8, 0, 56, 0], &[9, 0, 56, 0]),
(&[255, 255, 199, 255], &[0, 0, 44, 0], &[250, 255, 203, 254], &[251, 255, 203, 254]),
(&[255, 255, 199, 255], &[255, 255, 199, 255], &[14, 0, 136, 1], &[15, 0, 136, 1]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[0, 24, 0, 0], &[1, 24, 0, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[255, 231, 255, 255], &[0, 232, 255, 255]),
(&[209, 3, 0, 64], &[170, 170, 2, 0], &[69, 81, 85, 21], &[70, 81, 85, 21]),
(&[209, 3, 0, 64], &[86, 85, 253, 255], &[186, 174, 170, 234], &[187, 174, 170, 234]),
(&[209, 3, 0, 64], &[1, 0, 8, 0], &[209, 11, 0, 64], &[210, 11, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 247, 255], &[46, 244, 255, 191], &[47, 244, 255, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[255, 231, 255, 255], &[0, 232, 255, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[0, 24, 0, 0], &[1, 24, 0, 0]),
(&[47, 252, 255, 191], &[170, 170, 2, 0], &[186, 174, 170, 234], &[187, 174, 170, 234]),
(&[47, 252, 255, 191], &[86, 85, 253, 255], &[69, 81, 85, 21], &[70, 81, 85, 21]),
(&[47, 252, 255, 191], &[1, 0, 8, 0], &[46, 244, 255, 191], &[47, 244, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 247, 255], &[209, 11, 0, 64], &[210, 11, 0, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 8, 0], &[0, 0, 8, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 0, 248, 255], &[0, 0, 248, 255]),
(&[3, 0, 0, 0], &[170, 170, 2, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 85, 253, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 0, 8, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 247, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 44, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 199, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 0, 248, 255], &[0, 0, 248, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 8, 0], &[0, 0, 8, 0]),
(&[253, 255, 255, 255], &[170, 170, 2, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[86, 85, 253, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 8, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 247, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 44, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 255, 199, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 170, 2, 0], &[170, 170, 2, 0], &[0, 0, 8, 0], &[0, 0, 8, 0]),
(&[170, 170, 2, 0], &[86, 85, 253, 255], &[0, 0, 248, 255], &[0, 0, 248, 255]),
(&[170, 170, 2, 0], &[1, 0, 8, 0], &[169, 170, 2, 0], &[170, 170, 2, 0]),
(&[170, 170, 2, 0], &[255, 255, 247, 255], &[86, 85, 253, 255], &[87, 85, 253, 255]),
(&[170, 170, 2, 0], &[0, 0, 44, 0], &[30, 124, 0, 0], &[31, 124, 0, 0]),
(&[170, 170, 2, 0], &[255, 255, 199, 255], &[122, 158, 255, 255], &[123, 158, 255, 255]),
(&[170, 170, 2, 0], &[209, 3, 0, 64], &[85, 0, 0, 0], &[86, 0, 0, 0]),
(&[170, 170, 2, 0], &[47, 252, 255, 191], &[170, 255, 255, 255], &[171, 255, 255, 255]),
(&[86, 85, 253, 255], &[170, 170, 2, 0], &[0, 0, 248, 255], &[0, 0, 248, 255]),
(&[86, 85, 253, 255], &[86, 85, 253, 255], &[0, 0, 8, 0], &[0, 0, 8, 0]),
(&[86, 85, 253, 255], &[1, 0, 8, 0], &[86, 85, 253, 255], &[87, 85, 253, 255]),
(&[86, 85, 253, 255], &[255, 255, 247, 255], &[169, 170, 2, 0], &[170, 170, 2, 0]),
(&[86, 85, 253, 255], &[0, 0, 44, 0], &[225, 131, 255, 255], &[226, 131, 255, 255]),
(&[86, 85, 253, 255], &[255, 255, 199, 255], &[133, 97, 0, 0], &[134, 97, 0, 0]),
(&[86, 85, 253, 255], &[209, 3, 0, 64], &[170, 255, 255, 255], &[171, 255, 255, 255]),
(&[86, 85, 253, 255], &[47, 252, 255, 191], &[85, 0, 0, 0], &[86, 0, 0, 0]),
(&[1, 0, 8, 0], &[170, 170, 2, 0], &[9, 0, 24, 0], &[10, 0, 24, 0]),
(&[1, 0, 8, 0], &[86, 85, 253, 255], &[246, 255, 231, 255], &[247, 255, 231, 255]),
(&[1, 0, 8, 0], &[1, 0, 8, 0], &[0, 0, 8, 0], &[0, 0, 8, 0]),
(&[1, 0, 8, 0], &[255, 255, 247, 255], &[0, 0, 248, 255], &[0, 0, 248, 255]),
(&[1, 0, 8, 0], &[0, 0, 44, 0], &[93, 116, 1, 0], &[94, 116, 1, 0]),
(&[1, 0, 8, 0], &[255, 255, 199, 255], &[109, 219, 254, 255], &[110, 219, 254, 255]),
(&[1, 0, 8, 0], &[209, 3, 0, 64], &[0, 1, 0, 0], &[1, 1, 0, 0]),
(&[1, 0, 8, 0], &[47, 252, 255, 191], &[255, 254, 255, 255], &[0, 255, 255, 255]),
(&[255, 255, 247, 255], &[170, 170, 2, 0], &[246, 255, 231, 255], &[247, 255, 231, 255]),
(&[255, 255, 247, 255], &[86, 85, 253, 255], &[9, 0, 24, 0], &[10, 0, 24, 0]),
(&[255, 255, 247, 255], &[1, 0, 8, 0], &[0, 0, 248, 255], &[0, 0, 248, 255]),
(&[255, 255, 247, 255], &[255, 255, 247, 255], &[0, 0, 8, 0], &[0, 0, 8, 0]),
(&[255, 255, 247, 255], &[0, 0, 44, 0], &[162, 139, 254, 255], &[163, 139, 254, 255]),
(&[255, 255, 247, 255], &[255, 255, 199, 255], &[146, 36, 1, 0], &[147, 36, 1, 0]),
(&[255, 255, 247, 255], &[209, 3, 0, 64], &[255, 254, 255, 255], &[0, 255, 255, 255]),
(&[255, 255, 247, 255], &[47, 252, 255, 191], &[0, 1, 0, 0], &[1, 1, 0, 0]),
(&[0, 0, 44, 0], &[170, 170, 2, 0], &[33, 0, 132, 0], &[34, 0, 132, 0]),
(&[0, 0, 44, 0], &[86, 85, 253, 255], &[222, 255, 123, 255], &[223, 255, 123, 255]),
(&[0, 0, 44, 0], &[1, 0, 8, 0], &[250, 255, 43, 0], &[251, 255, 43, 0]),
(&[0, 0, 44, 0], &[255, 255, 247, 255], &[5, 0, 212, 255], &[6, 0, 212, 255]),
(&[0, 0, 44, 0], &[0, 0, 44, 0], &[0, 0, 8, 0], &[0, 0, 8, 0]),
(&[0, 0, 44, 0], &[255, 255, 199, 255], &[219, 182, 249, 255], &[220, 182, 249, 255]),
(&[0, 0, 44, 0], &[209, 3, 0, 64], &[127, 5, 0, 0], &[128, 5, 0, 0]),
(&[0, 0, 44, 0], &[47, 252, 255, 191], &[128, 250, 255, 255], &[129, 250, 255, 255]),
(&[255, 255, 199, 255], &[170, 170, 2, 0], &[210, 255, 87, 255], &[211, 255, 87, 255]),
(&[255, 255, 199, 255], &[86, 85, 253, 255], &[45, 0, 168, 0], &[46, 0, 168, 0]),
(&[255, 255, 199, 255], &[1, 0, 8, 0], &[5, 0, 200, 255], &[6, 0, 200, 255]),
(&[255, 255, 199, 255], &[255, 255, 247, 255], &[250, 255, 55, 0], &[251, 255, 55, 0]),
(&[255, 255, 199, 255], &[0, 0, 44, 0], &[116, 209, 245, 255], &[117, 209, 245, 255]),
(&[255, 255, 199, 255], &[255, 255, 199, 255], &[0, 0, 8, 0], &[0, 0, 8, 0]),
(&[255, 255, 199, 255], &[209, 3, 0, 64], &[0, 249, 255, 255], &[1, 249, 255, 255]),
(&[255, 255, 199, 255], &[47, 252, 255, 191], &[255, 6, 0, 0], &[0, 7, 0, 0]),
(&[209, 3, 0, 64], &[1, 0, 8, 0], &[209, 251, 255, 63], &[210, 251, 255, 63]),
(&[209, 3, 0, 64], &[255, 255, 247, 255], &[46, 4, 0, 192], &[47, 4, 0, 192]),
(&[209, 3, 0, 64], &[0, 0, 44, 0], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[255, 255, 199, 255], &[85, 109, 219, 246], &[86, 109, 219, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 0, 8, 0], &[0, 0, 8, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 0, 248, 255], &[0, 0, 248, 255]),
(&[47, 252, 255, 191], &[1, 0, 8, 0], &[46, 4, 0, 192], &[47, 4, 0, 192]),
(&[47, 252, 255, 191], &[255, 255, 247, 255], &[209, 251, 255, 63], &[210, 251, 255, 63]),
(&[47, 252, 255, 191], &[0, 0, 44, 0], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[255, 255, 199, 255], &[170, 146, 36, 9], &[171, 146, 36, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 0, 248, 255], &[0, 0, 248, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 0, 8, 0], &[0, 0, 8, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[205, 36, 15, 0], &[206, 36, 15, 0]),
(50, &[171, 9, 22, 0], &[172, 9, 22, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 0, 4, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 0, 4, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 0, 4, 0], &[0, 0, 4, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 0, 4, 0], &[0, 0, 4, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[0, 0, 4, 0], &[0, 0, 250, 255], &[0, 0, 5, 0]], &[&[0, 0, 8, 0], &[0, 0, 2, 0], &[0, 0, 255, 255], &[0, 0, 2, 0], &[0, 0, 16, 0], &[0, 128, 0, 0], &[0, 0, 255, 255], &[0, 128, 0, 0], &[0, 0, 4, 0]], &[0, 248, 9, 0], &[0, 248, 9, 0], &[0, 248, 9, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[47, 252, 31, 0], &[246, 203, 31, 0]], &[&[47, 252, 31, 0], &[101, 169, 10, 0], &[163, 101, 6, 0], &[46, 252, 31, 0]], &[225, 164, 7, 5], &[226, 164, 7, 5], &[226, 164, 7, 5]),
(2, &[&[209, 3, 224, 255], &[10, 52, 224, 255]], &[&[47, 252, 31, 0], &[101, 169, 10, 0], &[163, 101, 6, 0], &[46, 252, 31, 0]], &[225, 164, 7, 5], &[226, 164, 7, 5], &[226, 164, 7, 5]),
(2, &[&[47, 252, 31, 0], &[246, 203, 31, 0]], &[&[209, 3, 224, 255], &[155, 86, 245, 255], &[93, 154, 249, 255], &[210, 3, 224, 255]], &[30, 91, 248, 250], &[31, 91, 248, 250], &[30, 91, 248, 250]),
(2, &[&[209, 3, 224, 255], &[10, 52, 224, 255]], &[&[209, 3, 224, 255], &[155, 86, 245, 255], &[93, 154, 249, 255], &[210, 3, 224, 255]], &[30, 91, 248, 250], &[31, 91, 248, 250], &[30, 91, 248, 250]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f20 {
pub const FRAC_BITS: u32 = 20;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[0, 4, 0, 0], &[0, 4, 0, 0]),
(&[2, 0, 0, 0], &[168, 5, 0, 0], &[169, 5, 0, 0]),
(&[3, 0, 0, 0], &[237, 6, 0, 0], &[238, 6, 0, 0]),
(&[0, 0, 16, 0], &[0, 0, 16, 0], &[0, 0, 16, 0]),
(&[0, 0, 32, 0], &[158, 160, 22, 0], &[159, 160, 22, 0]),
(&[0, 0, 64, 0], &[0, 0, 32, 0], &[0, 0, 32, 0]),
(&[0, 0, 8, 0], &[79, 80, 11, 0], &[80, 80, 11, 0]),
(&[1, 0, 4, 0], &[0, 0, 8, 0], &[1, 0, 8, 0]),
(&[57, 48, 0, 64], &[192, 0, 0, 2], &[193, 0, 0, 2]),
(&[255, 255, 255, 127], &[204, 19, 212, 2], &[205, 19, 212, 2]),
(&[36, 73, 50, 0], &[110, 93, 28, 0], &[111, 93, 28, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[85, 85, 5, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 170, 250, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 0, 16, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 239, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 88, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 143, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 12, 0, 0], &[1, 12, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 243, 255, 255], &[0, 244, 255, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[85, 85, 5, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[171, 170, 250, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 16, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 239, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 88, 0], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 143, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 243, 255, 255], &[0, 244, 255, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 12, 0, 0], &[1, 12, 0, 0]),
(&[85, 85, 5, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 85, 5, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[85, 85, 5, 0], &[85, 85, 5, 0], &[28, 199, 1, 0], &[29, 199, 1, 0]),
(&[85, 85, 5, 0], &[171, 170, 250, 255], &[227, 56, 254, 255], &[228, 56, 254, 255]),
(&[85, 85, 5, 0], &[1, 0, 16, 0], &[85, 85, 5, 0], &[86, 85, 5, 0]),
(&[85, 85, 5, 0], &[255, 255, 239, 255], &[170, 170, 250, 255], &[171, 170, 250, 255]),
(&[85, 85, 5, 0], &[0, 0, 88, 0], &[83, 85, 29, 0], &[84, 85, 29, 0]),
(&[85, 85, 5, 0], &[255, 255, 143, 255], &[172, 170, 218, 255], &[173, 170, 218, 255]),
(&[85, 85, 5, 0], &[209, 3, 0, 64], &[69, 85, 85, 21], &[70, 85, 85, 21]),
(&[85, 85, 5, 0], &[47, 252, 255, 191], &[186, 170, 170, 234], &[187, 170, 170, 234]),
(&[171, 170, 250, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[171, 170, 250, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[171, 170, 250, 255], &[85, 85, 5, 0], &[227, 56, 254, 255], &[228, 56, 254, 255]),
(&[171, 170, 250, 255], &[171, 170, 250, 255], &[28, 199, 1, 0], &[29, 199, 1, 0]),
(&[171, 170, 250, 255], &[1, 0, 16, 0], &[170, 170, 250, 255], &[171, 170, 250, 255]),
(&[171, 170, 250, 255], &[255, 255, 239, 255], &[85, 85, 5, 0], &[86, 85, 5, 0]),
(&[171, 170, 250, 255], &[0, 0, 88, 0], &[172, 170, 226, 255], &[173, 170, 226, 255]),
(&[171, 170, 250, 255], &[255, 255, 143, 255], &[83, 85, 37, 0], &[84, 85, 37, 0]),
(&[171, 170, 250, 255], &[209, 3, 0, 64], &[186, 170, 170, 234], &[187, 170, 170, 234]),
(&[171, 170, 250, 255], &[47, 252, 255, 191], &[69, 85, 85, 21], &[70, 85, 85, 21]),
(&[1, 0, 16, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 0, 16, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 0, 16, 0], &[85, 85, 5, 0], &[85, 85, 5, 0], &[86, 85, 5, 0]),
(&[1, 0, 16, 0], &[171, 170, 250, 255], &[170, 170, 250, 255], &[171, 170, 250, 255]),
(&[1, 0, 16, 0], &[1, 0, 16, 0], &[2, 0, 16, 0], &[3, 0, 16, 0]),
(&[1, 0, 16, 0], &[255, 255, 239, 255], &[253, 255, 239, 255], &[254, 255, 239, 255]),
(&[1, 0, 16, 0], &[0, 0, 88, 0], &[5, 0, 88, 0], &[6, 0, 88, 0]),
(&[1, 0, 16, 0], &[255, 255, 143, 255], &[247, 255, 143, 255], &[248, 255, 143, 255]),
(&[1, 0, 16, 0], &[209, 3, 0, 64], &[209, 7, 0, 64], &[210, 7, 0, 64]),
(&[1, 0, 16, 0], &[47, 252, 255, 191], &[46, 248, 255, 191], &[47, 248, 255, 191]),
(&[255, 255, 239, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 255, 239, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 255, 239, 255], &[85, 85, 5, 0], &[170, 170, 250, 255], &[171, 170, 250, 255]),
(&[255, 255, 239, 255], &[171, 170, 250, 255], &[85, 85, 5, 0], &[86, 85, 5, 0]),
(&[255, 255, 239, 255], &[1, 0, 16, 0], &[253, 255, 239, 255], &[254, 255, 239, 255]),
(&[255, 255, 239, 255], &[255, 255, 239, 255], &[2, 0, 16, 0], &[3, 0, 16, 0]),
(&[255, 255, 239, 255], &[0, 0, 88, 0], &[250, 255, 167, 255], &[251, 255, 167, 255]),
(&[255, 255, 239, 255], &[255, 255, 143, 255], &[8, 0, 112, 0], &[9, 0, 112, 0]),
(&[255, 255, 239, 255], &[209, 3, 0, 64], &[46, 248, 255, 191], &[47, 248, 255, 191]),
(&[255, 255, 239, 255], &[47, 252, 255, 191], &[209, 7, 0, 64], &[210, 7, 0, 64]),
(&[0, 0, 88, 0], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[0, 0, 88, 0], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[0, 0, 88, 0], &[85, 85, 5, 0], &[83, 85, 29, 0], &[84, 85, 29, 0]),
(&[0, 0, 88, 0], &[171, 170, 250, 255], &[172, 170, 226, 255], &[173, 170, 226, 255]),
(&[0, 0, 88, 0], &[1, 0, 16, 0], &[5, 0, 88, 0], &[6, 0, 88, 0]),
(&[0, 0, 88, 0], &[255, 255, 239, 255], &[250, 255, 167, 255], &[251, 255, 167, 255]),
(&[0, 0, 88, 0], &[0, 0, 88, 0], &[0, 0, 228, 1], &[0, 0, 228, 1]),
(&[0, 0, 88, 0], &[255, 255, 143, 255], &[250, 255, 151, 253], &[251, 255, 151, 253]),
(&[255, 255, 143, 255], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 255, 143, 255], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[255, 255, 143, 255], &[85, 85, 5, 0], &[172, 170, 218, 255], &[173, 170, 218, 255]),
(&[255, 255, 143, 255], &[171, 170, 250, 255], &[83, 85, 37, 0], &[84, 85, 37, 0]),
(&[255, 255, 143, 255], &[1, 0, 16, 0], &[247, 255, 143, 255], &[248, 255, 143, 255]),
(&[255, 255, 143, 255], &[255, 255, 239, 255], &[8, 0, 112, 0], &[9, 0, 112, 0]),
(&[255, 255, 143, 255], &[0, 0, 88, 0], &[250, 255, 151, 253], &[251, 255, 151, 253]),
(&[255, 255, 143, 255], &[255, 255, 143, 255], &[14, 0, 16, 3], &[15, 0, 16, 3]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[0, 12, 0, 0], &[1, 12, 0, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[255, 243, 255, 255], &[0, 244, 255, 255]),
(&[209, 3, 0, 64], &[85, 85, 5, 0], &[69, 85, 85, 21], &[70, 85, 85, 21]),
(&[209, 3, 0, 64], &[171, 170, 250, 255], &[186, 170, 170, 234], &[187, 170, 170, 234]),
(&[209, 3, 0, 64], &[1, 0, 16, 0], &[209, 7, 0, 64], &[210, 7, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 239, 255], &[46, 248, 255, 191], &[47, 248, 255, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[255, 243, 255, 255], &[0, 244, 255, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[0, 12, 0, 0], &[1, 12, 0, 0]),
(&[47, 252, 255, 191], &[85, 85, 5, 0], &[186, 170, 170, 234], &[187, 170, 170, 234]),
(&[47, 252, 255, 191], &[171, 170, 250, 255], &[69, 85, 85, 21], &[70, 85, 85, 21]),
(&[47, 252, 255, 191], &[1, 0, 16, 0], &[46, 248, 255, 191], &[47, 248, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 239, 255], &[209, 7, 0, 64], &[210, 7, 0, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 16, 0], &[0, 0, 16, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 0, 240, 255], &[0, 0, 240, 255]),
(&[3, 0, 0, 0], &[85, 85, 5, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 170, 250, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 0, 16, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 239, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 88, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 143, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 0, 240, 255], &[0, 0, 240, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 16, 0], &[0, 0, 16, 0]),
(&[253, 255, 255, 255], &[85, 85, 5, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[171, 170, 250, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 16, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 239, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 88, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 255, 143, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 85, 5, 0], &[85, 85, 5, 0], &[0, 0, 16, 0], &[0, 0, 16, 0]),
(&[85, 85, 5, 0], &[171, 170, 250, 255], &[0, 0, 240, 255], &[0, 0, 240, 255]),
(&[85, 85, 5, 0], &[1, 0, 16, 0], &[84, 85, 5, 0], &[85, 85, 5, 0]),
(&[85, 85, 5, 0], &[255, 255, 239, 255], &[171, 170, 250, 255], &[172, 170, 250, 255]),
(&[85, 85, 5, 0], &[0, 0, 88, 0], &[62, 248, 0, 0], &[62, 248, 0, 0]),
(&[85, 85, 5, 0], &[255, 255, 143, 255], &[243, 60, 255, 255], &[244, 60, 255, 255]),
(&[85, 85, 5, 0], &[209, 3, 0, 64], &[85, 1, 0, 0], &[86, 1, 0, 0]),
(&[85, 85, 5, 0], &[47, 252, 255, 191], &[170, 254, 255, 255], &[171, 254, 255, 255]),
(&[171, 170, 250, 255], &[85, 85, 5, 0], &[0, 0, 240, 255], &[0, 0, 240, 255]),
(&[171, 170, 250, 255], &[171, 170, 250, 255], &[0, 0, 16, 0], &[0, 0, 16, 0]),
(&[171, 170, 250, 255], &[1, 0, 16, 0], &[171, 170, 250, 255], &[172, 170, 250, 255]),
(&[171, 170, 250, 255], &[255, 255, 239, 255], &[84, 85, 5, 0], &[85, 85, 5, 0]),
(&[171, 170, 250, 255], &[0, 0, 88, 0], &[194, 7, 255, 255], &[194, 7, 255, 255]),
(&[171, 170, 250, 255], &[255, 255, 143, 255], &[12, 195, 0, 0], &[13, 195, 0, 0]),
(&[171, 170, 250, 255], &[209, 3, 0, 64], &[170, 254, 255, 255], &[171, 254, 255, 255]),
(&[171, 170, 250, 255], &[47, 252, 255, 191], &[85, 1, 0, 0], &[86, 1, 0, 0]),
(&[1, 0, 16, 0], &[85, 85, 5, 0], &[6, 0, 48, 0], &[7, 0, 48, 0]),
(&[1, 0, 16, 0], &[171, 170, 250, 255], &[249, 255, 207, 255], &[250, 255, 207, 255]),
(&[1, 0, 16, 0], &[1, 0, 16, 0], &[0, 0, 16, 0], &[0, 0, 16, 0]),
(&[1, 0, 16, 0], &[255, 255, 239, 255], &[0, 0, 240, 255], &[0, 0, 240, 255]),
(&[1, 0, 16, 0], &[0, 0, 88, 0], &[186, 232, 2, 0], &[187, 232, 2, 0]),
(&[1, 0, 16, 0], &[255, 255, 143, 255], &[219, 182, 253, 255], &[220, 182, 253, 255]),
(&[1, 0, 16, 0], &[209, 3, 0, 64], &[0, 4, 0, 0], &[1, 4, 0, 0]),
(&[1, 0, 16, 0], &[47, 252, 255, 191], &[255, 251, 255, 255], &[0, 252, 255, 255]),
(&[255, 255, 239, 255], &[85, 85, 5, 0], &[249, 255, 207, 255], &[250, 255, 207, 255]),
(&[255, 255, 239, 255], &[171, 170, 250, 255], &[6, 0, 48, 0], &[7, 0, 48, 0]),
(&[255, 255, 239, 255], &[1, 0, 16, 0], &[0, 0, 240, 255], &[0, 0, 240, 255]),
(&[255, 255, 239, 255], &[255, 255, 239, 255], &[0, 0, 16, 0], &[0, 0, 16, 0]),
(&[255, 255, 239, 255], &[0, 0, 88, 0], &[69, 23, 253, 255], &[70, 23, 253, 255]),
(&[255, 255, 239, 255], &[255, 255, 143, 255], &[36, 73, 2, 0], &[37, 73, 2, 0]),
(&[255, 255, 239, 255], &[209, 3, 0, 64], &[255, 251, 255, 255], &[0, 252, 255, 255]),
(&[255, 255, 239, 255], &[47, 252, 255, 191], &[0, 4, 0, 0], &[1, 4, 0, 0]),
(&[0, 0, 88, 0], &[85, 85, 5, 0], &[16, 0, 8, 1], &[17, 0, 8, 1]),
(&[0, 0, 88, 0], &[171, 170, 250, 255], &[239, 255, 247, 254], &[240, 255, 247, 254]),
(&[0, 0, 88, 0], &[1, 0, 16, 0], &[250, 255, 87, 0], &[251, 255, 87, 0]),
(&[0, 0, 88, 0], &[255, 255, 239, 255], &[5, 0, 168, 255], &[6, 0, 168, 255]),
(&[0, 0, 88, 0], &[0, 0, 88, 0], &[0, 0, 16, 0], &[0, 0, 16, 0]),
(&[0, 0, 88, 0], &[255, 255, 143, 255], &[182, 109, 243, 255], &[183, 109, 243, 255]),
(&[0, 0, 88, 0], &[209, 3, 0, 64], &[255, 21, 0, 0], &[0, 22, 0, 0]),
(&[0, 0, 88, 0], &[47, 252, 255, 191], &[0, 234, 255, 255], &[1, 234, 255, 255]),
(&[255, 255, 143, 255], &[85, 85, 5, 0], &[231, 255, 175, 254], &[232, 255, 175, 254]),
(&[255, 255, 143, 255], &[171, 170, 250, 255], &[24, 0, 80, 1], &[25, 0, 80, 1]),
(&[255, 255, 143, 255], &[1, 0, 16, 0], &[5, 0, 144, 255], &[6, 0, 144, 255]),
(&[255, 255, 143, 255], &[255, 255, 239, 255], &[250, 255, 111, 0], &[251, 255, 111, 0]),
(&[255, 255, 143, 255], &[0, 0, 88, 0], &[232, 162, 235, 255], &[233, 162, 235, 255]),
(&[255, 255, 143, 255], &[255, 255, 143, 255], &[0, 0, 16, 0], &[0, 0, 16, 0]),
(&[255, 255, 143, 255], &[209, 3, 0, 64], &[0, 228, 255, 255], &[1, 228, 255, 255]),
(&[255, 255, 143, 255], &[47, 252, 255, 191], &[255, 27, 0, 0], &[0, 28, 0, 0]),
(&[209, 3, 0, 64], &[1, 0, 16, 0], &[209, 255, 255, 63], &[210, 255, 255, 63]),
(&[209, 3, 0, 64], &[255, 255, 239, 255], &[46, 0, 0, 192], &[47, 0, 0, 192]),
(&[209, 3, 0, 64], &[0, 0, 88, 0], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[255, 255, 143, 255], &[64, 109, 219, 246], &[65, 109, 219, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 0, 16, 0], &[0, 0, 16, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 0, 240, 255], &[0, 0, 240, 255]),
(&[47, 252, 255, 191], &[1, 0, 16, 0], &[46, 0, 0, 192], &[47, 0, 0, 192]),
(&[47, 252, 255, 191], &[255, 255, 239, 255], &[209, 255, 255, 63], &[210, 255, 255, 63]),
(&[47, 252, 255, 191], &[0, 0, 88, 0], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[255, 255, 143, 255], &[191, 146, 36, 9], &[192, 146, 36, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 0, 240, 255], &[0, 0, 240, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 0, 16, 0], &[0, 0, 16, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[155, 73, 30, 0], &[156, 73, 30, 0]),
(50, &[87, 19, 44, 0], &[88, 19, 44, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 0, 8, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 0, 8, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 0, 8, 0], &[0, 0, 8, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 0, 8, 0], &[0, 0, 8, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[0, 0, 8, 0], &[0, 0, 244, 255], &[0, 0, 10, 0]], &[&[0, 0, 16, 0], &[0, 0, 4, 0], &[0, 0, 254, 255], &[0, 0, 4, 0], &[0, 0, 32, 0], &[0, 0, 1, 0], &[0, 0, 254, 255], &[0, 0, 1, 0], &[0, 0, 8, 0]], &[0, 240, 19, 0], &[0, 240, 19, 0], &[0, 240, 19, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[47, 252, 31, 0], &[246, 203, 31, 0]], &[&[47, 252, 31, 0], &[101, 169, 10, 0], &[163, 101, 6, 0], &[46, 252, 31, 0]], &[56, 233, 65, 1], &[57, 233, 65, 1], &[56, 233, 65, 1]),
(2, &[&[209, 3, 224, 255], &[10, 52, 224, 255]], &[&[47, 252, 31, 0], &[101, 169, 10, 0], &[163, 101, 6, 0], &[46, 252, 31, 0]], &[56, 233, 65, 1], &[57, 233, 65, 1], &[56, 233, 65, 1]),
(2, &[&[47, 252, 31, 0], &[246, 203, 31, 0]], &[&[209, 3, 224, 255], &[155, 86, 245, 255], &[93, 154, 249, 255], &[210, 3, 224, 255]], &[199, 22, 190, 254], &[200, 22, 190, 254], &[200, 22, 190, 254]),
(2, &[&[209, 3, 224, 255], &[10, 52, 224, 255]], &[&[209, 3, 224, 255], &[155, 86, 245, 255], &[93, 154, 249, 255], &[210, 3, 224, 255]], &[199, 22, 190, 254], &[200, 22, 190, 254], &[200, 22, 190, 254]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f21 {
pub const FRAC_BITS: u32 = 21;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[168, 5, 0, 0], &[169, 5, 0, 0]),
(&[2, 0, 0, 0], &[0, 8, 0, 0], &[0, 8, 0, 0]),
(&[3, 0, 0, 0], &[204, 9, 0, 0], &[205, 9, 0, 0]),
(&[0, 0, 32, 0], &[0, 0, 32, 0], &[0, 0, 32, 0]),
(&[0, 0, 64, 0], &[60, 65, 45, 0], &[61, 65, 45, 0]),
(&[0, 0, 128, 0], &[0, 0, 64, 0], &[0, 0, 64, 0]),
(&[0, 0, 16, 0], &[158, 160, 22, 0], &[159, 160, 22, 0]),
(&[1, 0, 8, 0], &[0, 0, 16, 0], &[1, 0, 16, 0]),
(&[57, 48, 0, 64], &[221, 20, 212, 2], &[222, 20, 212, 2]),
(&[255, 255, 255, 127], &[255, 255, 255, 3], &[0, 0, 0, 4]),
(&[73, 146, 100, 0], &[221, 186, 56, 0], &[222, 186, 56, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[170, 170, 10, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 85, 245, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 0, 32, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 223, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 176, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 31, 255], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 6, 0, 0], &[1, 6, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 249, 255, 255], &[0, 250, 255, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[170, 170, 10, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[86, 85, 245, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 32, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 223, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 176, 0], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 31, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 249, 255, 255], &[0, 250, 255, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 6, 0, 0], &[1, 6, 0, 0]),
(&[170, 170, 10, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 170, 10, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[170, 170, 10, 0], &[170, 170, 10, 0], &[56, 142, 3, 0], &[57, 142, 3, 0]),
(&[170, 170, 10, 0], &[86, 85, 245, 255], &[199, 113, 252, 255], &[200, 113, 252, 255]),
(&[170, 170, 10, 0], &[1, 0, 32, 0], &[170, 170, 10, 0], &[171, 170, 10, 0]),
(&[170, 170, 10, 0], &[255, 255, 223, 255], &[85, 85, 245, 255], &[86, 85, 245, 255]),
(&[170, 170, 10, 0], &[0, 0, 176, 0], &[167, 170, 58, 0], &[167, 170, 58, 0]),
(&[170, 170, 10, 0], &[255, 255, 31, 255], &[89, 85, 181, 255], &[90, 85, 181, 255]),
(&[170, 170, 10, 0], &[209, 3, 0, 64], &[69, 85, 85, 21], &[70, 85, 85, 21]),
(&[170, 170, 10, 0], &[47, 252, 255, 191], &[186, 170, 170, 234], &[187, 170, 170, 234]),
(&[86, 85, 245, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[86, 85, 245, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[86, 85, 245, 255], &[170, 170, 10, 0], &[199, 113, 252, 255], &[200, 113, 252, 255]),
(&[86, 85, 245, 255], &[86, 85, 245, 255], &[56, 142, 3, 0], &[57, 142, 3, 0]),
(&[86, 85, 245, 255], &[1, 0, 32, 0], &[85, 85, 245, 255], &[86, 85, 245, 255]),
(&[86, 85, 245, 255], &[255, 255, 223, 255], &[170, 170, 10, 0], &[171, 170, 10, 0]),
(&[86, 85, 245, 255], &[0, 0, 176, 0], &[89, 85, 197, 255], &[89, 85, 197, 255]),
(&[86, 85, 245, 255], &[255, 255, 31, 255], &[166, 170, 74, 0], &[167, 170, 74, 0]),
(&[86, 85, 245, 255], &[209, 3, 0, 64], &[186, 170, 170, 234], &[187, 170, 170, 234]),
(&[86, 85, 245, 255], &[47, 252, 255, 191], &[69, 85, 85, 21], &[70, 85, 85, 21]),
(&[1, 0, 32, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 0, 32, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 0, 32, 0], &[170, 170, 10, 0], &[170, 170, 10, 0], &[171, 170, 10, 0]),
(&[1, 0, 32, 0], &[86, 85, 245, 255], &[85, 85, 245, 255], &[86, 85, 245, 255]),
(&[1, 0, 32, 0], &[1, 0, 32, 0], &[2, 0, 32, 0], &[3, 0, 32, 0]),
(&[1, 0, 32, 0], &[255, 255, 223, 255], &[253, 255, 223, 255], &[254, 255, 223, 255]),
(&[1, 0, 32, 0], &[0, 0, 176, 0], &[5, 0, 176, 0], &[6, 0, 176, 0]),
(&[1, 0, 32, 0], &[255, 255, 31, 255], &[247, 255, 31, 255], &[248, 255, 31, 255]),
(&[1, 0, 32, 0], &[209, 3, 0, 64], &[209, 5, 0, 64], &[210, 5, 0, 64]),
(&[1, 0, 32, 0], &[47, 252, 255, 191], &[46, 250, 255, 191], &[47, 250, 255, 191]),
(&[255, 255, 223, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 255, 223, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 255, 223, 255], &[170, 170, 10, 0], &[85, 85, 245, 255], &[86, 85, 245, 255]),
(&[255, 255, 223, 255], &[86, 85, 245, 255], &[170, 170, 10, 0], &[171, 170, 10, 0]),
(&[255, 255, 223, 255], &[1, 0, 32, 0], &[253, 255, 223, 255], &[254, 255, 223, 255]),
(&[255, 255, 223, 255], &[255, 255, 223, 255], &[2, 0, 32, 0], &[3, 0, 32, 0]),
(&[255, 255, 223, 255], &[0, 0, 176, 0], &[250, 255, 79, 255], &[251, 255, 79, 255]),
(&[255, 255, 223, 255], &[255, 255, 31, 255], &[8, 0, 224, 0], &[9, 0, 224, 0]),
(&[255, 255, 223, 255], &[209, 3, 0, 64], &[46, 250, 255, 191], &[47, 250, 255, 191]),
(&[255, 255, 223, 255], &[47, 252, 255, 191], &[209, 5, 0, 64], &[210, 5, 0, 64]),
(&[0, 0, 176, 0], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[0, 0, 176, 0], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[0, 0, 176, 0], &[170, 170, 10, 0], &[167, 170, 58, 0], &[167, 170, 58, 0]),
(&[0, 0, 176, 0], &[86, 85, 245, 255], &[89, 85, 197, 255], &[89, 85, 197, 255]),
(&[0, 0, 176, 0], &[1, 0, 32, 0], &[5, 0, 176, 0], &[6, 0, 176, 0]),
(&[0, 0, 176, 0], &[255, 255, 223, 255], &[250, 255, 79, 255], &[251, 255, 79, 255]),
(&[0, 0, 176, 0], &[0, 0, 176, 0], &[0, 0, 200, 3], &[0, 0, 200, 3]),
(&[0, 0, 176, 0], &[255, 255, 31, 255], &[250, 255, 47, 251], &[251, 255, 47, 251]),
(&[255, 255, 31, 255], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 255, 31, 255], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[255, 255, 31, 255], &[170, 170, 10, 0], &[89, 85, 181, 255], &[90, 85, 181, 255]),
(&[255, 255, 31, 255], &[86, 85, 245, 255], &[166, 170, 74, 0], &[167, 170, 74, 0]),
(&[255, 255, 31, 255], &[1, 0, 32, 0], &[247, 255, 31, 255], &[248, 255, 31, 255]),
(&[255, 255, 31, 255], &[255, 255, 223, 255], &[8, 0, 224, 0], &[9, 0, 224, 0]),
(&[255, 255, 31, 255], &[0, 0, 176, 0], &[250, 255, 47, 251], &[251, 255, 47, 251]),
(&[255, 255, 31, 255], &[255, 255, 31, 255], &[14, 0, 32, 6], &[15, 0, 32, 6]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[0, 6, 0, 0], &[1, 6, 0, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[255, 249, 255, 255], &[0, 250, 255, 255]),
(&[209, 3, 0, 64], &[170, 170, 10, 0], &[69, 85, 85, 21], &[70, 85, 85, 21]),
(&[209, 3, 0, 64], &[86, 85, 245, 255], &[186, 170, 170, 234], &[187, 170, 170, 234]),
(&[209, 3, 0, 64], &[1, 0, 32, 0], &[209, 5, 0, 64], &[210, 5, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 223, 255], &[46, 250, 255, 191], &[47, 250, 255, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[255, 249, 255, 255], &[0, 250, 255, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[0, 6, 0, 0], &[1, 6, 0, 0]),
(&[47, 252, 255, 191], &[170, 170, 10, 0], &[186, 170, 170, 234], &[187, 170, 170, 234]),
(&[47, 252, 255, 191], &[86, 85, 245, 255], &[69, 85, 85, 21], &[70, 85, 85, 21]),
(&[47, 252, 255, 191], &[1, 0, 32, 0], &[46, 250, 255, 191], &[47, 250, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 223, 255], &[209, 5, 0, 64], &[210, 5, 0, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 32, 0], &[0, 0, 32, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 0, 224, 255], &[0, 0, 224, 255]),
(&[3, 0, 0, 0], &[170, 170, 10, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 85, 245, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 0, 32, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 223, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 176, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 31, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 0, 224, 255], &[0, 0, 224, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 32, 0], &[0, 0, 32, 0]),
(&[253, 255, 255, 255], &[170, 170, 10, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[86, 85, 245, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 32, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 223, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 176, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 255, 31, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 170, 10, 0], &[170, 170, 10, 0], &[0, 0, 32, 0], &[0, 0, 32, 0]),
(&[170, 170, 10, 0], &[86, 85, 245, 255], &[0, 0, 224, 255], &[0, 0, 224, 255]),
(&[170, 170, 10, 0], &[1, 0, 32, 0], &[169, 170, 10, 0], &[170, 170, 10, 0]),
(&[170, 170, 10, 0], &[255, 255, 223, 255], &[86, 85, 245, 255], &[87, 85, 245, 255]),
(&[170, 170, 10, 0], &[0, 0, 176, 0], &[124, 240, 1, 0], &[124, 240, 1, 0]),
(&[170, 170, 10, 0], &[255, 255, 31, 255], &[231, 121, 254, 255], &[232, 121, 254, 255]),
(&[170, 170, 10, 0], &[209, 3, 0, 64], &[85, 5, 0, 0], &[86, 5, 0, 0]),
(&[170, 170, 10, 0], &[47, 252, 255, 191], &[170, 250, 255, 255], &[171, 250, 255, 255]),
(&[86, 85, 245, 255], &[170, 170, 10, 0], &[0, 0, 224, 255], &[0, 0, 224, 255]),
(&[86, 85, 245, 255], &[86, 85, 245, 255], &[0, 0, 32, 0], &[0, 0, 32, 0]),
(&[86, 85, 245, 255], &[1, 0, 32, 0], &[86, 85, 245, 255], &[87, 85, 245, 255]),
(&[86, 85, 245, 255], &[255, 255, 223, 255], &[169, 170, 10, 0], &[170, 170, 10, 0]),
(&[86, 85, 245, 255], &[0, 0, 176, 0], &[132, 15, 254, 255], &[132, 15, 254, 255]),
(&[86, 85, 245, 255], &[255, 255, 31, 255], &[24, 134, 1, 0], &[25, 134, 1, 0]),
(&[86, 85, 245, 255], &[209, 3, 0, 64], &[170, 250, 255, 255], &[171, 250, 255, 255]),
(&[86, 85, 245, 255], &[47, 252, 255, 191], &[85, 5, 0, 0], &[86, 5, 0, 0]),
(&[1, 0, 32, 0], &[170, 170, 10, 0], &[9, 0, 96, 0], &[10, 0, 96, 0]),
(&[1, 0, 32, 0], &[86, 85, 245, 255], &[246, 255, 159, 255], &[247, 255, 159, 255]),
(&[1, 0, 32, 0], &[1, 0, 32, 0], &[0, 0, 32, 0], &[0, 0, 32, 0]),
(&[1, 0, 32, 0], &[255, 255, 223, 255], &[0, 0, 224, 255], &[0, 0, 224, 255]),
(&[1, 0, 32, 0], &[0, 0, 176, 0], &[116, 209, 5, 0], &[117, 209, 5, 0]),
(&[1, 0, 32, 0], &[255, 255, 31, 255], &[182, 109, 251, 255], &[183, 109, 251, 255]),
(&[1, 0, 32, 0], &[209, 3, 0, 64], &[255, 15, 0, 0], &[0, 16, 0, 0]),
(&[1, 0, 32, 0], &[47, 252, 255, 191], &[0, 240, 255, 255], &[1, 240, 255, 255]),
(&[255, 255, 223, 255], &[170, 170, 10, 0], &[246, 255, 159, 255], &[247, 255, 159, 255]),
(&[255, 255, 223, 255], &[86, 85, 245, 255], &[9, 0, 96, 0], &[10, 0, 96, 0]),
(&[255, 255, 223, 255], &[1, 0, 32, 0], &[0, 0, 224, 255], &[0, 0, 224, 255]),
(&[255, 255, 223, 255], &[255, 255, 223, 255], &[0, 0, 32, 0], &[0, 0, 32, 0]),
(&[255, 255, 223, 255], &[0, 0, 176, 0], &[139, 46, 250, 255], &[140, 46, 250, 255]),
(&[255, 255, 223, 255], &[255, 255, 31, 255], &[73, 146, 4, 0], &[74, 146, 4, 0]),
(&[255, 255, 223, 255], &[209, 3, 0, 64], &[0, 240, 255, 255], &[1, 240, 255, 255]),
(&[255, 255, 223, 255], &[47, 252, 255, 191], &[255, 15, 0, 0], &[0, 16, 0, 0]),
(&[0, 0, 176, 0], &[170, 170, 10, 0], &[33, 0, 16, 2], &[34, 0, 16, 2]),
(&[0, 0, 176, 0], &[86, 85, 245, 255], &[222, 255, 239, 253], &[223, 255, 239, 253]),
(&[0, 0, 176, 0], &[1, 0, 32, 0], &[250, 255, 175, 0], &[251, 255, 175, 0]),
(&[0, 0, 176, 0], &[255, 255, 223, 255], &[5, 0, 80, 255], &[6, 0, 80, 255]),
(&[0, 0, 176, 0], &[0, 0, 176, 0], &[0, 0, 32, 0], &[0, 0, 32, 0]),
(&[0, 0, 176, 0], &[255, 255, 31, 255], &[109, 219, 230, 255], &[110, 219, 230, 255]),
(&[0, 0, 176, 0], &[209, 3, 0, 64], &[255, 87, 0, 0], &[0, 88, 0, 0]),
(&[0, 0, 176, 0], &[47, 252, 255, 191], &[0, 168, 255, 255], &[1, 168, 255, 255]),
(&[255, 255, 31, 255], &[170, 170, 10, 0], &[210, 255, 95, 253], &[211, 255, 95, 253]),
(&[255, 255, 31, 255], &[86, 85, 245, 255], &[45, 0, 160, 2], &[46, 0, 160, 2]),
(&[255, 255, 31, 255], &[1, 0, 32, 0], &[5, 0, 32, 255], &[6, 0, 32, 255]),
(&[255, 255, 31, 255], &[255, 255, 223, 255], &[250, 255, 223, 0], &[251, 255, 223, 0]),
(&[255, 255, 31, 255], &[0, 0, 176, 0], &[209, 69, 215, 255], &[210, 69, 215, 255]),
(&[255, 255, 31, 255], &[255, 255, 31, 255], &[0, 0, 32, 0], &[0, 0, 32, 0]),
(&[255, 255, 31, 255], &[209, 3, 0, 64], &[0, 144, 255, 255], &[1, 144, 255, 255]),
(&[255, 255, 31, 255], &[47, 252, 255, 191], &[255, 111, 0, 0], &[0, 112, 0, 0]),
(&[209, 3, 0, 64], &[1, 0, 32, 0], &[208, 1, 0, 64], &[209, 1, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 223, 255], &[47, 254, 255, 191], &[48, 254, 255, 191]),
(&[209, 3, 0, 64], &[0, 0, 176, 0], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[255, 255, 31, 255], &[53, 109, 219, 246], &[54, 109, 219, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 0, 32, 0], &[0, 0, 32, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 0, 224, 255], &[0, 0, 224, 255]),
(&[47, 252, 255, 191], &[1, 0, 32, 0], &[47, 254, 255, 191], &[48, 254, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 223, 255], &[208, 1, 0, 64], &[209, 1, 0, 64]),
(&[47, 252, 255, 191], &[0, 0, 176, 0], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[255, 255, 31, 255], &[202, 146, 36, 9], &[203, 146, 36, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 0, 224, 255], &[0, 0, 224, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 0, 32, 0], &[0, 0, 32, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[54, 147, 60, 0], &[55, 147, 60, 0]),
(50, &[174, 38, 88, 0], &[175, 38, 88, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 0, 16, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 0, 16, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 0, 16, 0], &[0, 0, 16, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 0, 16, 0], &[0, 0, 16, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[0, 0, 16, 0], &[0, 0, 232, 255], &[0, 0, 20, 0]], &[&[0, 0, 32, 0], &[0, 0, 8, 0], &[0, 0, 252, 255], &[0, 0, 8, 0], &[0, 0, 64, 0], &[0, 0, 2, 0], &[0, 0, 252, 255], &[0, 0, 2, 0], &[0, 0, 16, 0]], &[0, 224, 39, 0], &[0, 224, 39, 0], &[0, 224, 39, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[47, 252, 63, 0], &[246, 203, 63, 0]], &[&[47, 252, 63, 0], &[15, 84, 21, 0], &[9, 204, 12, 0], &[46, 252, 63, 0]], &[166, 44, 134, 2], &[167, 44, 134, 2], &[166, 44, 134, 2]),
(2, &[&[209, 3, 192, 255], &[10, 52, 192, 255]], &[&[47, 252, 63, 0], &[15, 84, 21, 0], &[9, 204, 12, 0], &[46, 252, 63, 0]], &[166, 44, 134, 2], &[167, 44, 134, 2], &[166, 44, 134, 2]),
(2, &[&[47, 252, 63, 0], &[246, 203, 63, 0]], &[&[209, 3, 192, 255], &[241, 171, 234, 255], &[247, 51, 243, 255], &[210, 3, 192, 255]], &[89, 211, 121, 253], &[90, 211, 121, 253], &[90, 211, 121, 253]),
(2, &[&[209, 3, 192, 255], &[10, 52, 192, 255]], &[&[209, 3, 192, 255], &[241, 171, 234, 255], &[247, 51, 243, 255], &[210, 3, 192, 255]], &[89, 211, 121, 253], &[90, 211, 121, 253], &[90, 211, 121, 253]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f22 {
pub const FRAC_BITS: u32 = 22;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[0, 8, 0, 0], &[0, 8, 0, 0]),
(&[2, 0, 0, 0], &[80, 11, 0, 0], &[81, 11, 0, 0]),
(&[3, 0, 0, 0], &[219, 13, 0, 0], &[220, 13, 0, 0]),
(&[0, 0, 64, 0], &[0, 0, 64, 0], &[0, 0, 64, 0]),
(&[0, 0, 128, 0], &[121, 130, 90, 0], &[122, 130, 90, 0]),
(&[0, 0, 0, 1], &[0, 0, 128, 0], &[0, 0, 128, 0]),
(&[0, 0, 32, 0], &[60, 65, 45, 0], &[61, 65, 45, 0]),
(&[1, 0, 16, 0], &[0, 0, 32, 0], &[1, 0, 32, 0]),
(&[57, 48, 0, 64], &[129, 1, 0, 4], &[130, 1, 0, 4]),
(&[255, 255, 255, 127], &[153, 39, 168, 5], &[154, 39, 168, 5]),
(&[146, 36, 201, 0], &[186, 117, 113, 0], &[187, 117, 113, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[85, 85, 21, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 170, 234, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 0, 64, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 191, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 96, 1], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 63, 254], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 3, 0, 0], &[1, 3, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 252, 255, 255], &[0, 253, 255, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[85, 85, 21, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[171, 170, 234, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 64, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 191, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 96, 1], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 63, 254], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 252, 255, 255], &[0, 253, 255, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 3, 0, 0], &[1, 3, 0, 0]),
(&[85, 85, 21, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 85, 21, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[85, 85, 21, 0], &[85, 85, 21, 0], &[113, 28, 7, 0], &[114, 28, 7, 0]),
(&[85, 85, 21, 0], &[171, 170, 234, 255], &[142, 227, 248, 255], &[143, 227, 248, 255]),
(&[85, 85, 21, 0], &[1, 0, 64, 0], &[85, 85, 21, 0], &[86, 85, 21, 0]),
(&[85, 85, 21, 0], &[255, 255, 191, 255], &[170, 170, 234, 255], &[171, 170, 234, 255]),
(&[85, 85, 21, 0], &[0, 0, 96, 1], &[83, 85, 117, 0], &[84, 85, 117, 0]),
(&[85, 85, 21, 0], &[255, 255, 63, 254], &[172, 170, 106, 255], &[173, 170, 106, 255]),
(&[85, 85, 21, 0], &[209, 3, 0, 64], &[69, 86, 85, 21], &[70, 86, 85, 21]),
(&[85, 85, 21, 0], &[47, 252, 255, 191], &[186, 169, 170, 234], &[187, 169, 170, 234]),
(&[171, 170, 234, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[171, 170, 234, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[171, 170, 234, 255], &[85, 85, 21, 0], &[142, 227, 248, 255], &[143, 227, 248, 255]),
(&[171, 170, 234, 255], &[171, 170, 234, 255], &[113, 28, 7, 0], &[114, 28, 7, 0]),
(&[171, 170, 234, 255], &[1, 0, 64, 0], &[170, 170, 234, 255], &[171, 170, 234, 255]),
(&[171, 170, 234, 255], &[255, 255, 191, 255], &[85, 85, 21, 0], &[86, 85, 21, 0]),
(&[171, 170, 234, 255], &[0, 0, 96, 1], &[172, 170, 138, 255], &[173, 170, 138, 255]),
(&[171, 170, 234, 255], &[255, 255, 63, 254], &[83, 85, 149, 0], &[84, 85, 149, 0]),
(&[171, 170, 234, 255], &[209, 3, 0, 64], &[186, 169, 170, 234], &[187, 169, 170, 234]),
(&[171, 170, 234, 255], &[47, 252, 255, 191], &[69, 86, 85, 21], &[70, 86, 85, 21]),
(&[1, 0, 64, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 0, 64, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 0, 64, 0], &[85, 85, 21, 0], &[85, 85, 21, 0], &[86, 85, 21, 0]),
(&[1, 0, 64, 0], &[171, 170, 234, 255], &[170, 170, 234, 255], &[171, 170, 234, 255]),
(&[1, 0, 64, 0], &[1, 0, 64, 0], &[2, 0, 64, 0], &[3, 0, 64, 0]),
(&[1, 0, 64, 0], &[255, 255, 191, 255], &[253, 255, 191, 255], &[254, 255, 191, 255]),
(&[1, 0, 64, 0], &[0, 0, 96, 1], &[5, 0, 96, 1], &[6, 0, 96, 1]),
(&[1, 0, 64, 0], &[255, 255, 63, 254], &[247, 255, 63, 254], &[248, 255, 63, 254]),
(&[1, 0, 64, 0], &[209, 3, 0, 64], &[209, 4, 0, 64], &[210, 4, 0, 64]),
(&[1, 0, 64, 0], &[47, 252, 255, 191], &[46, 251, 255, 191], &[47, 251, 255, 191]),
(&[255, 255, 191, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 255, 191, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 255, 191, 255], &[85, 85, 21, 0], &[170, 170, 234, 255], &[171, 170, 234, 255]),
(&[255, 255, 191, 255], &[171, 170, 234, 255], &[85, 85, 21, 0], &[86, 85, 21, 0]),
(&[255, 255, 191, 255], &[1, 0, 64, 0], &[253, 255, 191, 255], &[254, 255, 191, 255]),
(&[255, 255, 191, 255], &[255, 255, 191, 255], &[2, 0, 64, 0], &[3, 0, 64, 0]),
(&[255, 255, 191, 255], &[0, 0, 96, 1], &[250, 255, 159, 254], &[251, 255, 159, 254]),
(&[255, 255, 191, 255], &[255, 255, 63, 254], &[8, 0, 192, 1], &[9, 0, 192, 1]),
(&[255, 255, 191, 255], &[209, 3, 0, 64], &[46, 251, 255, 191], &[47, 251, 255, 191]),
(&[255, 255, 191, 255], &[47, 252, 255, 191], &[209, 4, 0, 64], &[210, 4, 0, 64]),
(&[0, 0, 96, 1], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[0, 0, 96, 1], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[0, 0, 96, 1], &[85, 85, 21, 0], &[83, 85, 117, 0], &[84, 85, 117, 0]),
(&[0, 0, 96, 1], &[171, 170, 234, 255], &[172, 170, 138, 255], &[173, 170, 138, 255]),
(&[0, 0, 96, 1], &[1, 0, 64, 0], &[5, 0, 96, 1], &[6, 0, 96, 1]),
(&[0, 0, 96, 1], &[255, 255, 191, 255], &[250, 255, 159, 254], &[251, 255, 159, 254]),
(&[0, 0, 96, 1], &[0, 0, 96, 1], &[0, 0, 144, 7], &[0, 0, 144, 7]),
(&[0, 0, 96, 1], &[255, 255, 63, 254], &[250, 255, 95, 246], &[251, 255, 95, 246]),
(&[255, 255, 63, 254], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 255, 63, 254], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[255, 255, 63, 254], &[85, 85, 21, 0], &[172, 170, 106, 255], &[173, 170, 106, 255]),
(&[255, 255, 63, 254], &[171, 170, 234, 255], &[83, 85, 149, 0], &[84, 85, 149, 0]),
(&[255, 255, 63, 254], &[1, 0, 64, 0], &[247, 255, 63, 254], &[248, 255, 63, 254]),
(&[255, 255, 63, 254], &[255, 255, 191, 255], &[8, 0, 192, 1], &[9, 0, 192, 1]),
(&[255, 255, 63, 254], &[0, 0, 96, 1], &[250, 255, 95, 246], &[251, 255, 95, 246]),
(&[255, 255, 63, 254], &[255, 255, 63, 254], &[14, 0, 64, 12], &[15, 0, 64, 12]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[0, 3, 0, 0], &[1, 3, 0, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[255, 252, 255, 255], &[0, 253, 255, 255]),
(&[209, 3, 0, 64], &[85, 85, 21, 0], &[69, 86, 85, 21], &[70, 86, 85, 21]),
(&[209, 3, 0, 64], &[171, 170, 234, 255], &[186, 169, 170, 234], &[187, 169, 170, 234]),
(&[209, 3, 0, 64], &[1, 0, 64, 0], &[209, 4, 0, 64], &[210, 4, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 191, 255], &[46, 251, 255, 191], &[47, 251, 255, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[255, 252, 255, 255], &[0, 253, 255, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[0, 3, 0, 0], &[1, 3, 0, 0]),
(&[47, 252, 255, 191], &[85, 85, 21, 0], &[186, 169, 170, 234], &[187, 169, 170, 234]),
(&[47, 252, 255, 191], &[171, 170, 234, 255], &[69, 86, 85, 21], &[70, 86, 85, 21]),
(&[47, 252, 255, 191], &[1, 0, 64, 0], &[46, 251, 255, 191], &[47, 251, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 191, 255], &[209, 4, 0, 64], &[210, 4, 0, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 64, 0], &[0, 0, 64, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 0, 192, 255], &[0, 0, 192, 255]),
(&[3, 0, 0, 0], &[85, 85, 21, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 170, 234, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 0, 64, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 191, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 96, 1], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 63, 254], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 0, 192, 255], &[0, 0, 192, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 64, 0], &[0, 0, 64, 0]),
(&[253, 255, 255, 255], &[85, 85, 21, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[171, 170, 234, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 64, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 191, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 96, 1], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 255, 63, 254], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 85, 21, 0], &[85, 85, 21, 0], &[0, 0, 64, 0], &[0, 0, 64, 0]),
(&[85, 85, 21, 0], &[171, 170, 234, 255], &[0, 0, 192, 255], &[0, 0, 192, 255]),
(&[85, 85, 21, 0], &[1, 0, 64, 0], &[84, 85, 21, 0], &[85, 85, 21, 0]),
(&[85, 85, 21, 0], &[255, 255, 191, 255], &[171, 170, 234, 255], &[172, 170, 234, 255]),
(&[85, 85, 21, 0], &[0, 0, 96, 1], &[248, 224, 3, 0], &[249, 224, 3, 0]),
(&[85, 85, 21, 0], &[255, 255, 63, 254], &[207, 243, 252, 255], &[208, 243, 252, 255]),
(&[85, 85, 21, 0], &[209, 3, 0, 64], &[85, 21, 0, 0], &[86, 21, 0, 0]),
(&[85, 85, 21, 0], &[47, 252, 255, 191], &[170, 234, 255, 255], &[171, 234, 255, 255]),
(&[171, 170, 234, 255], &[85, 85, 21, 0], &[0, 0, 192, 255], &[0, 0, 192, 255]),
(&[171, 170, 234, 255], &[171, 170, 234, 255], &[0, 0, 64, 0], &[0, 0, 64, 0]),
(&[171, 170, 234, 255], &[1, 0, 64, 0], &[171, 170, 234, 255], &[172, 170, 234, 255]),
(&[171, 170, 234, 255], &[255, 255, 191, 255], &[84, 85, 21, 0], &[85, 85, 21, 0]),
(&[171, 170, 234, 255], &[0, 0, 96, 1], &[7, 31, 252, 255], &[8, 31, 252, 255]),
(&[171, 170, 234, 255], &[255, 255, 63, 254], &[48, 12, 3, 0], &[49, 12, 3, 0]),
(&[171, 170, 234, 255], &[209, 3, 0, 64], &[170, 234, 255, 255], &[171, 234, 255, 255]),
(&[171, 170, 234, 255], &[47, 252, 255, 191], &[85, 21, 0, 0], &[86, 21, 0, 0]),
(&[1, 0, 64, 0], &[85, 85, 21, 0], &[6, 0, 192, 0], &[7, 0, 192, 0]),
(&[1, 0, 64, 0], &[171, 170, 234, 255], &[249, 255, 63, 255], &[250, 255, 63, 255]),
(&[1, 0, 64, 0], &[1, 0, 64, 0], &[0, 0, 64, 0], &[0, 0, 64, 0]),
(&[1, 0, 64, 0], &[255, 255, 191, 255], &[0, 0, 192, 255], &[0, 0, 192, 255]),
(&[1, 0, 64, 0], &[0, 0, 96, 1], &[232, 162, 11, 0], &[233, 162, 11, 0]),
(&[1, 0, 64, 0], &[255, 255, 63, 254], &[109, 219, 246, 255], &[110, 219, 246, 255]),
(&[1, 0, 64, 0], &[209, 3, 0, 64], &[255, 63, 0, 0], &[0, 64, 0, 0]),
(&[1, 0, 64, 0], &[47, 252, 255, 191], &[0, 192, 255, 255], &[1, 192, 255, 255]),
(&[255, 255, 191, 255], &[85, 85, 21, 0], &[249, 255, 63, 255], &[250, 255, 63, 255]),
(&[255, 255, 191, 255], &[171, 170, 234, 255], &[6, 0, 192, 0], &[7, 0, 192, 0]),
(&[255, 255, 191, 255], &[1, 0, 64, 0], &[0, 0, 192, 255], &[0, 0, 192, 255]),
(&[255, 255, 191, 255], &[255, 255, 191, 255], &[0, 0, 64, 0], &[0, 0, 64, 0]),
(&[255, 255, 191, 255], &[0, 0, 96, 1], &[23, 93, 244, 255], &[24, 93, 244, 255]),
(&[255, 255, 191, 255], &[255, 255, 63, 254], &[146, 36, 9, 0], &[147, 36, 9, 0]),
(&[255, 255, 191, 255], &[209, 3, 0, 64], &[0, 192, 255, 255], &[1, 192, 255, 255]),
(&[255, 255, 191, 255], &[47, 252, 255, 191], &[255, 63, 0, 0], &[0, 64, 0, 0]),
(&[0, 0, 96, 1], &[85, 85, 21, 0], &[16, 0, 32, 4], &[17, 0, 32, 4]),
(&[0, 0, 96, 1], &[171, 170, 234, 255], &[239, 255, 223, 251], &[240, 255, 223, 251]),
(&[0, 0, 96, 1], &[1, 0, 64, 0], &[250, 255, 95, 1], &[251, 255, 95, 1]),
(&[0, 0, 96, 1], &[255, 255, 191, 255], &[5, 0, 160, 254], &[6, 0, 160, 254]),
(&[0, 0, 96, 1], &[0, 0, 96, 1], &[0, 0, 64, 0], &[0, 0, 64, 0]),
(&[0, 0, 96, 1], &[255, 255, 63, 254], &[219, 182, 205, 255], &[220, 182, 205, 255]),
(&[0, 0, 96, 1], &[209, 3, 0, 64], &[255, 95, 1, 0], &[0, 96, 1, 0]),
(&[0, 0, 96, 1], &[47, 252, 255, 191], &[0, 160, 254, 255], &[1, 160, 254, 255]),
(&[255, 255, 63, 254], &[85, 85, 21, 0], &[231, 255, 191, 250], &[232, 255, 191, 250]),
(&[255, 255, 63, 254], &[171, 170, 234, 255], &[24, 0, 64, 5], &[25, 0, 64, 5]),
(&[255, 255, 63, 254], &[1, 0, 64, 0], &[5, 0, 64, 254], &[6, 0, 64, 254]),
(&[255, 255, 63, 254], &[255, 255, 191, 255], &[250, 255, 191, 1], &[251, 255, 191, 1]),
(&[255, 255, 63, 254], &[0, 0, 96, 1], &[162, 139, 174, 255], &[163, 139, 174, 255]),
(&[255, 255, 63, 254], &[255, 255, 63, 254], &[0, 0, 64, 0], &[0, 0, 64, 0]),
(&[255, 255, 63, 254], &[209, 3, 0, 64], &[0, 64, 254, 255], &[1, 64, 254, 255]),
(&[255, 255, 63, 254], &[47, 252, 255, 191], &[255, 191, 1, 0], &[0, 192, 1, 0]),
(&[209, 3, 0, 64], &[1, 0, 64, 0], &[208, 2, 0, 64], &[209, 2, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 191, 255], &[47, 253, 255, 191], &[48, 253, 255, 191]),
(&[209, 3, 0, 64], &[0, 0, 96, 1], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[255, 255, 63, 254], &[48, 109, 219, 246], &[49, 109, 219, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 0, 64, 0], &[0, 0, 64, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 0, 192, 255], &[0, 0, 192, 255]),
(&[47, 252, 255, 191], &[1, 0, 64, 0], &[47, 253, 255, 191], &[48, 253, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 191, 255], &[208, 2, 0, 64], &[209, 2, 0, 64]),
(&[47, 252, 255, 191], &[0, 0, 96, 1], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[255, 255, 63, 254], &[207, 146, 36, 9], &[208, 146, 36, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 0, 192, 255], &[0, 0, 192, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 0, 64, 0], &[0, 0, 64, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[108, 38, 121, 0], &[109, 38, 121, 0]),
(50, &[93, 77, 176, 0], &[94, 77, 176, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 0, 32, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 0, 32, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 0, 32, 0], &[0, 0, 32, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 0, 32, 0], &[0, 0, 32, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[0, 0, 32, 0], &[0, 0, 208, 255], &[0, 0, 40, 0]], &[&[0, 0, 64, 0], &[0, 0, 16, 0], &[0, 0, 248, 255], &[0, 0, 16, 0], &[0, 0, 128, 0], &[0, 0, 4, 0], &[0, 0, 248, 255], &[0, 0, 4, 0], &[0, 0, 32, 0]], &[0, 192, 79, 0], &[0, 192, 79, 0], &[0, 192, 79, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[47, 252, 127, 0], &[246, 203, 127, 0]], &[&[47, 252, 127, 0], &[101, 169, 42, 0], &[214, 152, 25, 0], &[46, 252, 127, 0]], &[200, 180, 14, 5], &[201, 180, 14, 5], &[201, 180, 14, 5]),
(2, &[&[209, 3, 128, 255], &[10, 52, 128, 255]], &[&[47, 252, 127, 0], &[101, 169, 42, 0], &[214, 152, 25, 0], &[46, 252, 127, 0]], &[200, 180, 14, 5], &[201, 180, 14, 5], &[201, 180, 14, 5]),
(2, &[&[47, 252, 127, 0], &[246, 203, 127, 0]], &[&[209, 3, 128, 255], &[155, 86, 213, 255], &[42, 103, 230, 255], &[210, 3, 128, 255]], &[55, 75, 241, 250], &[56, 75, 241, 250], &[55, 75, 241, 250]),
(2, &[&[209, 3, 128, 255], &[10, 52, 128, 255]], &[&[209, 3, 128, 255], &[155, 86, 213, 255], &[42, 103, 230, 255], &[210, 3, 128, 255]], &[55, 75, 241, 250], &[56, 75, 241, 250], &[55, 75, 241, 250]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f23 {
pub const FRAC_BITS: u32 = 23;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[80, 11, 0, 0], &[81, 11, 0, 0]),
(&[2, 0, 0, 0], &[0, 16, 0, 0], &[0, 16, 0, 0]),
(&[3, 0, 0, 0], &[152, 19, 0, 0], &[153, 19, 0, 0]),
(&[0, 0, 128, 0], &[0, 0, 128, 0], &[0, 0, 128, 0]),
(&[0, 0, 0, 1], &[243, 4, 181, 0], &[244, 4, 181, 0]),
(&[0, 0, 0, 2], &[0, 0, 0, 1], &[0, 0, 0, 1]),
(&[0, 0, 64, 0], &[121, 130, 90, 0], &[122, 130, 90, 0]),
(&[1, 0, 32, 0], &[0, 0, 64, 0], &[1, 0, 64, 0]),
(&[57, 48, 0, 64], &[187, 41, 168, 5], &[188, 41, 168, 5]),
(&[255, 255, 255, 127], &[255, 255, 255, 7], &[0, 0, 0, 8]),
(&[36, 73, 146, 1], &[116, 235, 226, 0], &[117, 235, 226, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[170, 170, 42, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 85, 213, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 0, 128, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 127, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 192, 2], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 127, 252], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[128, 1, 0, 0], &[129, 1, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[127, 254, 255, 255], &[128, 254, 255, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[170, 170, 42, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[86, 85, 213, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 128, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 127, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 192, 2], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 127, 252], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[127, 254, 255, 255], &[128, 254, 255, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[128, 1, 0, 0], &[129, 1, 0, 0]),
(&[170, 170, 42, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 170, 42, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[170, 170, 42, 0], &[170, 170, 42, 0], &[227, 56, 14, 0], &[228, 56, 14, 0]),
(&[170, 170, 42, 0], &[86, 85, 213, 255], &[28, 199, 241, 255], &[29, 199, 241, 255]),
(&[170, 170, 42, 0], &[1, 0, 128, 0], &[170, 170, 42, 0], &[171, 170, 42, 0]),
(&[170, 170, 42, 0], &[255, 255, 127, 255], &[85, 85, 213, 255], &[86, 85, 213, 255]),
(&[170, 170, 42, 0], &[0, 0, 192, 2], &[167, 170, 234, 0], &[167, 170, 234, 0]),
(&[170, 170, 42, 0], &[255, 255, 127, 252], &[89, 85, 213, 254], &[90, 85, 213, 254]),
(&[170, 170, 42, 0], &[209, 3, 0, 64], &[69, 86, 85, 21], &[70, 86, 85, 21]),
(&[170, 170, 42, 0], &[47, 252, 255, 191], &[186, 169, 170, 234], &[187, 169, 170, 234]),
(&[86, 85, 213, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[86, 85, 213, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[86, 85, 213, 255], &[170, 170, 42, 0], &[28, 199, 241, 255], &[29, 199, 241, 255]),
(&[86, 85, 213, 255], &[86, 85, 213, 255], &[227, 56, 14, 0], &[228, 56, 14, 0]),
(&[86, 85, 213, 255], &[1, 0, 128, 0], &[85, 85, 213, 255], &[86, 85, 213, 255]),
(&[86, 85, 213, 255], &[255, 255, 127, 255], &[170, 170, 42, 0], &[171, 170, 42, 0]),
(&[86, 85, 213, 255], &[0, 0, 192, 2], &[89, 85, 21, 255], &[89, 85, 21, 255]),
(&[86, 85, 213, 255], &[255, 255, 127, 252], &[166, 170, 42, 1], &[167, 170, 42, 1]),
(&[86, 85, 213, 255], &[209, 3, 0, 64], &[186, 169, 170, 234], &[187, 169, 170, 234]),
(&[86, 85, 213, 255], &[47, 252, 255, 191], &[69, 86, 85, 21], &[70, 86, 85, 21]),
(&[1, 0, 128, 0], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 0, 128, 0], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 0, 128, 0], &[170, 170, 42, 0], &[170, 170, 42, 0], &[171, 170, 42, 0]),
(&[1, 0, 128, 0], &[86, 85, 213, 255], &[85, 85, 213, 255], &[86, 85, 213, 255]),
(&[1, 0, 128, 0], &[1, 0, 128, 0], &[2, 0, 128, 0], &[3, 0, 128, 0]),
(&[1, 0, 128, 0], &[255, 255, 127, 255], &[253, 255, 127, 255], &[254, 255, 127, 255]),
(&[1, 0, 128, 0], &[0, 0, 192, 2], &[5, 0, 192, 2], &[6, 0, 192, 2]),
(&[1, 0, 128, 0], &[255, 255, 127, 252], &[247, 255, 127, 252], &[248, 255, 127, 252]),
(&[1, 0, 128, 0], &[209, 3, 0, 64], &[81, 4, 0, 64], &[82, 4, 0, 64]),
(&[1, 0, 128, 0], &[47, 252, 255, 191], &[174, 251, 255, 191], &[175, 251, 255, 191]),
(&[255, 255, 127, 255], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 255, 127, 255], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 255, 127, 255], &[170, 170, 42, 0], &[85, 85, 213, 255], &[86, 85, 213, 255]),
(&[255, 255, 127, 255], &[86, 85, 213, 255], &[170, 170, 42, 0], &[171, 170, 42, 0]),
(&[255, 255, 127, 255], &[1, 0, 128, 0], &[253, 255, 127, 255], &[254, 255, 127, 255]),
(&[255, 255, 127, 255], &[255, 255, 127, 255], &[2, 0, 128, 0], &[3, 0, 128, 0]),
(&[255, 255, 127, 255], &[0, 0, 192, 2], &[250, 255, 63, 253], &[251, 255, 63, 253]),
(&[255, 255, 127, 255], &[255, 255, 127, 252], &[8, 0, 128, 3], &[9, 0, 128, 3]),
(&[255, 255, 127, 255], &[209, 3, 0, 64], &[174, 251, 255, 191], &[175, 251, 255, 191]),
(&[255, 255, 127, 255], &[47, 252, 255, 191], &[81, 4, 0, 64], &[82, 4, 0, 64]),
(&[0, 0, 192, 2], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[0, 0, 192, 2], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[0, 0, 192, 2], &[170, 170, 42, 0], &[167, 170, 234, 0], &[167, 170, 234, 0]),
(&[0, 0, 192, 2], &[86, 85, 213, 255], &[89, 85, 21, 255], &[89, 85, 21, 255]),
(&[0, 0, 192, 2], &[1, 0, 128, 0], &[5, 0, 192, 2], &[6, 0, 192, 2]),
(&[0, 0, 192, 2], &[255, 255, 127, 255], &[250, 255, 63, 253], &[251, 255, 63, 253]),
(&[0, 0, 192, 2], &[0, 0, 192, 2], &[0, 0, 32, 15], &[0, 0, 32, 15]),
(&[0, 0, 192, 2], &[255, 255, 127, 252], &[250, 255, 191, 236], &[251, 255, 191, 236]),
(&[255, 255, 127, 252], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 255, 127, 252], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[255, 255, 127, 252], &[170, 170, 42, 0], &[89, 85, 213, 254], &[90, 85, 213, 254]),
(&[255, 255, 127, 252], &[86, 85, 213, 255], &[166, 170, 42, 1], &[167, 170, 42, 1]),
(&[255, 255, 127, 252], &[1, 0, 128, 0], &[247, 255, 127, 252], &[248, 255, 127, 252]),
(&[255, 255, 127, 252], &[255, 255, 127, 255], &[8, 0, 128, 3], &[9, 0, 128, 3]),
(&[255, 255, 127, 252], &[0, 0, 192, 2], &[250, 255, 191, 236], &[251, 255, 191, 236]),
(&[255, 255, 127, 252], &[255, 255, 127, 252], &[14, 0, 128, 24], &[15, 0, 128, 24]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[128, 1, 0, 0], &[129, 1, 0, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[127, 254, 255, 255], &[128, 254, 255, 255]),
(&[209, 3, 0, 64], &[170, 170, 42, 0], &[69, 86, 85, 21], &[70, 86, 85, 21]),
(&[209, 3, 0, 64], &[86, 85, 213, 255], &[186, 169, 170, 234], &[187, 169, 170, 234]),
(&[209, 3, 0, 64], &[1, 0, 128, 0], &[81, 4, 0, 64], &[82, 4, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 127, 255], &[174, 251, 255, 191], &[175, 251, 255, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[127, 254, 255, 255], &[128, 254, 255, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[128, 1, 0, 0], &[129, 1, 0, 0]),
(&[47, 252, 255, 191], &[170, 170, 42, 0], &[186, 169, 170, 234], &[187, 169, 170, 234]),
(&[47, 252, 255, 191], &[86, 85, 213, 255], &[69, 86, 85, 21], &[70, 86, 85, 21]),
(&[47, 252, 255, 191], &[1, 0, 128, 0], &[174, 251, 255, 191], &[175, 251, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 127, 255], &[81, 4, 0, 64], &[82, 4, 0, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 128, 0], &[0, 0, 128, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 0, 128, 255], &[0, 0, 128, 255]),
(&[3, 0, 0, 0], &[170, 170, 42, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 85, 213, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 0, 128, 0], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 127, 255], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 192, 2], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 127, 252], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 0, 128, 255], &[0, 0, 128, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 128, 0], &[0, 0, 128, 0]),
(&[253, 255, 255, 255], &[170, 170, 42, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[86, 85, 213, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 128, 0], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 127, 255], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 192, 2], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 255, 127, 252], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 170, 42, 0], &[170, 170, 42, 0], &[0, 0, 128, 0], &[0, 0, 128, 0]),
(&[170, 170, 42, 0], &[86, 85, 213, 255], &[0, 0, 128, 255], &[0, 0, 128, 255]),
(&[170, 170, 42, 0], &[1, 0, 128, 0], &[169, 170, 42, 0], &[170, 170, 42, 0]),
(&[170, 170, 42, 0], &[255, 255, 127, 255], &[86, 85, 213, 255], &[87, 85, 213, 255]),
(&[170, 170, 42, 0], &[0, 0, 192, 2], &[240, 193, 7, 0], &[241, 193, 7, 0]),
(&[170, 170, 42, 0], &[255, 255, 127, 252], &[158, 231, 249, 255], &[159, 231, 249, 255]),
(&[170, 170, 42, 0], &[209, 3, 0, 64], &[85, 85, 0, 0], &[86, 85, 0, 0]),
(&[170, 170, 42, 0], &[47, 252, 255, 191], &[170, 170, 255, 255], &[171, 170, 255, 255]),
(&[86, 85, 213, 255], &[170, 170, 42, 0], &[0, 0, 128, 255], &[0, 0, 128, 255]),
(&[86, 85, 213, 255], &[86, 85, 213, 255], &[0, 0, 128, 0], &[0, 0, 128, 0]),
(&[86, 85, 213, 255], &[1, 0, 128, 0], &[86, 85, 213, 255], &[87, 85, 213, 255]),
(&[86, 85, 213, 255], &[255, 255, 127, 255], &[169, 170, 42, 0], &[170, 170, 42, 0]),
(&[86, 85, 213, 255], &[0, 0, 192, 2], &[15, 62, 248, 255], &[16, 62, 248, 255]),
(&[86, 85, 213, 255], &[255, 255, 127, 252], &[97, 24, 6, 0], &[98, 24, 6, 0]),
(&[86, 85, 213, 255], &[209, 3, 0, 64], &[170, 170, 255, 255], &[171, 170, 255, 255]),
(&[86, 85, 213, 255], &[47, 252, 255, 191], &[85, 85, 0, 0], &[86, 85, 0, 0]),
(&[1, 0, 128, 0], &[170, 170, 42, 0], &[9, 0, 128, 1], &[10, 0, 128, 1]),
(&[1, 0, 128, 0], &[86, 85, 213, 255], &[246, 255, 127, 254], &[247, 255, 127, 254]),
(&[1, 0, 128, 0], &[1, 0, 128, 0], &[0, 0, 128, 0], &[0, 0, 128, 0]),
(&[1, 0, 128, 0], &[255, 255, 127, 255], &[0, 0, 128, 255], &[0, 0, 128, 255]),
(&[1, 0, 128, 0], &[0, 0, 192, 2], &[209, 69, 23, 0], &[210, 69, 23, 0]),
(&[1, 0, 128, 0], &[255, 255, 127, 252], &[219, 182, 237, 255], &[220, 182, 237, 255]),
(&[1, 0, 128, 0], &[209, 3, 0, 64], &[255, 255, 0, 0], &[0, 0, 1, 0]),
(&[1, 0, 128, 0], &[47, 252, 255, 191], &[0, 0, 255, 255], &[1, 0, 255, 255]),
(&[255, 255, 127, 255], &[170, 170, 42, 0], &[246, 255, 127, 254], &[247, 255, 127, 254]),
(&[255, 255, 127, 255], &[86, 85, 213, 255], &[9, 0, 128, 1], &[10, 0, 128, 1]),
(&[255, 255, 127, 255], &[1, 0, 128, 0], &[0, 0, 128, 255], &[0, 0, 128, 255]),
(&[255, 255, 127, 255], &[255, 255, 127, 255], &[0, 0, 128, 0], &[0, 0, 128, 0]),
(&[255, 255, 127, 255], &[0, 0, 192, 2], &[46, 186, 232, 255], &[47, 186, 232, 255]),
(&[255, 255, 127, 255], &[255, 255, 127, 252], &[36, 73, 18, 0], &[37, 73, 18, 0]),
(&[255, 255, 127, 255], &[209, 3, 0, 64], &[0, 0, 255, 255], &[1, 0, 255, 255]),
(&[255, 255, 127, 255], &[47, 252, 255, 191], &[255, 255, 0, 0], &[0, 0, 1, 0]),
(&[0, 0, 192, 2], &[170, 170, 42, 0], &[33, 0, 64, 8], &[34, 0, 64, 8]),
(&[0, 0, 192, 2], &[86, 85, 213, 255], &[222, 255, 191, 247], &[223, 255, 191, 247]),
(&[0, 0, 192, 2], &[1, 0, 128, 0], &[250, 255, 191, 2], &[251, 255, 191, 2]),
(&[0, 0, 192, 2], &[255, 255, 127, 255], &[5, 0, 64, 253], &[6, 0, 64, 253]),
(&[0, 0, 192, 2], &[0, 0, 192, 2], &[0, 0, 128, 0], &[0, 0, 128, 0]),
(&[0, 0, 192, 2], &[255, 255, 127, 252], &[182, 109, 155, 255], &[183, 109, 155, 255]),
(&[0, 0, 192, 2], &[209, 3, 0, 64], &[255, 127, 5, 0], &[0, 128, 5, 0]),
(&[0, 0, 192, 2], &[47, 252, 255, 191], &[0, 128, 250, 255], &[1, 128, 250, 255]),
(&[255, 255, 127, 252], &[170, 170, 42, 0], &[210, 255, 127, 245], &[211, 255, 127, 245]),
(&[255, 255, 127, 252], &[86, 85, 213, 255], &[45, 0, 128, 10], &[46, 0, 128, 10]),
(&[255, 255, 127, 252], &[1, 0, 128, 0], &[5, 0, 128, 252], &[6, 0, 128, 252]),
(&[255, 255, 127, 252], &[255, 255, 127, 255], &[250, 255, 127, 3], &[251, 255, 127, 3]),
(&[255, 255, 127, 252], &[0, 0, 192, 2], &[69, 23, 93, 255], &[70, 23, 93, 255]),
(&[255, 255, 127, 252], &[255, 255, 127, 252], &[0, 0, 128, 0], &[0, 0, 128, 0]),
(&[255, 255, 127, 252], &[209, 3, 0, 64], &[0, 0, 249, 255], &[1, 0, 249, 255]),
(&[255, 255, 127, 252], &[47, 252, 255, 191], &[255, 255, 6, 0], &[0, 0, 7, 0]),
(&[209, 3, 0, 64], &[1, 0, 128, 0], &[80, 3, 0, 64], &[81, 3, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 127, 255], &[175, 252, 255, 191], &[176, 252, 255, 191]),
(&[209, 3, 0, 64], &[0, 0, 192, 2], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[255, 255, 127, 252], &[45, 109, 219, 246], &[46, 109, 219, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 0, 128, 0], &[0, 0, 128, 0]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 0, 128, 255], &[0, 0, 128, 255]),
(&[47, 252, 255, 191], &[1, 0, 128, 0], &[175, 252, 255, 191], &[176, 252, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 127, 255], &[80, 3, 0, 64], &[81, 3, 0, 64]),
(&[47, 252, 255, 191], &[0, 0, 192, 2], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[255, 255, 127, 252], &[210, 146, 36, 9], &[211, 146, 36, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 0, 128, 255], &[0, 0, 128, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 0, 128, 0], &[0, 0, 128, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[216, 76, 242, 0], &[217, 76, 242, 0]),
(50, &[186, 154, 96, 1], &[187, 154, 96, 1]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 0, 64, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 0, 64, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 0, 64, 0], &[0, 0, 64, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 0, 64, 0], &[0, 0, 64, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[0, 0, 64, 0], &[0, 0, 160, 255], &[0, 0, 80, 0]], &[&[0, 0, 128, 0], &[0, 0, 32, 0], &[0, 0, 240, 255], &[0, 0, 32, 0], &[0, 0, 0, 1], &[0, 0, 8, 0], &[0, 0, 240, 255], &[0, 0, 8, 0], &[0, 0, 64, 0]], &[0, 128, 159, 0], &[0, 128, 159, 0], &[0, 128, 159, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[47, 252, 127, 0], &[246, 203, 127, 0]], &[&[47, 252, 127, 0], &[101, 169, 42, 0], &[214, 152, 25, 0], &[46, 252, 127, 0]], &[50, 173, 67, 1], &[51, 173, 67, 1], &[50, 173, 67, 1]),
(2, &[&[209, 3, 128, 255], &[10, 52, 128, 255]], &[&[47, 252, 127, 0], &[101, 169, 42, 0], &[214, 152, 25, 0], &[46, 252, 127, 0]], &[50, 173, 67, 1], &[51, 173, 67, 1], &[50, 173, 67, 1]),
(2, &[&[47, 252, 127, 0], &[246, 203, 127, 0]], &[&[209, 3, 128, 255], &[155, 86, 213, 255], &[42, 103, 230, 255], &[210, 3, 128, 255]], &[205, 82, 188, 254], &[206, 82, 188, 254], &[206, 82, 188, 254]),
(2, &[&[209, 3, 128, 255], &[10, 52, 128, 255]], &[&[209, 3, 128, 255], &[155, 86, 213, 255], &[42, 103, 230, 255], &[210, 3, 128, 255]], &[205, 82, 188, 254], &[206, 82, 188, 254], &[206, 82, 188, 254]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f24 {
pub const FRAC_BITS: u32 = 24;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[0, 16, 0, 0], &[0, 16, 0, 0]),
(&[2, 0, 0, 0], &[160, 22, 0, 0], &[161, 22, 0, 0]),
(&[3, 0, 0, 0], &[182, 27, 0, 0], &[183, 27, 0, 0]),
(&[0, 0, 0, 1], &[0, 0, 0, 1], &[0, 0, 0, 1]),
(&[0, 0, 0, 2], &[230, 9, 106, 1], &[231, 9, 106, 1]),
(&[0, 0, 0, 4], &[0, 0, 0, 2], &[0, 0, 0, 2]),
(&[0, 0, 128, 0], &[243, 4, 181, 0], &[244, 4, 181, 0]),
(&[1, 0, 64, 0], &[0, 0, 128, 0], &[1, 0, 128, 0]),
(&[57, 48, 0, 64], &[3, 3, 0, 8], &[4, 3, 0, 8]),
(&[255, 255, 255, 127], &[51, 79, 80, 11], &[52, 79, 80, 11]),
(&[73, 146, 36, 3], &[232, 214, 197, 1], &[233, 214, 197, 1]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[85, 85, 85, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 170, 170, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 0, 0, 1], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 254], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 128, 5], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 248], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[192, 0, 0, 0], &[193, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[63, 255, 255, 255], &[64, 255, 255, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[85, 85, 85, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[171, 170, 170, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 0, 1], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 255, 254], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 128, 5], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 255, 248], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[63, 255, 255, 255], &[64, 255, 255, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[192, 0, 0, 0], &[193, 0, 0, 0]),
(&[85, 85, 85, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 85, 85, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[85, 85, 85, 0], &[85, 85, 85, 0], &[198, 113, 28, 0], &[199, 113, 28, 0]),
(&[85, 85, 85, 0], &[171, 170, 170, 255], &[57, 142, 227, 255], &[58, 142, 227, 255]),
(&[85, 85, 85, 0], &[1, 0, 0, 1], &[85, 85, 85, 0], &[86, 85, 85, 0]),
(&[85, 85, 85, 0], &[255, 255, 255, 254], &[170, 170, 170, 255], &[171, 170, 170, 255]),
(&[85, 85, 85, 0], &[0, 0, 128, 5], &[83, 85, 213, 1], &[84, 85, 213, 1]),
(&[85, 85, 85, 0], &[255, 255, 255, 248], &[172, 170, 170, 253], &[173, 170, 170, 253]),
(&[85, 85, 85, 0], &[209, 3, 0, 64], &[133, 86, 85, 21], &[134, 86, 85, 21]),
(&[85, 85, 85, 0], &[47, 252, 255, 191], &[122, 169, 170, 234], &[123, 169, 170, 234]),
(&[171, 170, 170, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[171, 170, 170, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[171, 170, 170, 255], &[85, 85, 85, 0], &[57, 142, 227, 255], &[58, 142, 227, 255]),
(&[171, 170, 170, 255], &[171, 170, 170, 255], &[198, 113, 28, 0], &[199, 113, 28, 0]),
(&[171, 170, 170, 255], &[1, 0, 0, 1], &[170, 170, 170, 255], &[171, 170, 170, 255]),
(&[171, 170, 170, 255], &[255, 255, 255, 254], &[85, 85, 85, 0], &[86, 85, 85, 0]),
(&[171, 170, 170, 255], &[0, 0, 128, 5], &[172, 170, 42, 254], &[173, 170, 42, 254]),
(&[171, 170, 170, 255], &[255, 255, 255, 248], &[83, 85, 85, 2], &[84, 85, 85, 2]),
(&[171, 170, 170, 255], &[209, 3, 0, 64], &[122, 169, 170, 234], &[123, 169, 170, 234]),
(&[171, 170, 170, 255], &[47, 252, 255, 191], &[133, 86, 85, 21], &[134, 86, 85, 21]),
(&[1, 0, 0, 1], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 0, 0, 1], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 0, 0, 1], &[85, 85, 85, 0], &[85, 85, 85, 0], &[86, 85, 85, 0]),
(&[1, 0, 0, 1], &[171, 170, 170, 255], &[170, 170, 170, 255], &[171, 170, 170, 255]),
(&[1, 0, 0, 1], &[1, 0, 0, 1], &[2, 0, 0, 1], &[3, 0, 0, 1]),
(&[1, 0, 0, 1], &[255, 255, 255, 254], &[253, 255, 255, 254], &[254, 255, 255, 254]),
(&[1, 0, 0, 1], &[0, 0, 128, 5], &[5, 0, 128, 5], &[6, 0, 128, 5]),
(&[1, 0, 0, 1], &[255, 255, 255, 248], &[247, 255, 255, 248], &[248, 255, 255, 248]),
(&[1, 0, 0, 1], &[209, 3, 0, 64], &[17, 4, 0, 64], &[18, 4, 0, 64]),
(&[1, 0, 0, 1], &[47, 252, 255, 191], &[238, 251, 255, 191], &[239, 251, 255, 191]),
(&[255, 255, 255, 254], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 255, 255, 254], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 255, 255, 254], &[85, 85, 85, 0], &[170, 170, 170, 255], &[171, 170, 170, 255]),
(&[255, 255, 255, 254], &[171, 170, 170, 255], &[85, 85, 85, 0], &[86, 85, 85, 0]),
(&[255, 255, 255, 254], &[1, 0, 0, 1], &[253, 255, 255, 254], &[254, 255, 255, 254]),
(&[255, 255, 255, 254], &[255, 255, 255, 254], &[2, 0, 0, 1], &[3, 0, 0, 1]),
(&[255, 255, 255, 254], &[0, 0, 128, 5], &[250, 255, 127, 250], &[251, 255, 127, 250]),
(&[255, 255, 255, 254], &[255, 255, 255, 248], &[8, 0, 0, 7], &[9, 0, 0, 7]),
(&[255, 255, 255, 254], &[209, 3, 0, 64], &[238, 251, 255, 191], &[239, 251, 255, 191]),
(&[255, 255, 255, 254], &[47, 252, 255, 191], &[17, 4, 0, 64], &[18, 4, 0, 64]),
(&[0, 0, 128, 5], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[0, 0, 128, 5], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[0, 0, 128, 5], &[85, 85, 85, 0], &[83, 85, 213, 1], &[84, 85, 213, 1]),
(&[0, 0, 128, 5], &[171, 170, 170, 255], &[172, 170, 42, 254], &[173, 170, 42, 254]),
(&[0, 0, 128, 5], &[1, 0, 0, 1], &[5, 0, 128, 5], &[6, 0, 128, 5]),
(&[0, 0, 128, 5], &[255, 255, 255, 254], &[250, 255, 127, 250], &[251, 255, 127, 250]),
(&[0, 0, 128, 5], &[0, 0, 128, 5], &[0, 0, 64, 30], &[0, 0, 64, 30]),
(&[0, 0, 128, 5], &[255, 255, 255, 248], &[250, 255, 127, 217], &[251, 255, 127, 217]),
(&[255, 255, 255, 248], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 255, 255, 248], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[255, 255, 255, 248], &[85, 85, 85, 0], &[172, 170, 170, 253], &[173, 170, 170, 253]),
(&[255, 255, 255, 248], &[171, 170, 170, 255], &[83, 85, 85, 2], &[84, 85, 85, 2]),
(&[255, 255, 255, 248], &[1, 0, 0, 1], &[247, 255, 255, 248], &[248, 255, 255, 248]),
(&[255, 255, 255, 248], &[255, 255, 255, 254], &[8, 0, 0, 7], &[9, 0, 0, 7]),
(&[255, 255, 255, 248], &[0, 0, 128, 5], &[250, 255, 127, 217], &[251, 255, 127, 217]),
(&[255, 255, 255, 248], &[255, 255, 255, 248], &[14, 0, 0, 49], &[15, 0, 0, 49]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[192, 0, 0, 0], &[193, 0, 0, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[63, 255, 255, 255], &[64, 255, 255, 255]),
(&[209, 3, 0, 64], &[85, 85, 85, 0], &[133, 86, 85, 21], &[134, 86, 85, 21]),
(&[209, 3, 0, 64], &[171, 170, 170, 255], &[122, 169, 170, 234], &[123, 169, 170, 234]),
(&[209, 3, 0, 64], &[1, 0, 0, 1], &[17, 4, 0, 64], &[18, 4, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 255, 254], &[238, 251, 255, 191], &[239, 251, 255, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[63, 255, 255, 255], &[64, 255, 255, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[192, 0, 0, 0], &[193, 0, 0, 0]),
(&[47, 252, 255, 191], &[85, 85, 85, 0], &[122, 169, 170, 234], &[123, 169, 170, 234]),
(&[47, 252, 255, 191], &[171, 170, 170, 255], &[133, 86, 85, 21], &[134, 86, 85, 21]),
(&[47, 252, 255, 191], &[1, 0, 0, 1], &[238, 251, 255, 191], &[239, 251, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 255, 254], &[17, 4, 0, 64], &[18, 4, 0, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 1], &[0, 0, 0, 1]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 0, 0, 255], &[0, 0, 0, 255]),
(&[3, 0, 0, 0], &[85, 85, 85, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 170, 170, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 0, 0, 1], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 254], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 128, 5], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 248], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 0, 0, 255], &[0, 0, 0, 255]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 1], &[0, 0, 0, 1]),
(&[253, 255, 255, 255], &[85, 85, 85, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[171, 170, 170, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 0, 1], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 255, 254], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 128, 5], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 255, 255, 248], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 85, 85, 0], &[85, 85, 85, 0], &[0, 0, 0, 1], &[0, 0, 0, 1]),
(&[85, 85, 85, 0], &[171, 170, 170, 255], &[0, 0, 0, 255], &[0, 0, 0, 255]),
(&[85, 85, 85, 0], &[1, 0, 0, 1], &[84, 85, 85, 0], &[85, 85, 85, 0]),
(&[85, 85, 85, 0], &[255, 255, 255, 254], &[171, 170, 170, 255], &[172, 170, 170, 255]),
(&[85, 85, 85, 0], &[0, 0, 128, 5], &[224, 131, 15, 0], &[225, 131, 15, 0]),
(&[85, 85, 85, 0], &[255, 255, 255, 248], &[61, 207, 243, 255], &[62, 207, 243, 255]),
(&[85, 85, 85, 0], &[209, 3, 0, 64], &[85, 85, 1, 0], &[86, 85, 1, 0]),
(&[85, 85, 85, 0], &[47, 252, 255, 191], &[170, 170, 254, 255], &[171, 170, 254, 255]),
(&[171, 170, 170, 255], &[85, 85, 85, 0], &[0, 0, 0, 255], &[0, 0, 0, 255]),
(&[171, 170, 170, 255], &[171, 170, 170, 255], &[0, 0, 0, 1], &[0, 0, 0, 1]),
(&[171, 170, 170, 255], &[1, 0, 0, 1], &[171, 170, 170, 255], &[172, 170, 170, 255]),
(&[171, 170, 170, 255], &[255, 255, 255, 254], &[84, 85, 85, 0], &[85, 85, 85, 0]),
(&[171, 170, 170, 255], &[0, 0, 128, 5], &[31, 124, 240, 255], &[32, 124, 240, 255]),
(&[171, 170, 170, 255], &[255, 255, 255, 248], &[194, 48, 12, 0], &[195, 48, 12, 0]),
(&[171, 170, 170, 255], &[209, 3, 0, 64], &[170, 170, 254, 255], &[171, 170, 254, 255]),
(&[171, 170, 170, 255], &[47, 252, 255, 191], &[85, 85, 1, 0], &[86, 85, 1, 0]),
(&[1, 0, 0, 1], &[85, 85, 85, 0], &[6, 0, 0, 3], &[7, 0, 0, 3]),
(&[1, 0, 0, 1], &[171, 170, 170, 255], &[249, 255, 255, 252], &[250, 255, 255, 252]),
(&[1, 0, 0, 1], &[1, 0, 0, 1], &[0, 0, 0, 1], &[0, 0, 0, 1]),
(&[1, 0, 0, 1], &[255, 255, 255, 254], &[0, 0, 0, 255], &[0, 0, 0, 255]),
(&[1, 0, 0, 1], &[0, 0, 128, 5], &[163, 139, 46, 0], &[164, 139, 46, 0]),
(&[1, 0, 0, 1], &[255, 255, 255, 248], &[182, 109, 219, 255], &[183, 109, 219, 255]),
(&[1, 0, 0, 1], &[209, 3, 0, 64], &[255, 255, 3, 0], &[0, 0, 4, 0]),
(&[1, 0, 0, 1], &[47, 252, 255, 191], &[0, 0, 252, 255], &[1, 0, 252, 255]),
(&[255, 255, 255, 254], &[85, 85, 85, 0], &[249, 255, 255, 252], &[250, 255, 255, 252]),
(&[255, 255, 255, 254], &[171, 170, 170, 255], &[6, 0, 0, 3], &[7, 0, 0, 3]),
(&[255, 255, 255, 254], &[1, 0, 0, 1], &[0, 0, 0, 255], &[0, 0, 0, 255]),
(&[255, 255, 255, 254], &[255, 255, 255, 254], &[0, 0, 0, 1], &[0, 0, 0, 1]),
(&[255, 255, 255, 254], &[0, 0, 128, 5], &[92, 116, 209, 255], &[93, 116, 209, 255]),
(&[255, 255, 255, 254], &[255, 255, 255, 248], &[73, 146, 36, 0], &[74, 146, 36, 0]),
(&[255, 255, 255, 254], &[209, 3, 0, 64], &[0, 0, 252, 255], &[1, 0, 252, 255]),
(&[255, 255, 255, 254], &[47, 252, 255, 191], &[255, 255, 3, 0], &[0, 0, 4, 0]),
(&[0, 0, 128, 5], &[85, 85, 85, 0], &[16, 0, 128, 16], &[17, 0, 128, 16]),
(&[0, 0, 128, 5], &[171, 170, 170, 255], &[239, 255, 127, 239], &[240, 255, 127, 239]),
(&[0, 0, 128, 5], &[1, 0, 0, 1], &[250, 255, 127, 5], &[251, 255, 127, 5]),
(&[0, 0, 128, 5], &[255, 255, 255, 254], &[5, 0, 128, 250], &[6, 0, 128, 250]),
(&[0, 0, 128, 5], &[0, 0, 128, 5], &[0, 0, 0, 1], &[0, 0, 0, 1]),
(&[0, 0, 128, 5], &[255, 255, 255, 248], &[109, 219, 54, 255], &[110, 219, 54, 255]),
(&[0, 0, 128, 5], &[209, 3, 0, 64], &[254, 255, 21, 0], &[255, 255, 21, 0]),
(&[0, 0, 128, 5], &[47, 252, 255, 191], &[1, 0, 234, 255], &[2, 0, 234, 255]),
(&[255, 255, 255, 248], &[85, 85, 85, 0], &[231, 255, 255, 234], &[232, 255, 255, 234]),
(&[255, 255, 255, 248], &[171, 170, 170, 255], &[24, 0, 0, 21], &[25, 0, 0, 21]),
(&[255, 255, 255, 248], &[1, 0, 0, 1], &[5, 0, 0, 249], &[6, 0, 0, 249]),
(&[255, 255, 255, 248], &[255, 255, 255, 254], &[250, 255, 255, 6], &[251, 255, 255, 6]),
(&[255, 255, 255, 248], &[0, 0, 128, 5], &[139, 46, 186, 254], &[140, 46, 186, 254]),
(&[255, 255, 255, 248], &[255, 255, 255, 248], &[0, 0, 0, 1], &[0, 0, 0, 1]),
(&[255, 255, 255, 248], &[209, 3, 0, 64], &[1, 0, 228, 255], &[2, 0, 228, 255]),
(&[255, 255, 255, 248], &[47, 252, 255, 191], &[254, 255, 27, 0], &[255, 255, 27, 0]),
(&[209, 3, 0, 64], &[1, 0, 0, 1], &[144, 3, 0, 64], &[145, 3, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 255, 254], &[111, 252, 255, 191], &[112, 252, 255, 191]),
(&[209, 3, 0, 64], &[0, 0, 128, 5], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[255, 255, 255, 248], &[44, 109, 219, 246], &[45, 109, 219, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 0, 0, 1], &[0, 0, 0, 1]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 0, 0, 255], &[0, 0, 0, 255]),
(&[47, 252, 255, 191], &[1, 0, 0, 1], &[111, 252, 255, 191], &[112, 252, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 255, 254], &[144, 3, 0, 64], &[145, 3, 0, 64]),
(&[47, 252, 255, 191], &[0, 0, 128, 5], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[255, 255, 255, 248], &[211, 146, 36, 9], &[212, 146, 36, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 0, 0, 255], &[0, 0, 0, 255]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 0, 0, 1], &[0, 0, 0, 1]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[176, 153, 228, 1], &[177, 153, 228, 1]),
(50, &[116, 53, 193, 2], &[117, 53, 193, 2]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 0, 128, 0]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 0, 128, 0]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 0, 128, 0], &[0, 0, 128, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 0, 128, 0], &[0, 0, 128, 0]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[0, 0, 128, 0], &[0, 0, 64, 255], &[0, 0, 160, 0]], &[&[0, 0, 0, 1], &[0, 0, 64, 0], &[0, 0, 224, 255], &[0, 0, 64, 0], &[0, 0, 0, 2], &[0, 0, 16, 0], &[0, 0, 224, 255], &[0, 0, 16, 0], &[0, 0, 128, 0]], &[0, 0, 63, 1], &[0, 0, 63, 1], &[0, 0, 63, 1]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[47, 252, 255, 0], &[246, 203, 255, 0]], &[&[47, 252, 255, 0], &[15, 84, 85, 0], &[111, 50, 51, 0], &[46, 252, 255, 0]], &[104, 241, 135, 2], &[105, 241, 135, 2], &[104, 241, 135, 2]),
(2, &[&[209, 3, 0, 255], &[10, 52, 0, 255]], &[&[47, 252, 255, 0], &[15, 84, 85, 0], &[111, 50, 51, 0], &[46, 252, 255, 0]], &[104, 241, 135, 2], &[105, 241, 135, 2], &[104, 241, 135, 2]),
(2, &[&[47, 252, 255, 0], &[246, 203, 255, 0]], &[&[209, 3, 0, 255], &[241, 171, 170, 255], &[145, 205, 204, 255], &[210, 3, 0, 255]], &[151, 14, 120, 253], &[152, 14, 120, 253], &[152, 14, 120, 253]),
(2, &[&[209, 3, 0, 255], &[10, 52, 0, 255]], &[&[209, 3, 0, 255], &[241, 171, 170, 255], &[145, 205, 204, 255], &[210, 3, 0, 255]], &[151, 14, 120, 253], &[152, 14, 120, 253], &[152, 14, 120, 253]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f25 {
pub const FRAC_BITS: u32 = 25;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[160, 22, 0, 0], &[161, 22, 0, 0]),
(&[2, 0, 0, 0], &[0, 32, 0, 0], &[0, 32, 0, 0]),
(&[3, 0, 0, 0], &[49, 39, 0, 0], &[50, 39, 0, 0]),
(&[0, 0, 0, 2], &[0, 0, 0, 2], &[0, 0, 0, 2]),
(&[0, 0, 0, 4], &[204, 19, 212, 2], &[205, 19, 212, 2]),
(&[0, 0, 0, 8], &[0, 0, 0, 4], &[0, 0, 0, 4]),
(&[0, 0, 0, 1], &[230, 9, 106, 1], &[231, 9, 106, 1]),
(&[1, 0, 128, 0], &[0, 0, 0, 1], &[1, 0, 0, 1]),
(&[57, 48, 0, 64], &[118, 83, 80, 11], &[119, 83, 80, 11]),
(&[255, 255, 255, 127], &[255, 255, 255, 15], &[0, 0, 0, 16]),
(&[146, 36, 73, 6], &[209, 173, 139, 3], &[210, 173, 139, 3]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[170, 170, 170, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 85, 85, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 0, 0, 2], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 253], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 0, 11], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 241], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[96, 0, 0, 0], &[97, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[159, 255, 255, 255], &[160, 255, 255, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[170, 170, 170, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[86, 85, 85, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 0, 2], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 255, 253], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 0, 11], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 255, 241], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[159, 255, 255, 255], &[160, 255, 255, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[96, 0, 0, 0], &[97, 0, 0, 0]),
(&[170, 170, 170, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 170, 170, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[170, 170, 170, 0], &[170, 170, 170, 0], &[141, 227, 56, 0], &[142, 227, 56, 0]),
(&[170, 170, 170, 0], &[86, 85, 85, 255], &[114, 28, 199, 255], &[115, 28, 199, 255]),
(&[170, 170, 170, 0], &[1, 0, 0, 2], &[170, 170, 170, 0], &[171, 170, 170, 0]),
(&[170, 170, 170, 0], &[255, 255, 255, 253], &[85, 85, 85, 255], &[86, 85, 85, 255]),
(&[170, 170, 170, 0], &[0, 0, 0, 11], &[167, 170, 170, 3], &[167, 170, 170, 3]),
(&[170, 170, 170, 0], &[255, 255, 255, 241], &[89, 85, 85, 251], &[90, 85, 85, 251]),
(&[170, 170, 170, 0], &[209, 3, 0, 64], &[133, 86, 85, 21], &[134, 86, 85, 21]),
(&[170, 170, 170, 0], &[47, 252, 255, 191], &[122, 169, 170, 234], &[123, 169, 170, 234]),
(&[86, 85, 85, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[86, 85, 85, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[86, 85, 85, 255], &[170, 170, 170, 0], &[114, 28, 199, 255], &[115, 28, 199, 255]),
(&[86, 85, 85, 255], &[86, 85, 85, 255], &[141, 227, 56, 0], &[142, 227, 56, 0]),
(&[86, 85, 85, 255], &[1, 0, 0, 2], &[85, 85, 85, 255], &[86, 85, 85, 255]),
(&[86, 85, 85, 255], &[255, 255, 255, 253], &[170, 170, 170, 0], &[171, 170, 170, 0]),
(&[86, 85, 85, 255], &[0, 0, 0, 11], &[89, 85, 85, 252], &[89, 85, 85, 252]),
(&[86, 85, 85, 255], &[255, 255, 255, 241], &[166, 170, 170, 4], &[167, 170, 170, 4]),
(&[86, 85, 85, 255], &[209, 3, 0, 64], &[122, 169, 170, 234], &[123, 169, 170, 234]),
(&[86, 85, 85, 255], &[47, 252, 255, 191], &[133, 86, 85, 21], &[134, 86, 85, 21]),
(&[1, 0, 0, 2], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 0, 0, 2], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 0, 0, 2], &[170, 170, 170, 0], &[170, 170, 170, 0], &[171, 170, 170, 0]),
(&[1, 0, 0, 2], &[86, 85, 85, 255], &[85, 85, 85, 255], &[86, 85, 85, 255]),
(&[1, 0, 0, 2], &[1, 0, 0, 2], &[2, 0, 0, 2], &[3, 0, 0, 2]),
(&[1, 0, 0, 2], &[255, 255, 255, 253], &[253, 255, 255, 253], &[254, 255, 255, 253]),
(&[1, 0, 0, 2], &[0, 0, 0, 11], &[5, 0, 0, 11], &[6, 0, 0, 11]),
(&[1, 0, 0, 2], &[255, 255, 255, 241], &[247, 255, 255, 241], &[248, 255, 255, 241]),
(&[1, 0, 0, 2], &[209, 3, 0, 64], &[241, 3, 0, 64], &[242, 3, 0, 64]),
(&[1, 0, 0, 2], &[47, 252, 255, 191], &[14, 252, 255, 191], &[15, 252, 255, 191]),
(&[255, 255, 255, 253], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 255, 255, 253], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 255, 255, 253], &[170, 170, 170, 0], &[85, 85, 85, 255], &[86, 85, 85, 255]),
(&[255, 255, 255, 253], &[86, 85, 85, 255], &[170, 170, 170, 0], &[171, 170, 170, 0]),
(&[255, 255, 255, 253], &[1, 0, 0, 2], &[253, 255, 255, 253], &[254, 255, 255, 253]),
(&[255, 255, 255, 253], &[255, 255, 255, 253], &[2, 0, 0, 2], &[3, 0, 0, 2]),
(&[255, 255, 255, 253], &[0, 0, 0, 11], &[250, 255, 255, 244], &[251, 255, 255, 244]),
(&[255, 255, 255, 253], &[255, 255, 255, 241], &[8, 0, 0, 14], &[9, 0, 0, 14]),
(&[255, 255, 255, 253], &[209, 3, 0, 64], &[14, 252, 255, 191], &[15, 252, 255, 191]),
(&[255, 255, 255, 253], &[47, 252, 255, 191], &[241, 3, 0, 64], &[242, 3, 0, 64]),
(&[0, 0, 0, 11], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[0, 0, 0, 11], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[0, 0, 0, 11], &[170, 170, 170, 0], &[167, 170, 170, 3], &[167, 170, 170, 3]),
(&[0, 0, 0, 11], &[86, 85, 85, 255], &[89, 85, 85, 252], &[89, 85, 85, 252]),
(&[0, 0, 0, 11], &[1, 0, 0, 2], &[5, 0, 0, 11], &[6, 0, 0, 11]),
(&[0, 0, 0, 11], &[255, 255, 255, 253], &[250, 255, 255, 244], &[251, 255, 255, 244]),
(&[0, 0, 0, 11], &[0, 0, 0, 11], &[0, 0, 128, 60], &[0, 0, 128, 60]),
(&[0, 0, 0, 11], &[255, 255, 255, 241], &[250, 255, 255, 178], &[251, 255, 255, 178]),
(&[255, 255, 255, 241], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 255, 255, 241], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[255, 255, 255, 241], &[170, 170, 170, 0], &[89, 85, 85, 251], &[90, 85, 85, 251]),
(&[255, 255, 255, 241], &[86, 85, 85, 255], &[166, 170, 170, 4], &[167, 170, 170, 4]),
(&[255, 255, 255, 241], &[1, 0, 0, 2], &[247, 255, 255, 241], &[248, 255, 255, 241]),
(&[255, 255, 255, 241], &[255, 255, 255, 253], &[8, 0, 0, 14], &[9, 0, 0, 14]),
(&[255, 255, 255, 241], &[0, 0, 0, 11], &[250, 255, 255, 178], &[251, 255, 255, 178]),
(&[255, 255, 255, 241], &[255, 255, 255, 241], &[14, 0, 0, 98], &[15, 0, 0, 98]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[96, 0, 0, 0], &[97, 0, 0, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[159, 255, 255, 255], &[160, 255, 255, 255]),
(&[209, 3, 0, 64], &[170, 170, 170, 0], &[133, 86, 85, 21], &[134, 86, 85, 21]),
(&[209, 3, 0, 64], &[86, 85, 85, 255], &[122, 169, 170, 234], &[123, 169, 170, 234]),
(&[209, 3, 0, 64], &[1, 0, 0, 2], &[241, 3, 0, 64], &[242, 3, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 255, 253], &[14, 252, 255, 191], &[15, 252, 255, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[159, 255, 255, 255], &[160, 255, 255, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[96, 0, 0, 0], &[97, 0, 0, 0]),
(&[47, 252, 255, 191], &[170, 170, 170, 0], &[122, 169, 170, 234], &[123, 169, 170, 234]),
(&[47, 252, 255, 191], &[86, 85, 85, 255], &[133, 86, 85, 21], &[134, 86, 85, 21]),
(&[47, 252, 255, 191], &[1, 0, 0, 2], &[14, 252, 255, 191], &[15, 252, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 255, 253], &[241, 3, 0, 64], &[242, 3, 0, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 2], &[0, 0, 0, 2]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 0, 0, 254], &[0, 0, 0, 254]),
(&[3, 0, 0, 0], &[170, 170, 170, 0], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 85, 85, 255], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 0, 0, 2], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 253], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 0, 11], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 241], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 0, 0, 254], &[0, 0, 0, 254]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 2], &[0, 0, 0, 2]),
(&[253, 255, 255, 255], &[170, 170, 170, 0], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[86, 85, 85, 255], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 0, 2], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 255, 253], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 0, 11], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 255, 255, 241], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 170, 170, 0], &[170, 170, 170, 0], &[0, 0, 0, 2], &[0, 0, 0, 2]),
(&[170, 170, 170, 0], &[86, 85, 85, 255], &[0, 0, 0, 254], &[0, 0, 0, 254]),
(&[170, 170, 170, 0], &[1, 0, 0, 2], &[169, 170, 170, 0], &[170, 170, 170, 0]),
(&[170, 170, 170, 0], &[255, 255, 255, 253], &[86, 85, 85, 255], &[87, 85, 85, 255]),
(&[170, 170, 170, 0], &[0, 0, 0, 11], &[193, 7, 31, 0], &[194, 7, 31, 0]),
(&[170, 170, 170, 0], &[255, 255, 255, 241], &[122, 158, 231, 255], &[123, 158, 231, 255]),
(&[170, 170, 170, 0], &[209, 3, 0, 64], &[84, 85, 5, 0], &[85, 85, 5, 0]),
(&[170, 170, 170, 0], &[47, 252, 255, 191], &[171, 170, 250, 255], &[172, 170, 250, 255]),
(&[86, 85, 85, 255], &[170, 170, 170, 0], &[0, 0, 0, 254], &[0, 0, 0, 254]),
(&[86, 85, 85, 255], &[86, 85, 85, 255], &[0, 0, 0, 2], &[0, 0, 0, 2]),
(&[86, 85, 85, 255], &[1, 0, 0, 2], &[86, 85, 85, 255], &[87, 85, 85, 255]),
(&[86, 85, 85, 255], &[255, 255, 255, 253], &[169, 170, 170, 0], &[170, 170, 170, 0]),
(&[86, 85, 85, 255], &[0, 0, 0, 11], &[62, 248, 224, 255], &[63, 248, 224, 255]),
(&[86, 85, 85, 255], &[255, 255, 255, 241], &[133, 97, 24, 0], &[134, 97, 24, 0]),
(&[86, 85, 85, 255], &[209, 3, 0, 64], &[171, 170, 250, 255], &[172, 170, 250, 255]),
(&[86, 85, 85, 255], &[47, 252, 255, 191], &[84, 85, 5, 0], &[85, 85, 5, 0]),
(&[1, 0, 0, 2], &[170, 170, 170, 0], &[9, 0, 0, 6], &[10, 0, 0, 6]),
(&[1, 0, 0, 2], &[86, 85, 85, 255], &[246, 255, 255, 249], &[247, 255, 255, 249]),
(&[1, 0, 0, 2], &[1, 0, 0, 2], &[0, 0, 0, 2], &[0, 0, 0, 2]),
(&[1, 0, 0, 2], &[255, 255, 255, 253], &[0, 0, 0, 254], &[0, 0, 0, 254]),
(&[1, 0, 0, 2], &[0, 0, 0, 11], &[70, 23, 93, 0], &[70, 23, 93, 0]),
(&[1, 0, 0, 2], &[255, 255, 255, 241], &[109, 219, 182, 255], &[110, 219, 182, 255]),
(&[1, 0, 0, 2], &[209, 3, 0, 64], &[255, 255, 15, 0], &[0, 0, 16, 0]),
(&[1, 0, 0, 2], &[47, 252, 255, 191], &[0, 0, 240, 255], &[1, 0, 240, 255]),
(&[255, 255, 255, 253], &[170, 170, 170, 0], &[246, 255, 255, 249], &[247, 255, 255, 249]),
(&[255, 255, 255, 253], &[86, 85, 85, 255], &[9, 0, 0, 6], &[10, 0, 0, 6]),
(&[255, 255, 255, 253], &[1, 0, 0, 2], &[0, 0, 0, 254], &[0, 0, 0, 254]),
(&[255, 255, 255, 253], &[255, 255, 255, 253], &[0, 0, 0, 2], &[0, 0, 0, 2]),
(&[255, 255, 255, 253], &[0, 0, 0, 11], &[186, 232, 162, 255], &[186, 232, 162, 255]),
(&[255, 255, 255, 253], &[255, 255, 255, 241], &[146, 36, 73, 0], &[147, 36, 73, 0]),
(&[255, 255, 255, 253], &[209, 3, 0, 64], &[0, 0, 240, 255], &[1, 0, 240, 255]),
(&[255, 255, 255, 253], &[47, 252, 255, 191], &[255, 255, 15, 0], &[0, 0, 16, 0]),
(&[0, 0, 0, 11], &[170, 170, 170, 0], &[33, 0, 0, 33], &[34, 0, 0, 33]),
(&[0, 0, 0, 11], &[86, 85, 85, 255], &[222, 255, 255, 222], &[223, 255, 255, 222]),
(&[0, 0, 0, 11], &[1, 0, 0, 2], &[250, 255, 255, 10], &[251, 255, 255, 10]),
(&[0, 0, 0, 11], &[255, 255, 255, 253], &[5, 0, 0, 245], &[6, 0, 0, 245]),
(&[0, 0, 0, 11], &[0, 0, 0, 11], &[0, 0, 0, 2], &[0, 0, 0, 2]),
(&[0, 0, 0, 11], &[255, 255, 255, 241], &[219, 182, 109, 254], &[220, 182, 109, 254]),
(&[0, 0, 0, 11], &[209, 3, 0, 64], &[250, 255, 87, 0], &[251, 255, 87, 0]),
(&[0, 0, 0, 11], &[47, 252, 255, 191], &[5, 0, 168, 255], &[6, 0, 168, 255]),
(&[255, 255, 255, 241], &[170, 170, 170, 0], &[210, 255, 255, 213], &[211, 255, 255, 213]),
(&[255, 255, 255, 241], &[86, 85, 85, 255], &[45, 0, 0, 42], &[46, 0, 0, 42]),
(&[255, 255, 255, 241], &[1, 0, 0, 2], &[5, 0, 0, 242], &[6, 0, 0, 242]),
(&[255, 255, 255, 241], &[255, 255, 255, 253], &[250, 255, 255, 13], &[251, 255, 255, 13]),
(&[255, 255, 255, 241], &[0, 0, 0, 11], &[23, 93, 116, 253], &[24, 93, 116, 253]),
(&[255, 255, 255, 241], &[255, 255, 255, 241], &[0, 0, 0, 2], &[0, 0, 0, 2]),
(&[255, 255, 255, 241], &[209, 3, 0, 64], &[6, 0, 144, 255], &[7, 0, 144, 255]),
(&[255, 255, 255, 241], &[47, 252, 255, 191], &[249, 255, 111, 0], &[250, 255, 111, 0]),
(&[209, 3, 0, 64], &[1, 0, 0, 2], &[176, 3, 0, 64], &[177, 3, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 255, 253], &[79, 252, 255, 191], &[80, 252, 255, 191]),
(&[209, 3, 0, 64], &[0, 0, 0, 11], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[255, 255, 255, 241], &[43, 109, 219, 246], &[44, 109, 219, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 0, 0, 2], &[0, 0, 0, 2]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 0, 0, 254], &[0, 0, 0, 254]),
(&[47, 252, 255, 191], &[1, 0, 0, 2], &[79, 252, 255, 191], &[80, 252, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 255, 253], &[176, 3, 0, 64], &[177, 3, 0, 64]),
(&[47, 252, 255, 191], &[0, 0, 0, 11], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[255, 255, 255, 241], &[212, 146, 36, 9], &[213, 146, 36, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 0, 0, 254], &[0, 0, 0, 254]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 0, 0, 2], &[0, 0, 0, 2]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[97, 51, 201, 3], &[98, 51, 201, 3]),
(50, &[232, 106, 130, 5], &[233, 106, 130, 5]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 0, 0, 1]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 0, 0, 1]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 0, 0, 1], &[0, 0, 0, 1]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 0, 0, 1], &[0, 0, 0, 1]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[0, 0, 0, 1], &[0, 0, 128, 254], &[0, 0, 64, 1]], &[&[0, 0, 0, 2], &[0, 0, 128, 0], &[0, 0, 192, 255], &[0, 0, 128, 0], &[0, 0, 0, 4], &[0, 0, 32, 0], &[0, 0, 192, 255], &[0, 0, 32, 0], &[0, 0, 0, 1]], &[0, 0, 126, 2], &[0, 0, 126, 2], &[0, 0, 126, 2]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[47, 252, 255, 1], &[246, 203, 255, 1]], &[&[47, 252, 255, 1], &[101, 169, 170, 0], &[163, 101, 102, 0], &[46, 252, 255, 1]], &[235, 121, 16, 5], &[236, 121, 16, 5], &[235, 121, 16, 5]),
(2, &[&[209, 3, 0, 254], &[10, 52, 0, 254]], &[&[47, 252, 255, 1], &[101, 169, 170, 0], &[163, 101, 102, 0], &[46, 252, 255, 1]], &[235, 121, 16, 5], &[236, 121, 16, 5], &[235, 121, 16, 5]),
(2, &[&[47, 252, 255, 1], &[246, 203, 255, 1]], &[&[209, 3, 0, 254], &[155, 86, 85, 255], &[93, 154, 153, 255], &[210, 3, 0, 254]], &[20, 134, 239, 250], &[21, 134, 239, 250], &[21, 134, 239, 250]),
(2, &[&[209, 3, 0, 254], &[10, 52, 0, 254]], &[&[209, 3, 0, 254], &[155, 86, 85, 255], &[93, 154, 153, 255], &[210, 3, 0, 254]], &[20, 134, 239, 250], &[21, 134, 239, 250], &[21, 134, 239, 250]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f26 {
pub const FRAC_BITS: u32 = 26;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[0, 32, 0, 0], &[0, 32, 0, 0]),
(&[2, 0, 0, 0], &[65, 45, 0, 0], &[66, 45, 0, 0]),
(&[3, 0, 0, 0], &[108, 55, 0, 0], &[109, 55, 0, 0]),
(&[0, 0, 0, 4], &[0, 0, 0, 4], &[0, 0, 0, 4]),
(&[0, 0, 0, 8], &[153, 39, 168, 5], &[154, 39, 168, 5]),
(&[0, 0, 0, 16], &[0, 0, 0, 8], &[0, 0, 0, 8]),
(&[0, 0, 0, 2], &[204, 19, 212, 2], &[205, 19, 212, 2]),
(&[1, 0, 0, 1], &[0, 0, 0, 2], &[1, 0, 0, 2]),
(&[57, 48, 0, 64], &[7, 6, 0, 16], &[8, 6, 0, 16]),
(&[255, 255, 255, 127], &[102, 158, 160, 22], &[103, 158, 160, 22]),
(&[36, 73, 146, 12], &[163, 91, 23, 7], &[164, 91, 23, 7]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[85, 85, 85, 1], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 170, 170, 254], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 0, 0, 4], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 251], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 0, 22], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 227], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[48, 0, 0, 0], &[49, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[207, 255, 255, 255], &[208, 255, 255, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[85, 85, 85, 1], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[171, 170, 170, 254], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 0, 4], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 255, 251], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 0, 22], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 255, 227], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[207, 255, 255, 255], &[208, 255, 255, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[48, 0, 0, 0], &[49, 0, 0, 0]),
(&[85, 85, 85, 1], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 85, 85, 1], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[85, 85, 85, 1], &[85, 85, 85, 1], &[28, 199, 113, 0], &[29, 199, 113, 0]),
(&[85, 85, 85, 1], &[171, 170, 170, 254], &[227, 56, 142, 255], &[228, 56, 142, 255]),
(&[85, 85, 85, 1], &[1, 0, 0, 4], &[85, 85, 85, 1], &[86, 85, 85, 1]),
(&[85, 85, 85, 1], &[255, 255, 255, 251], &[170, 170, 170, 254], &[171, 170, 170, 254]),
(&[85, 85, 85, 1], &[0, 0, 0, 22], &[83, 85, 85, 7], &[84, 85, 85, 7]),
(&[85, 85, 85, 1], &[255, 255, 255, 227], &[172, 170, 170, 246], &[173, 170, 170, 246]),
(&[85, 85, 85, 1], &[209, 3, 0, 64], &[149, 86, 85, 21], &[150, 86, 85, 21]),
(&[85, 85, 85, 1], &[47, 252, 255, 191], &[106, 169, 170, 234], &[107, 169, 170, 234]),
(&[171, 170, 170, 254], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[171, 170, 170, 254], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[171, 170, 170, 254], &[85, 85, 85, 1], &[227, 56, 142, 255], &[228, 56, 142, 255]),
(&[171, 170, 170, 254], &[171, 170, 170, 254], &[28, 199, 113, 0], &[29, 199, 113, 0]),
(&[171, 170, 170, 254], &[1, 0, 0, 4], &[170, 170, 170, 254], &[171, 170, 170, 254]),
(&[171, 170, 170, 254], &[255, 255, 255, 251], &[85, 85, 85, 1], &[86, 85, 85, 1]),
(&[171, 170, 170, 254], &[0, 0, 0, 22], &[172, 170, 170, 248], &[173, 170, 170, 248]),
(&[171, 170, 170, 254], &[255, 255, 255, 227], &[83, 85, 85, 9], &[84, 85, 85, 9]),
(&[171, 170, 170, 254], &[209, 3, 0, 64], &[106, 169, 170, 234], &[107, 169, 170, 234]),
(&[171, 170, 170, 254], &[47, 252, 255, 191], &[149, 86, 85, 21], &[150, 86, 85, 21]),
(&[1, 0, 0, 4], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 0, 0, 4], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 0, 0, 4], &[85, 85, 85, 1], &[85, 85, 85, 1], &[86, 85, 85, 1]),
(&[1, 0, 0, 4], &[171, 170, 170, 254], &[170, 170, 170, 254], &[171, 170, 170, 254]),
(&[1, 0, 0, 4], &[1, 0, 0, 4], &[2, 0, 0, 4], &[3, 0, 0, 4]),
(&[1, 0, 0, 4], &[255, 255, 255, 251], &[253, 255, 255, 251], &[254, 255, 255, 251]),
(&[1, 0, 0, 4], &[0, 0, 0, 22], &[5, 0, 0, 22], &[6, 0, 0, 22]),
(&[1, 0, 0, 4], &[255, 255, 255, 227], &[247, 255, 255, 227], &[248, 255, 255, 227]),
(&[1, 0, 0, 4], &[209, 3, 0, 64], &[225, 3, 0, 64], &[226, 3, 0, 64]),
(&[1, 0, 0, 4], &[47, 252, 255, 191], &[30, 252, 255, 191], &[31, 252, 255, 191]),
(&[255, 255, 255, 251], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 255, 255, 251], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 255, 255, 251], &[85, 85, 85, 1], &[170, 170, 170, 254], &[171, 170, 170, 254]),
(&[255, 255, 255, 251], &[171, 170, 170, 254], &[85, 85, 85, 1], &[86, 85, 85, 1]),
(&[255, 255, 255, 251], &[1, 0, 0, 4], &[253, 255, 255, 251], &[254, 255, 255, 251]),
(&[255, 255, 255, 251], &[255, 255, 255, 251], &[2, 0, 0, 4], &[3, 0, 0, 4]),
(&[255, 255, 255, 251], &[0, 0, 0, 22], &[250, 255, 255, 233], &[251, 255, 255, 233]),
(&[255, 255, 255, 251], &[255, 255, 255, 227], &[8, 0, 0, 28], &[9, 0, 0, 28]),
(&[255, 255, 255, 251], &[209, 3, 0, 64], &[30, 252, 255, 191], &[31, 252, 255, 191]),
(&[255, 255, 255, 251], &[47, 252, 255, 191], &[225, 3, 0, 64], &[226, 3, 0, 64]),
(&[0, 0, 0, 22], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[0, 0, 0, 22], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[0, 0, 0, 22], &[85, 85, 85, 1], &[83, 85, 85, 7], &[84, 85, 85, 7]),
(&[0, 0, 0, 22], &[171, 170, 170, 254], &[172, 170, 170, 248], &[173, 170, 170, 248]),
(&[0, 0, 0, 22], &[1, 0, 0, 4], &[5, 0, 0, 22], &[6, 0, 0, 22]),
(&[0, 0, 0, 22], &[255, 255, 255, 251], &[250, 255, 255, 233], &[251, 255, 255, 233]),
(&[0, 0, 0, 22], &[0, 0, 0, 22], &[0, 0, 0, 121], &[0, 0, 0, 121]),
(&[255, 255, 255, 227], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 255, 255, 227], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[255, 255, 255, 227], &[85, 85, 85, 1], &[172, 170, 170, 246], &[173, 170, 170, 246]),
(&[255, 255, 255, 227], &[171, 170, 170, 254], &[83, 85, 85, 9], &[84, 85, 85, 9]),
(&[255, 255, 255, 227], &[1, 0, 0, 4], &[247, 255, 255, 227], &[248, 255, 255, 227]),
(&[255, 255, 255, 227], &[255, 255, 255, 251], &[8, 0, 0, 28], &[9, 0, 0, 28]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[48, 0, 0, 0], &[49, 0, 0, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[207, 255, 255, 255], &[208, 255, 255, 255]),
(&[209, 3, 0, 64], &[85, 85, 85, 1], &[149, 86, 85, 21], &[150, 86, 85, 21]),
(&[209, 3, 0, 64], &[171, 170, 170, 254], &[106, 169, 170, 234], &[107, 169, 170, 234]),
(&[209, 3, 0, 64], &[1, 0, 0, 4], &[225, 3, 0, 64], &[226, 3, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 255, 251], &[30, 252, 255, 191], &[31, 252, 255, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[207, 255, 255, 255], &[208, 255, 255, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[48, 0, 0, 0], &[49, 0, 0, 0]),
(&[47, 252, 255, 191], &[85, 85, 85, 1], &[106, 169, 170, 234], &[107, 169, 170, 234]),
(&[47, 252, 255, 191], &[171, 170, 170, 254], &[149, 86, 85, 21], &[150, 86, 85, 21]),
(&[47, 252, 255, 191], &[1, 0, 0, 4], &[30, 252, 255, 191], &[31, 252, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 255, 251], &[225, 3, 0, 64], &[226, 3, 0, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 4], &[0, 0, 0, 4]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 0, 0, 252], &[0, 0, 0, 252]),
(&[3, 0, 0, 0], &[85, 85, 85, 1], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 170, 170, 254], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 0, 0, 4], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 251], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 0, 22], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 227], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 0, 0, 252], &[0, 0, 0, 252]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 4], &[0, 0, 0, 4]),
(&[253, 255, 255, 255], &[85, 85, 85, 1], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[171, 170, 170, 254], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 0, 4], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 255, 251], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 0, 22], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 255, 255, 227], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 85, 85, 1], &[85, 85, 85, 1], &[0, 0, 0, 4], &[0, 0, 0, 4]),
(&[85, 85, 85, 1], &[171, 170, 170, 254], &[0, 0, 0, 252], &[0, 0, 0, 252]),
(&[85, 85, 85, 1], &[1, 0, 0, 4], &[84, 85, 85, 1], &[85, 85, 85, 1]),
(&[85, 85, 85, 1], &[255, 255, 255, 251], &[171, 170, 170, 254], &[172, 170, 170, 254]),
(&[85, 85, 85, 1], &[0, 0, 0, 22], &[131, 15, 62, 0], &[132, 15, 62, 0]),
(&[85, 85, 85, 1], &[255, 255, 255, 227], &[243, 60, 207, 255], &[244, 60, 207, 255]),
(&[85, 85, 85, 1], &[209, 3, 0, 64], &[84, 85, 21, 0], &[85, 85, 21, 0]),
(&[85, 85, 85, 1], &[47, 252, 255, 191], &[171, 170, 234, 255], &[172, 170, 234, 255]),
(&[171, 170, 170, 254], &[85, 85, 85, 1], &[0, 0, 0, 252], &[0, 0, 0, 252]),
(&[171, 170, 170, 254], &[171, 170, 170, 254], &[0, 0, 0, 4], &[0, 0, 0, 4]),
(&[171, 170, 170, 254], &[1, 0, 0, 4], &[171, 170, 170, 254], &[172, 170, 170, 254]),
(&[171, 170, 170, 254], &[255, 255, 255, 251], &[84, 85, 85, 1], &[85, 85, 85, 1]),
(&[171, 170, 170, 254], &[0, 0, 0, 22], &[124, 240, 193, 255], &[125, 240, 193, 255]),
(&[171, 170, 170, 254], &[255, 255, 255, 227], &[12, 195, 48, 0], &[13, 195, 48, 0]),
(&[171, 170, 170, 254], &[209, 3, 0, 64], &[171, 170, 234, 255], &[172, 170, 234, 255]),
(&[171, 170, 170, 254], &[47, 252, 255, 191], &[84, 85, 21, 0], &[85, 85, 21, 0]),
(&[1, 0, 0, 4], &[85, 85, 85, 1], &[6, 0, 0, 12], &[7, 0, 0, 12]),
(&[1, 0, 0, 4], &[171, 170, 170, 254], &[249, 255, 255, 243], &[250, 255, 255, 243]),
(&[1, 0, 0, 4], &[1, 0, 0, 4], &[0, 0, 0, 4], &[0, 0, 0, 4]),
(&[1, 0, 0, 4], &[255, 255, 255, 251], &[0, 0, 0, 252], &[0, 0, 0, 252]),
(&[1, 0, 0, 4], &[0, 0, 0, 22], &[139, 46, 186, 0], &[140, 46, 186, 0]),
(&[1, 0, 0, 4], &[255, 255, 255, 227], &[219, 182, 109, 255], &[220, 182, 109, 255]),
(&[1, 0, 0, 4], &[209, 3, 0, 64], &[252, 255, 63, 0], &[253, 255, 63, 0]),
(&[1, 0, 0, 4], &[47, 252, 255, 191], &[3, 0, 192, 255], &[4, 0, 192, 255]),
(&[255, 255, 255, 251], &[85, 85, 85, 1], &[249, 255, 255, 243], &[250, 255, 255, 243]),
(&[255, 255, 255, 251], &[171, 170, 170, 254], &[6, 0, 0, 12], &[7, 0, 0, 12]),
(&[255, 255, 255, 251], &[1, 0, 0, 4], &[0, 0, 0, 252], &[0, 0, 0, 252]),
(&[255, 255, 255, 251], &[255, 255, 255, 251], &[0, 0, 0, 4], &[0, 0, 0, 4]),
(&[255, 255, 255, 251], &[0, 0, 0, 22], &[116, 209, 69, 255], &[117, 209, 69, 255]),
(&[255, 255, 255, 251], &[255, 255, 255, 227], &[36, 73, 146, 0], &[37, 73, 146, 0]),
(&[255, 255, 255, 251], &[209, 3, 0, 64], &[3, 0, 192, 255], &[4, 0, 192, 255]),
(&[255, 255, 255, 251], &[47, 252, 255, 191], &[252, 255, 63, 0], &[253, 255, 63, 0]),
(&[0, 0, 0, 22], &[85, 85, 85, 1], &[16, 0, 0, 66], &[17, 0, 0, 66]),
(&[0, 0, 0, 22], &[171, 170, 170, 254], &[239, 255, 255, 189], &[240, 255, 255, 189]),
(&[0, 0, 0, 22], &[1, 0, 0, 4], &[250, 255, 255, 21], &[251, 255, 255, 21]),
(&[0, 0, 0, 22], &[255, 255, 255, 251], &[5, 0, 0, 234], &[6, 0, 0, 234]),
(&[0, 0, 0, 22], &[0, 0, 0, 22], &[0, 0, 0, 4], &[0, 0, 0, 4]),
(&[0, 0, 0, 22], &[255, 255, 255, 227], &[182, 109, 219, 252], &[183, 109, 219, 252]),
(&[0, 0, 0, 22], &[209, 3, 0, 64], &[235, 255, 95, 1], &[236, 255, 95, 1]),
(&[0, 0, 0, 22], &[47, 252, 255, 191], &[20, 0, 160, 254], &[21, 0, 160, 254]),
(&[255, 255, 255, 227], &[85, 85, 85, 1], &[231, 255, 255, 171], &[232, 255, 255, 171]),
(&[255, 255, 255, 227], &[171, 170, 170, 254], &[24, 0, 0, 84], &[25, 0, 0, 84]),
(&[255, 255, 255, 227], &[1, 0, 0, 4], &[5, 0, 0, 228], &[6, 0, 0, 228]),
(&[255, 255, 255, 227], &[255, 255, 255, 251], &[250, 255, 255, 27], &[251, 255, 255, 27]),
(&[255, 255, 255, 227], &[0, 0, 0, 22], &[46, 186, 232, 250], &[47, 186, 232, 250]),
(&[255, 255, 255, 227], &[255, 255, 255, 227], &[0, 0, 0, 4], &[0, 0, 0, 4]),
(&[255, 255, 255, 227], &[209, 3, 0, 64], &[26, 0, 64, 254], &[27, 0, 64, 254]),
(&[255, 255, 255, 227], &[47, 252, 255, 191], &[229, 255, 191, 1], &[230, 255, 191, 1]),
(&[209, 3, 0, 64], &[1, 0, 0, 4], &[192, 3, 0, 64], &[193, 3, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 255, 251], &[63, 252, 255, 191], &[64, 252, 255, 191]),
(&[209, 3, 0, 64], &[0, 0, 0, 22], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[255, 255, 255, 227], &[43, 109, 219, 246], &[44, 109, 219, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 0, 0, 4], &[0, 0, 0, 4]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 0, 0, 252], &[0, 0, 0, 252]),
(&[47, 252, 255, 191], &[1, 0, 0, 4], &[63, 252, 255, 191], &[64, 252, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 255, 251], &[192, 3, 0, 64], &[193, 3, 0, 64]),
(&[47, 252, 255, 191], &[0, 0, 0, 22], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[255, 255, 255, 227], &[212, 146, 36, 9], &[213, 146, 36, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 0, 0, 252], &[0, 0, 0, 252]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 0, 0, 4], &[0, 0, 0, 4]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[195, 102, 146, 7], &[196, 102, 146, 7]),
(50, &[208, 213, 4, 11], &[209, 213, 4, 11]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 0, 0, 2]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 0, 0, 2]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 0, 0, 2], &[0, 0, 0, 2]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 0, 0, 2], &[0, 0, 0, 2]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[0, 0, 0, 2], &[0, 0, 0, 253], &[0, 0, 128, 2]], &[&[0, 0, 0, 4], &[0, 0, 0, 1], &[0, 0, 128, 255], &[0, 0, 0, 1], &[0, 0, 0, 8], &[0, 0, 64, 0], &[0, 0, 128, 255], &[0, 0, 64, 0], &[0, 0, 0, 2]], &[0, 0, 252, 4], &[0, 0, 252, 4], &[0, 0, 252, 4]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[47, 252, 255, 1], &[246, 203, 255, 1]], &[&[47, 252, 255, 1], &[101, 169, 170, 0], &[163, 101, 102, 0], &[46, 252, 255, 1]], &[122, 30, 68, 1], &[123, 30, 68, 1], &[123, 30, 68, 1]),
(2, &[&[209, 3, 0, 254], &[10, 52, 0, 254]], &[&[47, 252, 255, 1], &[101, 169, 170, 0], &[163, 101, 102, 0], &[46, 252, 255, 1]], &[122, 30, 68, 1], &[123, 30, 68, 1], &[123, 30, 68, 1]),
(2, &[&[47, 252, 255, 1], &[246, 203, 255, 1]], &[&[209, 3, 0, 254], &[155, 86, 85, 255], &[93, 154, 153, 255], &[210, 3, 0, 254]], &[133, 225, 187, 254], &[134, 225, 187, 254], &[133, 225, 187, 254]),
(2, &[&[209, 3, 0, 254], &[10, 52, 0, 254]], &[&[209, 3, 0, 254], &[155, 86, 85, 255], &[93, 154, 153, 255], &[210, 3, 0, 254]], &[133, 225, 187, 254], &[134, 225, 187, 254], &[133, 225, 187, 254]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f27 {
pub const FRAC_BITS: u32 = 27;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[65, 45, 0, 0], &[66, 45, 0, 0]),
(&[2, 0, 0, 0], &[0, 64, 0, 0], &[0, 64, 0, 0]),
(&[3, 0, 0, 0], &[98, 78, 0, 0], &[99, 78, 0, 0]),
(&[0, 0, 0, 8], &[0, 0, 0, 8], &[0, 0, 0, 8]),
(&[0, 0, 0, 16], &[51, 79, 80, 11], &[52, 79, 80, 11]),
(&[0, 0, 0, 32], &[0, 0, 0, 16], &[0, 0, 0, 16]),
(&[0, 0, 0, 4], &[153, 39, 168, 5], &[154, 39, 168, 5]),
(&[1, 0, 0, 2], &[0, 0, 0, 4], &[1, 0, 0, 4]),
(&[57, 48, 0, 64], &[236, 166, 160, 22], &[237, 166, 160, 22]),
(&[255, 255, 255, 127], &[255, 255, 255, 31], &[0, 0, 0, 32]),
(&[73, 146, 36, 25], &[72, 183, 46, 14], &[73, 183, 46, 14]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[170, 170, 170, 2], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 85, 85, 253], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 0, 0, 8], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 247], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 0, 44], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 199], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[24, 0, 0, 0], &[25, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[231, 255, 255, 255], &[232, 255, 255, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[170, 170, 170, 2], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[86, 85, 85, 253], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 0, 8], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 255, 247], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 0, 44], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 255, 199], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[231, 255, 255, 255], &[232, 255, 255, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[24, 0, 0, 0], &[25, 0, 0, 0]),
(&[170, 170, 170, 2], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 170, 170, 2], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[170, 170, 170, 2], &[170, 170, 170, 2], &[56, 142, 227, 0], &[57, 142, 227, 0]),
(&[170, 170, 170, 2], &[86, 85, 85, 253], &[199, 113, 28, 255], &[200, 113, 28, 255]),
(&[170, 170, 170, 2], &[1, 0, 0, 8], &[170, 170, 170, 2], &[171, 170, 170, 2]),
(&[170, 170, 170, 2], &[255, 255, 255, 247], &[85, 85, 85, 253], &[86, 85, 85, 253]),
(&[170, 170, 170, 2], &[0, 0, 0, 44], &[167, 170, 170, 14], &[167, 170, 170, 14]),
(&[170, 170, 170, 2], &[255, 255, 255, 199], &[89, 85, 85, 237], &[90, 85, 85, 237]),
(&[170, 170, 170, 2], &[209, 3, 0, 64], &[149, 86, 85, 21], &[150, 86, 85, 21]),
(&[170, 170, 170, 2], &[47, 252, 255, 191], &[106, 169, 170, 234], &[107, 169, 170, 234]),
(&[86, 85, 85, 253], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[86, 85, 85, 253], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[86, 85, 85, 253], &[170, 170, 170, 2], &[199, 113, 28, 255], &[200, 113, 28, 255]),
(&[86, 85, 85, 253], &[86, 85, 85, 253], &[56, 142, 227, 0], &[57, 142, 227, 0]),
(&[86, 85, 85, 253], &[1, 0, 0, 8], &[85, 85, 85, 253], &[86, 85, 85, 253]),
(&[86, 85, 85, 253], &[255, 255, 255, 247], &[170, 170, 170, 2], &[171, 170, 170, 2]),
(&[86, 85, 85, 253], &[0, 0, 0, 44], &[89, 85, 85, 241], &[89, 85, 85, 241]),
(&[86, 85, 85, 253], &[255, 255, 255, 199], &[166, 170, 170, 18], &[167, 170, 170, 18]),
(&[86, 85, 85, 253], &[209, 3, 0, 64], &[106, 169, 170, 234], &[107, 169, 170, 234]),
(&[86, 85, 85, 253], &[47, 252, 255, 191], &[149, 86, 85, 21], &[150, 86, 85, 21]),
(&[1, 0, 0, 8], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 0, 0, 8], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 0, 0, 8], &[170, 170, 170, 2], &[170, 170, 170, 2], &[171, 170, 170, 2]),
(&[1, 0, 0, 8], &[86, 85, 85, 253], &[85, 85, 85, 253], &[86, 85, 85, 253]),
(&[1, 0, 0, 8], &[1, 0, 0, 8], &[2, 0, 0, 8], &[3, 0, 0, 8]),
(&[1, 0, 0, 8], &[255, 255, 255, 247], &[253, 255, 255, 247], &[254, 255, 255, 247]),
(&[1, 0, 0, 8], &[0, 0, 0, 44], &[5, 0, 0, 44], &[6, 0, 0, 44]),
(&[1, 0, 0, 8], &[255, 255, 255, 199], &[247, 255, 255, 199], &[248, 255, 255, 199]),
(&[1, 0, 0, 8], &[209, 3, 0, 64], &[217, 3, 0, 64], &[218, 3, 0, 64]),
(&[1, 0, 0, 8], &[47, 252, 255, 191], &[38, 252, 255, 191], &[39, 252, 255, 191]),
(&[255, 255, 255, 247], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 255, 255, 247], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 255, 255, 247], &[170, 170, 170, 2], &[85, 85, 85, 253], &[86, 85, 85, 253]),
(&[255, 255, 255, 247], &[86, 85, 85, 253], &[170, 170, 170, 2], &[171, 170, 170, 2]),
(&[255, 255, 255, 247], &[1, 0, 0, 8], &[253, 255, 255, 247], &[254, 255, 255, 247]),
(&[255, 255, 255, 247], &[255, 255, 255, 247], &[2, 0, 0, 8], &[3, 0, 0, 8]),
(&[255, 255, 255, 247], &[0, 0, 0, 44], &[250, 255, 255, 211], &[251, 255, 255, 211]),
(&[255, 255, 255, 247], &[255, 255, 255, 199], &[8, 0, 0, 56], &[9, 0, 0, 56]),
(&[255, 255, 255, 247], &[209, 3, 0, 64], &[38, 252, 255, 191], &[39, 252, 255, 191]),
(&[255, 255, 255, 247], &[47, 252, 255, 191], &[217, 3, 0, 64], &[218, 3, 0, 64]),
(&[0, 0, 0, 44], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[0, 0, 0, 44], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[0, 0, 0, 44], &[170, 170, 170, 2], &[167, 170, 170, 14], &[167, 170, 170, 14]),
(&[0, 0, 0, 44], &[86, 85, 85, 253], &[89, 85, 85, 241], &[89, 85, 85, 241]),
(&[0, 0, 0, 44], &[1, 0, 0, 8], &[5, 0, 0, 44], &[6, 0, 0, 44]),
(&[0, 0, 0, 44], &[255, 255, 255, 247], &[250, 255, 255, 211], &[251, 255, 255, 211]),
(&[255, 255, 255, 199], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 255, 255, 199], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[255, 255, 255, 199], &[170, 170, 170, 2], &[89, 85, 85, 237], &[90, 85, 85, 237]),
(&[255, 255, 255, 199], &[86, 85, 85, 253], &[166, 170, 170, 18], &[167, 170, 170, 18]),
(&[255, 255, 255, 199], &[1, 0, 0, 8], &[247, 255, 255, 199], &[248, 255, 255, 199]),
(&[255, 255, 255, 199], &[255, 255, 255, 247], &[8, 0, 0, 56], &[9, 0, 0, 56]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[24, 0, 0, 0], &[25, 0, 0, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[231, 255, 255, 255], &[232, 255, 255, 255]),
(&[209, 3, 0, 64], &[170, 170, 170, 2], &[149, 86, 85, 21], &[150, 86, 85, 21]),
(&[209, 3, 0, 64], &[86, 85, 85, 253], &[106, 169, 170, 234], &[107, 169, 170, 234]),
(&[209, 3, 0, 64], &[1, 0, 0, 8], &[217, 3, 0, 64], &[218, 3, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 255, 247], &[38, 252, 255, 191], &[39, 252, 255, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[231, 255, 255, 255], &[232, 255, 255, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[24, 0, 0, 0], &[25, 0, 0, 0]),
(&[47, 252, 255, 191], &[170, 170, 170, 2], &[106, 169, 170, 234], &[107, 169, 170, 234]),
(&[47, 252, 255, 191], &[86, 85, 85, 253], &[149, 86, 85, 21], &[150, 86, 85, 21]),
(&[47, 252, 255, 191], &[1, 0, 0, 8], &[38, 252, 255, 191], &[39, 252, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 255, 247], &[217, 3, 0, 64], &[218, 3, 0, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 8], &[0, 0, 0, 8]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 0, 0, 248], &[0, 0, 0, 248]),
(&[3, 0, 0, 0], &[170, 170, 170, 2], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 85, 85, 253], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 0, 0, 8], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 247], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 0, 44], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 199], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 0, 0, 248], &[0, 0, 0, 248]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 8], &[0, 0, 0, 8]),
(&[253, 255, 255, 255], &[170, 170, 170, 2], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[86, 85, 85, 253], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 0, 8], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 255, 247], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 0, 44], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 255, 255, 199], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 170, 170, 2], &[170, 170, 170, 2], &[0, 0, 0, 8], &[0, 0, 0, 8]),
(&[170, 170, 170, 2], &[86, 85, 85, 253], &[0, 0, 0, 248], &[0, 0, 0, 248]),
(&[170, 170, 170, 2], &[1, 0, 0, 8], &[169, 170, 170, 2], &[170, 170, 170, 2]),
(&[170, 170, 170, 2], &[255, 255, 255, 247], &[86, 85, 85, 253], &[87, 85, 85, 253]),
(&[170, 170, 170, 2], &[0, 0, 0, 44], &[7, 31, 124, 0], &[8, 31, 124, 0]),
(&[170, 170, 170, 2], &[255, 255, 255, 199], &[231, 121, 158, 255], &[232, 121, 158, 255]),
(&[170, 170, 170, 2], &[209, 3, 0, 64], &[80, 85, 85, 0], &[81, 85, 85, 0]),
(&[170, 170, 170, 2], &[47, 252, 255, 191], &[175, 170, 170, 255], &[176, 170, 170, 255]),
(&[86, 85, 85, 253], &[170, 170, 170, 2], &[0, 0, 0, 248], &[0, 0, 0, 248]),
(&[86, 85, 85, 253], &[86, 85, 85, 253], &[0, 0, 0, 8], &[0, 0, 0, 8]),
(&[86, 85, 85, 253], &[1, 0, 0, 8], &[86, 85, 85, 253], &[87, 85, 85, 253]),
(&[86, 85, 85, 253], &[255, 255, 255, 247], &[169, 170, 170, 2], &[170, 170, 170, 2]),
(&[86, 85, 85, 253], &[0, 0, 0, 44], &[248, 224, 131, 255], &[249, 224, 131, 255]),
(&[86, 85, 85, 253], &[255, 255, 255, 199], &[24, 134, 97, 0], &[25, 134, 97, 0]),
(&[86, 85, 85, 253], &[209, 3, 0, 64], &[175, 170, 170, 255], &[176, 170, 170, 255]),
(&[86, 85, 85, 253], &[47, 252, 255, 191], &[80, 85, 85, 0], &[81, 85, 85, 0]),
(&[1, 0, 0, 8], &[170, 170, 170, 2], &[9, 0, 0, 24], &[10, 0, 0, 24]),
(&[1, 0, 0, 8], &[86, 85, 85, 253], &[246, 255, 255, 231], &[247, 255, 255, 231]),
(&[1, 0, 0, 8], &[1, 0, 0, 8], &[0, 0, 0, 8], &[0, 0, 0, 8]),
(&[1, 0, 0, 8], &[255, 255, 255, 247], &[0, 0, 0, 248], &[0, 0, 0, 248]),
(&[1, 0, 0, 8], &[0, 0, 0, 44], &[23, 93, 116, 1], &[24, 93, 116, 1]),
(&[1, 0, 0, 8], &[255, 255, 255, 199], &[182, 109, 219, 254], &[183, 109, 219, 254]),
(&[1, 0, 0, 8], &[209, 3, 0, 64], &[240, 255, 255, 0], &[241, 255, 255, 0]),
(&[1, 0, 0, 8], &[47, 252, 255, 191], &[15, 0, 0, 255], &[16, 0, 0, 255]),
(&[255, 255, 255, 247], &[170, 170, 170, 2], &[246, 255, 255, 231], &[247, 255, 255, 231]),
(&[255, 255, 255, 247], &[86, 85, 85, 253], &[9, 0, 0, 24], &[10, 0, 0, 24]),
(&[255, 255, 255, 247], &[1, 0, 0, 8], &[0, 0, 0, 248], &[0, 0, 0, 248]),
(&[255, 255, 255, 247], &[255, 255, 255, 247], &[0, 0, 0, 8], &[0, 0, 0, 8]),
(&[255, 255, 255, 247], &[0, 0, 0, 44], &[232, 162, 139, 254], &[233, 162, 139, 254]),
(&[255, 255, 255, 247], &[255, 255, 255, 199], &[73, 146, 36, 1], &[74, 146, 36, 1]),
(&[255, 255, 255, 247], &[209, 3, 0, 64], &[15, 0, 0, 255], &[16, 0, 0, 255]),
(&[255, 255, 255, 247], &[47, 252, 255, 191], &[240, 255, 255, 0], &[241, 255, 255, 0]),
(&[0, 0, 0, 44], &[1, 0, 0, 8], &[250, 255, 255, 43], &[251, 255, 255, 43]),
(&[0, 0, 0, 44], &[255, 255, 255, 247], &[5, 0, 0, 212], &[6, 0, 0, 212]),
(&[0, 0, 0, 44], &[0, 0, 0, 44], &[0, 0, 0, 8], &[0, 0, 0, 8]),
(&[0, 0, 0, 44], &[255, 255, 255, 199], &[109, 219, 182, 249], &[110, 219, 182, 249]),
(&[0, 0, 0, 44], &[209, 3, 0, 64], &[172, 255, 127, 5], &[173, 255, 127, 5]),
(&[0, 0, 0, 44], &[47, 252, 255, 191], &[83, 0, 128, 250], &[84, 0, 128, 250]),
(&[255, 255, 255, 199], &[1, 0, 0, 8], &[5, 0, 0, 200], &[6, 0, 0, 200]),
(&[255, 255, 255, 199], &[255, 255, 255, 247], &[250, 255, 255, 55], &[251, 255, 255, 55]),
(&[255, 255, 255, 199], &[0, 0, 0, 44], &[92, 116, 209, 245], &[93, 116, 209, 245]),
(&[255, 255, 255, 199], &[255, 255, 255, 199], &[0, 0, 0, 8], &[0, 0, 0, 8]),
(&[255, 255, 255, 199], &[209, 3, 0, 64], &[106, 0, 0, 249], &[107, 0, 0, 249]),
(&[255, 255, 255, 199], &[47, 252, 255, 191], &[149, 255, 255, 6], &[150, 255, 255, 6]),
(&[209, 3, 0, 64], &[1, 0, 0, 8], &[200, 3, 0, 64], &[201, 3, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 255, 247], &[55, 252, 255, 191], &[56, 252, 255, 191]),
(&[209, 3, 0, 64], &[0, 0, 0, 44], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[255, 255, 255, 199], &[43, 109, 219, 246], &[44, 109, 219, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 0, 0, 8], &[0, 0, 0, 8]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 0, 0, 248], &[0, 0, 0, 248]),
(&[47, 252, 255, 191], &[1, 0, 0, 8], &[55, 252, 255, 191], &[56, 252, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 255, 247], &[200, 3, 0, 64], &[201, 3, 0, 64]),
(&[47, 252, 255, 191], &[0, 0, 0, 44], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[255, 255, 255, 199], &[212, 146, 36, 9], &[213, 146, 36, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 0, 0, 248], &[0, 0, 0, 248]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 0, 0, 8], &[0, 0, 0, 8]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[134, 205, 36, 15], &[135, 205, 36, 15]),
(50, &[161, 171, 9, 22], &[162, 171, 9, 22]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 0, 0, 4]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 0, 0, 4]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 0, 0, 4], &[0, 0, 0, 4]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 0, 0, 4], &[0, 0, 0, 4]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[0, 0, 0, 4], &[0, 0, 0, 250], &[0, 0, 0, 5]], &[&[0, 0, 0, 8], &[0, 0, 0, 2], &[0, 0, 0, 255], &[0, 0, 0, 2], &[0, 0, 0, 16], &[0, 0, 128, 0], &[0, 0, 0, 255], &[0, 0, 128, 0], &[0, 0, 0, 4]], &[0, 0, 248, 9], &[0, 0, 248, 9], &[0, 0, 248, 9]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[47, 252, 255, 3], &[246, 203, 255, 3]], &[&[47, 252, 255, 3], &[15, 84, 85, 1], &[9, 204, 204, 0], &[46, 252, 255, 3]], &[190, 98, 136, 2], &[191, 98, 136, 2], &[190, 98, 136, 2]),
(2, &[&[209, 3, 0, 252], &[10, 52, 0, 252]], &[&[47, 252, 255, 3], &[15, 84, 85, 1], &[9, 204, 204, 0], &[46, 252, 255, 3]], &[190, 98, 136, 2], &[191, 98, 136, 2], &[190, 98, 136, 2]),
(2, &[&[47, 252, 255, 3], &[246, 203, 255, 3]], &[&[209, 3, 0, 252], &[241, 171, 170, 254], &[247, 51, 51, 255], &[210, 3, 0, 252]], &[65, 157, 119, 253], &[66, 157, 119, 253], &[66, 157, 119, 253]),
(2, &[&[209, 3, 0, 252], &[10, 52, 0, 252]], &[&[209, 3, 0, 252], &[241, 171, 170, 254], &[247, 51, 51, 255], &[210, 3, 0, 252]], &[65, 157, 119, 253], &[66, 157, 119, 253], &[66, 157, 119, 253]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f28 {
pub const FRAC_BITS: u32 = 28;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[0, 64, 0, 0], &[0, 64, 0, 0]),
(&[2, 0, 0, 0], &[130, 90, 0, 0], &[131, 90, 0, 0]),
(&[3, 0, 0, 0], &[217, 110, 0, 0], &[218, 110, 0, 0]),
(&[0, 0, 0, 16], &[0, 0, 0, 16], &[0, 0, 0, 16]),
(&[0, 0, 0, 32], &[102, 158, 160, 22], &[103, 158, 160, 22]),
(&[0, 0, 0, 64], &[0, 0, 0, 32], &[0, 0, 0, 32]),
(&[0, 0, 0, 8], &[51, 79, 80, 11], &[52, 79, 80, 11]),
(&[1, 0, 0, 4], &[0, 0, 0, 8], &[1, 0, 0, 8]),
(&[57, 48, 0, 64], &[14, 12, 0, 32], &[15, 12, 0, 32]),
(&[255, 255, 255, 127], &[204, 60, 65, 45], &[205, 60, 65, 45]),
(&[146, 36, 73, 50], &[144, 110, 93, 28], &[145, 110, 93, 28]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[85, 85, 85, 5], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 170, 170, 250], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 0, 0, 16], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 239], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 0, 88], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 143], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[12, 0, 0, 0], &[13, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[243, 255, 255, 255], &[244, 255, 255, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[85, 85, 85, 5], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[171, 170, 170, 250], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 0, 16], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 255, 239], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 0, 88], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 255, 143], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[243, 255, 255, 255], &[244, 255, 255, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[12, 0, 0, 0], &[13, 0, 0, 0]),
(&[85, 85, 85, 5], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 85, 85, 5], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[85, 85, 85, 5], &[85, 85, 85, 5], &[113, 28, 199, 1], &[114, 28, 199, 1]),
(&[85, 85, 85, 5], &[171, 170, 170, 250], &[142, 227, 56, 254], &[143, 227, 56, 254]),
(&[85, 85, 85, 5], &[1, 0, 0, 16], &[85, 85, 85, 5], &[86, 85, 85, 5]),
(&[85, 85, 85, 5], &[255, 255, 255, 239], &[170, 170, 170, 250], &[171, 170, 170, 250]),
(&[85, 85, 85, 5], &[0, 0, 0, 88], &[83, 85, 85, 29], &[84, 85, 85, 29]),
(&[85, 85, 85, 5], &[255, 255, 255, 143], &[172, 170, 170, 218], &[173, 170, 170, 218]),
(&[85, 85, 85, 5], &[209, 3, 0, 64], &[153, 86, 85, 21], &[154, 86, 85, 21]),
(&[85, 85, 85, 5], &[47, 252, 255, 191], &[102, 169, 170, 234], &[103, 169, 170, 234]),
(&[171, 170, 170, 250], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[171, 170, 170, 250], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[171, 170, 170, 250], &[85, 85, 85, 5], &[142, 227, 56, 254], &[143, 227, 56, 254]),
(&[171, 170, 170, 250], &[171, 170, 170, 250], &[113, 28, 199, 1], &[114, 28, 199, 1]),
(&[171, 170, 170, 250], &[1, 0, 0, 16], &[170, 170, 170, 250], &[171, 170, 170, 250]),
(&[171, 170, 170, 250], &[255, 255, 255, 239], &[85, 85, 85, 5], &[86, 85, 85, 5]),
(&[171, 170, 170, 250], &[0, 0, 0, 88], &[172, 170, 170, 226], &[173, 170, 170, 226]),
(&[171, 170, 170, 250], &[255, 255, 255, 143], &[83, 85, 85, 37], &[84, 85, 85, 37]),
(&[171, 170, 170, 250], &[209, 3, 0, 64], &[102, 169, 170, 234], &[103, 169, 170, 234]),
(&[171, 170, 170, 250], &[47, 252, 255, 191], &[153, 86, 85, 21], &[154, 86, 85, 21]),
(&[1, 0, 0, 16], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 0, 0, 16], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 0, 0, 16], &[85, 85, 85, 5], &[85, 85, 85, 5], &[86, 85, 85, 5]),
(&[1, 0, 0, 16], &[171, 170, 170, 250], &[170, 170, 170, 250], &[171, 170, 170, 250]),
(&[1, 0, 0, 16], &[1, 0, 0, 16], &[2, 0, 0, 16], &[3, 0, 0, 16]),
(&[1, 0, 0, 16], &[255, 255, 255, 239], &[253, 255, 255, 239], &[254, 255, 255, 239]),
(&[1, 0, 0, 16], &[0, 0, 0, 88], &[5, 0, 0, 88], &[6, 0, 0, 88]),
(&[1, 0, 0, 16], &[255, 255, 255, 143], &[247, 255, 255, 143], &[248, 255, 255, 143]),
(&[1, 0, 0, 16], &[209, 3, 0, 64], &[213, 3, 0, 64], &[214, 3, 0, 64]),
(&[1, 0, 0, 16], &[47, 252, 255, 191], &[42, 252, 255, 191], &[43, 252, 255, 191]),
(&[255, 255, 255, 239], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 255, 255, 239], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 255, 255, 239], &[85, 85, 85, 5], &[170, 170, 170, 250], &[171, 170, 170, 250]),
(&[255, 255, 255, 239], &[171, 170, 170, 250], &[85, 85, 85, 5], &[86, 85, 85, 5]),
(&[255, 255, 255, 239], &[1, 0, 0, 16], &[253, 255, 255, 239], &[254, 255, 255, 239]),
(&[255, 255, 255, 239], &[255, 255, 255, 239], &[2, 0, 0, 16], &[3, 0, 0, 16]),
(&[255, 255, 255, 239], &[0, 0, 0, 88], &[250, 255, 255, 167], &[251, 255, 255, 167]),
(&[255, 255, 255, 239], &[255, 255, 255, 143], &[8, 0, 0, 112], &[9, 0, 0, 112]),
(&[255, 255, 255, 239], &[209, 3, 0, 64], &[42, 252, 255, 191], &[43, 252, 255, 191]),
(&[255, 255, 255, 239], &[47, 252, 255, 191], &[213, 3, 0, 64], &[214, 3, 0, 64]),
(&[0, 0, 0, 88], &[3, 0, 0, 0], &[16, 0, 0, 0], &[17, 0, 0, 0]),
(&[0, 0, 0, 88], &[253, 255, 255, 255], &[239, 255, 255, 255], &[240, 255, 255, 255]),
(&[0, 0, 0, 88], &[85, 85, 85, 5], &[83, 85, 85, 29], &[84, 85, 85, 29]),
(&[0, 0, 0, 88], &[171, 170, 170, 250], &[172, 170, 170, 226], &[173, 170, 170, 226]),
(&[0, 0, 0, 88], &[1, 0, 0, 16], &[5, 0, 0, 88], &[6, 0, 0, 88]),
(&[0, 0, 0, 88], &[255, 255, 255, 239], &[250, 255, 255, 167], &[251, 255, 255, 167]),
(&[255, 255, 255, 143], &[3, 0, 0, 0], &[234, 255, 255, 255], &[235, 255, 255, 255]),
(&[255, 255, 255, 143], &[253, 255, 255, 255], &[21, 0, 0, 0], &[22, 0, 0, 0]),
(&[255, 255, 255, 143], &[85, 85, 85, 5], &[172, 170, 170, 218], &[173, 170, 170, 218]),
(&[255, 255, 255, 143], &[171, 170, 170, 250], &[83, 85, 85, 37], &[84, 85, 85, 37]),
(&[255, 255, 255, 143], &[1, 0, 0, 16], &[247, 255, 255, 143], &[248, 255, 255, 143]),
(&[255, 255, 255, 143], &[255, 255, 255, 239], &[8, 0, 0, 112], &[9, 0, 0, 112]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[12, 0, 0, 0], &[13, 0, 0, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[243, 255, 255, 255], &[244, 255, 255, 255]),
(&[209, 3, 0, 64], &[85, 85, 85, 5], &[153, 86, 85, 21], &[154, 86, 85, 21]),
(&[209, 3, 0, 64], &[171, 170, 170, 250], &[102, 169, 170, 234], &[103, 169, 170, 234]),
(&[209, 3, 0, 64], &[1, 0, 0, 16], &[213, 3, 0, 64], &[214, 3, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 255, 239], &[42, 252, 255, 191], &[43, 252, 255, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[243, 255, 255, 255], &[244, 255, 255, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[12, 0, 0, 0], &[13, 0, 0, 0]),
(&[47, 252, 255, 191], &[85, 85, 85, 5], &[102, 169, 170, 234], &[103, 169, 170, 234]),
(&[47, 252, 255, 191], &[171, 170, 170, 250], &[153, 86, 85, 21], &[154, 86, 85, 21]),
(&[47, 252, 255, 191], &[1, 0, 0, 16], &[42, 252, 255, 191], &[43, 252, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 255, 239], &[213, 3, 0, 64], &[214, 3, 0, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 16], &[0, 0, 0, 16]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 0, 0, 240], &[0, 0, 0, 240]),
(&[3, 0, 0, 0], &[85, 85, 85, 5], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 170, 170, 250], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 0, 0, 16], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 239], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[0, 0, 0, 88], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 143], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 0, 0, 240], &[0, 0, 0, 240]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 16], &[0, 0, 0, 16]),
(&[253, 255, 255, 255], &[85, 85, 85, 5], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[171, 170, 170, 250], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 0, 16], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 255, 239], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[0, 0, 0, 88], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[255, 255, 255, 143], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 85, 85, 5], &[85, 85, 85, 5], &[0, 0, 0, 16], &[0, 0, 0, 16]),
(&[85, 85, 85, 5], &[171, 170, 170, 250], &[0, 0, 0, 240], &[0, 0, 0, 240]),
(&[85, 85, 85, 5], &[1, 0, 0, 16], &[84, 85, 85, 5], &[85, 85, 85, 5]),
(&[85, 85, 85, 5], &[255, 255, 255, 239], &[171, 170, 170, 250], &[172, 170, 170, 250]),
(&[85, 85, 85, 5], &[0, 0, 0, 88], &[15, 62, 248, 0], &[16, 62, 248, 0]),
(&[85, 85, 85, 5], &[255, 255, 255, 143], &[207, 243, 60, 255], &[208, 243, 60, 255]),
(&[85, 85, 85, 5], &[209, 3, 0, 64], &[64, 85, 85, 1], &[65, 85, 85, 1]),
(&[85, 85, 85, 5], &[47, 252, 255, 191], &[191, 170, 170, 254], &[192, 170, 170, 254]),
(&[171, 170, 170, 250], &[85, 85, 85, 5], &[0, 0, 0, 240], &[0, 0, 0, 240]),
(&[171, 170, 170, 250], &[171, 170, 170, 250], &[0, 0, 0, 16], &[0, 0, 0, 16]),
(&[171, 170, 170, 250], &[1, 0, 0, 16], &[171, 170, 170, 250], &[172, 170, 170, 250]),
(&[171, 170, 170, 250], &[255, 255, 255, 239], &[84, 85, 85, 5], &[85, 85, 85, 5]),
(&[171, 170, 170, 250], &[0, 0, 0, 88], &[240, 193, 7, 255], &[241, 193, 7, 255]),
(&[171, 170, 170, 250], &[255, 255, 255, 143], &[48, 12, 195, 0], &[49, 12, 195, 0]),
(&[171, 170, 170, 250], &[209, 3, 0, 64], &[191, 170, 170, 254], &[192, 170, 170, 254]),
(&[171, 170, 170, 250], &[47, 252, 255, 191], &[64, 85, 85, 1], &[65, 85, 85, 1]),
(&[1, 0, 0, 16], &[85, 85, 85, 5], &[6, 0, 0, 48], &[7, 0, 0, 48]),
(&[1, 0, 0, 16], &[171, 170, 170, 250], &[249, 255, 255, 207], &[250, 255, 255, 207]),
(&[1, 0, 0, 16], &[1, 0, 0, 16], &[0, 0, 0, 16], &[0, 0, 0, 16]),
(&[1, 0, 0, 16], &[255, 255, 255, 239], &[0, 0, 0, 240], &[0, 0, 0, 240]),
(&[1, 0, 0, 16], &[0, 0, 0, 88], &[46, 186, 232, 2], &[47, 186, 232, 2]),
(&[1, 0, 0, 16], &[255, 255, 255, 143], &[109, 219, 182, 253], &[110, 219, 182, 253]),
(&[1, 0, 0, 16], &[209, 3, 0, 64], &[195, 255, 255, 3], &[196, 255, 255, 3]),
(&[1, 0, 0, 16], &[47, 252, 255, 191], &[60, 0, 0, 252], &[61, 0, 0, 252]),
(&[255, 255, 255, 239], &[85, 85, 85, 5], &[249, 255, 255, 207], &[250, 255, 255, 207]),
(&[255, 255, 255, 239], &[171, 170, 170, 250], &[6, 0, 0, 48], &[7, 0, 0, 48]),
(&[255, 255, 255, 239], &[1, 0, 0, 16], &[0, 0, 0, 240], &[0, 0, 0, 240]),
(&[255, 255, 255, 239], &[255, 255, 255, 239], &[0, 0, 0, 16], &[0, 0, 0, 16]),
(&[255, 255, 255, 239], &[0, 0, 0, 88], &[209, 69, 23, 253], &[210, 69, 23, 253]),
(&[255, 255, 255, 239], &[255, 255, 255, 143], &[146, 36, 73, 2], &[147, 36, 73, 2]),
(&[255, 255, 255, 239], &[209, 3, 0, 64], &[60, 0, 0, 252], &[61, 0, 0, 252]),
(&[255, 255, 255, 239], &[47, 252, 255, 191], &[195, 255, 255, 3], &[196, 255, 255, 3]),
(&[0, 0, 0, 88], &[1, 0, 0, 16], &[250, 255, 255, 87], &[251, 255, 255, 87]),
(&[0, 0, 0, 88], &[255, 255, 255, 239], &[5, 0, 0, 168], &[6, 0, 0, 168]),
(&[0, 0, 0, 88], &[0, 0, 0, 88], &[0, 0, 0, 16], &[0, 0, 0, 16]),
(&[0, 0, 0, 88], &[255, 255, 255, 143], &[219, 182, 109, 243], &[220, 182, 109, 243]),
(&[0, 0, 0, 88], &[209, 3, 0, 64], &[176, 254, 255, 21], &[177, 254, 255, 21]),
(&[0, 0, 0, 88], &[47, 252, 255, 191], &[79, 1, 0, 234], &[80, 1, 0, 234]),
(&[255, 255, 255, 143], &[1, 0, 0, 16], &[5, 0, 0, 144], &[6, 0, 0, 144]),
(&[255, 255, 255, 143], &[255, 255, 255, 239], &[250, 255, 255, 111], &[251, 255, 255, 111]),
(&[255, 255, 255, 143], &[0, 0, 0, 88], &[186, 232, 162, 235], &[186, 232, 162, 235]),
(&[255, 255, 255, 143], &[255, 255, 255, 143], &[0, 0, 0, 16], &[0, 0, 0, 16]),
(&[255, 255, 255, 143], &[209, 3, 0, 64], &[171, 1, 0, 228], &[172, 1, 0, 228]),
(&[255, 255, 255, 143], &[47, 252, 255, 191], &[84, 254, 255, 27], &[85, 254, 255, 27]),
(&[209, 3, 0, 64], &[1, 0, 0, 16], &[204, 3, 0, 64], &[205, 3, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 255, 239], &[51, 252, 255, 191], &[52, 252, 255, 191]),
(&[209, 3, 0, 64], &[0, 0, 0, 88], &[107, 233, 162, 11], &[108, 233, 162, 11]),
(&[209, 3, 0, 64], &[255, 255, 255, 143], &[43, 109, 219, 246], &[44, 109, 219, 246]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 0, 0, 16], &[0, 0, 0, 16]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 0, 0, 240], &[0, 0, 0, 240]),
(&[47, 252, 255, 191], &[1, 0, 0, 16], &[51, 252, 255, 191], &[52, 252, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 255, 239], &[204, 3, 0, 64], &[205, 3, 0, 64]),
(&[47, 252, 255, 191], &[0, 0, 0, 88], &[148, 22, 93, 244], &[149, 22, 93, 244]),
(&[47, 252, 255, 191], &[255, 255, 255, 143], &[212, 146, 36, 9], &[213, 146, 36, 9]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 0, 0, 240], &[0, 0, 0, 240]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 0, 0, 16], &[0, 0, 0, 16]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 0, 0, 8]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 0, 0, 8]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 0, 0, 8], &[0, 0, 0, 8]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 0, 0, 8], &[0, 0, 0, 8]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[0, 0, 0, 8], &[0, 0, 0, 244], &[0, 0, 0, 10]], &[&[0, 0, 0, 16], &[0, 0, 0, 4], &[0, 0, 0, 254], &[0, 0, 0, 4], &[0, 0, 0, 32], &[0, 0, 0, 1], &[0, 0, 0, 254], &[0, 0, 0, 1], &[0, 0, 0, 8]], &[0, 0, 240, 19], &[0, 0, 240, 19], &[0, 0, 240, 19]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[47, 252, 255, 7], &[246, 203, 255, 7]], &[&[47, 252, 255, 7], &[101, 169, 170, 2], &[214, 152, 153, 1], &[46, 252, 255, 7]], &[70, 235, 16, 5], &[71, 235, 16, 5], &[70, 235, 16, 5]),
(2, &[&[209, 3, 0, 248], &[10, 52, 0, 248]], &[&[47, 252, 255, 7], &[101, 169, 170, 2], &[214, 152, 153, 1], &[46, 252, 255, 7]], &[70, 235, 16, 5], &[71, 235, 16, 5], &[70, 235, 16, 5]),
(2, &[&[47, 252, 255, 7], &[246, 203, 255, 7]], &[&[209, 3, 0, 248], &[155, 86, 85, 253], &[42, 103, 102, 254], &[210, 3, 0, 248]], &[185, 20, 239, 250], &[186, 20, 239, 250], &[186, 20, 239, 250]),
(2, &[&[209, 3, 0, 248], &[10, 52, 0, 248]], &[&[209, 3, 0, 248], &[155, 86, 85, 253], &[42, 103, 102, 254], &[210, 3, 0, 248]], &[185, 20, 239, 250], &[186, 20, 239, 250], &[186, 20, 239, 250]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f29 {
pub const FRAC_BITS: u32 = 29;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[130, 90, 0, 0], &[131, 90, 0, 0]),
(&[2, 0, 0, 0], &[0, 128, 0, 0], &[0, 128, 0, 0]),
(&[3, 0, 0, 0], &[196, 156, 0, 0], &[197, 156, 0, 0]),
(&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]),
(&[0, 0, 0, 64], &[204, 60, 65, 45], &[205, 60, 65, 45]),
(&[0, 0, 0, 16], &[102, 158, 160, 22], &[103, 158, 160, 22]),
(&[1, 0, 0, 8], &[0, 0, 0, 16], &[1, 0, 0, 16]),
(&[57, 48, 0, 64], &[217, 77, 65, 45], &[218, 77, 65, 45]),
(&[255, 255, 255, 127], &[255, 255, 255, 63], &[0, 0, 0, 64]),
(&[36, 73, 146, 100], &[32, 221, 186, 56], &[33, 221, 186, 56]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[170, 170, 170, 10], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 85, 85, 245], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 0, 0, 32], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 223], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[6, 0, 0, 0], &[7, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[249, 255, 255, 255], &[250, 255, 255, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[170, 170, 170, 10], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[86, 85, 85, 245], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 0, 32], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 255, 223], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[249, 255, 255, 255], &[250, 255, 255, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[6, 0, 0, 0], &[7, 0, 0, 0]),
(&[170, 170, 170, 10], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[170, 170, 170, 10], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[170, 170, 170, 10], &[170, 170, 170, 10], &[227, 56, 142, 3], &[228, 56, 142, 3]),
(&[170, 170, 170, 10], &[86, 85, 85, 245], &[28, 199, 113, 252], &[29, 199, 113, 252]),
(&[170, 170, 170, 10], &[1, 0, 0, 32], &[170, 170, 170, 10], &[171, 170, 170, 10]),
(&[170, 170, 170, 10], &[255, 255, 255, 223], &[85, 85, 85, 245], &[86, 85, 85, 245]),
(&[170, 170, 170, 10], &[209, 3, 0, 64], &[153, 86, 85, 21], &[154, 86, 85, 21]),
(&[170, 170, 170, 10], &[47, 252, 255, 191], &[102, 169, 170, 234], &[103, 169, 170, 234]),
(&[86, 85, 85, 245], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[86, 85, 85, 245], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[86, 85, 85, 245], &[170, 170, 170, 10], &[28, 199, 113, 252], &[29, 199, 113, 252]),
(&[86, 85, 85, 245], &[86, 85, 85, 245], &[227, 56, 142, 3], &[228, 56, 142, 3]),
(&[86, 85, 85, 245], &[1, 0, 0, 32], &[85, 85, 85, 245], &[86, 85, 85, 245]),
(&[86, 85, 85, 245], &[255, 255, 255, 223], &[170, 170, 170, 10], &[171, 170, 170, 10]),
(&[86, 85, 85, 245], &[209, 3, 0, 64], &[102, 169, 170, 234], &[103, 169, 170, 234]),
(&[86, 85, 85, 245], &[47, 252, 255, 191], &[153, 86, 85, 21], &[154, 86, 85, 21]),
(&[1, 0, 0, 32], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 0, 0, 32], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 0, 0, 32], &[170, 170, 170, 10], &[170, 170, 170, 10], &[171, 170, 170, 10]),
(&[1, 0, 0, 32], &[86, 85, 85, 245], &[85, 85, 85, 245], &[86, 85, 85, 245]),
(&[1, 0, 0, 32], &[1, 0, 0, 32], &[2, 0, 0, 32], &[3, 0, 0, 32]),
(&[1, 0, 0, 32], &[255, 255, 255, 223], &[253, 255, 255, 223], &[254, 255, 255, 223]),
(&[1, 0, 0, 32], &[209, 3, 0, 64], &[211, 3, 0, 64], &[212, 3, 0, 64]),
(&[1, 0, 0, 32], &[47, 252, 255, 191], &[44, 252, 255, 191], &[45, 252, 255, 191]),
(&[255, 255, 255, 223], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 255, 255, 223], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 255, 255, 223], &[170, 170, 170, 10], &[85, 85, 85, 245], &[86, 85, 85, 245]),
(&[255, 255, 255, 223], &[86, 85, 85, 245], &[170, 170, 170, 10], &[171, 170, 170, 10]),
(&[255, 255, 255, 223], &[1, 0, 0, 32], &[253, 255, 255, 223], &[254, 255, 255, 223]),
(&[255, 255, 255, 223], &[255, 255, 255, 223], &[2, 0, 0, 32], &[3, 0, 0, 32]),
(&[255, 255, 255, 223], &[209, 3, 0, 64], &[44, 252, 255, 191], &[45, 252, 255, 191]),
(&[255, 255, 255, 223], &[47, 252, 255, 191], &[211, 3, 0, 64], &[212, 3, 0, 64]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[6, 0, 0, 0], &[7, 0, 0, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[249, 255, 255, 255], &[250, 255, 255, 255]),
(&[209, 3, 0, 64], &[170, 170, 170, 10], &[153, 86, 85, 21], &[154, 86, 85, 21]),
(&[209, 3, 0, 64], &[86, 85, 85, 245], &[102, 169, 170, 234], &[103, 169, 170, 234]),
(&[209, 3, 0, 64], &[1, 0, 0, 32], &[211, 3, 0, 64], &[212, 3, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 255, 223], &[44, 252, 255, 191], &[45, 252, 255, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[249, 255, 255, 255], &[250, 255, 255, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[6, 0, 0, 0], &[7, 0, 0, 0]),
(&[47, 252, 255, 191], &[170, 170, 170, 10], &[102, 169, 170, 234], &[103, 169, 170, 234]),
(&[47, 252, 255, 191], &[86, 85, 85, 245], &[153, 86, 85, 21], &[154, 86, 85, 21]),
(&[47, 252, 255, 191], &[1, 0, 0, 32], &[44, 252, 255, 191], &[45, 252, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 255, 223], &[211, 3, 0, 64], &[212, 3, 0, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 32], &[0, 0, 0, 32]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 0, 0, 224], &[0, 0, 0, 224]),
(&[3, 0, 0, 0], &[170, 170, 170, 10], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[86, 85, 85, 245], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 0, 0, 32], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 223], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 0, 0, 224], &[0, 0, 0, 224]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 32], &[0, 0, 0, 32]),
(&[253, 255, 255, 255], &[170, 170, 170, 10], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[86, 85, 85, 245], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 0, 32], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 255, 223], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[254, 255, 255, 255], &[255, 255, 255, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[1, 0, 0, 0], &[2, 0, 0, 0]),
(&[170, 170, 170, 10], &[170, 170, 170, 10], &[0, 0, 0, 32], &[0, 0, 0, 32]),
(&[170, 170, 170, 10], &[86, 85, 85, 245], &[0, 0, 0, 224], &[0, 0, 0, 224]),
(&[170, 170, 170, 10], &[1, 0, 0, 32], &[169, 170, 170, 10], &[170, 170, 170, 10]),
(&[170, 170, 170, 10], &[255, 255, 255, 223], &[86, 85, 85, 245], &[87, 85, 85, 245]),
(&[170, 170, 170, 10], &[209, 3, 0, 64], &[3, 85, 85, 5], &[4, 85, 85, 5]),
(&[170, 170, 170, 10], &[47, 252, 255, 191], &[252, 170, 170, 250], &[253, 170, 170, 250]),
(&[86, 85, 85, 245], &[170, 170, 170, 10], &[0, 0, 0, 224], &[0, 0, 0, 224]),
(&[86, 85, 85, 245], &[86, 85, 85, 245], &[0, 0, 0, 32], &[0, 0, 0, 32]),
(&[86, 85, 85, 245], &[1, 0, 0, 32], &[86, 85, 85, 245], &[87, 85, 85, 245]),
(&[86, 85, 85, 245], &[255, 255, 255, 223], &[169, 170, 170, 10], &[170, 170, 170, 10]),
(&[86, 85, 85, 245], &[209, 3, 0, 64], &[252, 170, 170, 250], &[253, 170, 170, 250]),
(&[86, 85, 85, 245], &[47, 252, 255, 191], &[3, 85, 85, 5], &[4, 85, 85, 5]),
(&[1, 0, 0, 32], &[170, 170, 170, 10], &[9, 0, 0, 96], &[10, 0, 0, 96]),
(&[1, 0, 0, 32], &[86, 85, 85, 245], &[246, 255, 255, 159], &[247, 255, 255, 159]),
(&[1, 0, 0, 32], &[1, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]),
(&[1, 0, 0, 32], &[255, 255, 255, 223], &[0, 0, 0, 224], &[0, 0, 0, 224]),
(&[1, 0, 0, 32], &[209, 3, 0, 64], &[12, 255, 255, 15], &[13, 255, 255, 15]),
(&[1, 0, 0, 32], &[47, 252, 255, 191], &[243, 0, 0, 240], &[244, 0, 0, 240]),
(&[255, 255, 255, 223], &[170, 170, 170, 10], &[246, 255, 255, 159], &[247, 255, 255, 159]),
(&[255, 255, 255, 223], &[86, 85, 85, 245], &[9, 0, 0, 96], &[10, 0, 0, 96]),
(&[255, 255, 255, 223], &[1, 0, 0, 32], &[0, 0, 0, 224], &[0, 0, 0, 224]),
(&[255, 255, 255, 223], &[255, 255, 255, 223], &[0, 0, 0, 32], &[0, 0, 0, 32]),
(&[255, 255, 255, 223], &[209, 3, 0, 64], &[243, 0, 0, 240], &[244, 0, 0, 240]),
(&[255, 255, 255, 223], &[47, 252, 255, 191], &[12, 255, 255, 15], &[13, 255, 255, 15]),
(&[209, 3, 0, 64], &[1, 0, 0, 32], &[206, 3, 0, 64], &[207, 3, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 255, 223], &[49, 252, 255, 191], &[50, 252, 255, 191]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 0, 0, 32], &[0, 0, 0, 32]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 0, 0, 224], &[0, 0, 0, 224]),
(&[47, 252, 255, 191], &[1, 0, 0, 32], &[49, 252, 255, 191], &[50, 252, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 255, 223], &[206, 3, 0, 64], &[207, 3, 0, 64]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 0, 0, 224], &[0, 0, 0, 224]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 0, 0, 32], &[0, 0, 0, 32]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 0, 0, 16]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 0, 0, 16]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 0, 0, 16], &[0, 0, 0, 16]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 0, 0, 16], &[0, 0, 0, 16]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(3, &[&[0, 0, 0, 16], &[0, 0, 0, 232], &[0, 0, 0, 20]], &[&[0, 0, 0, 32], &[0, 0, 0, 8], &[0, 0, 0, 252], &[0, 0, 0, 8], &[0, 0, 0, 64], &[0, 0, 0, 2], &[0, 0, 0, 252], &[0, 0, 0, 2], &[0, 0, 0, 16]], &[0, 0, 224, 39], &[0, 0, 224, 39], &[0, 0, 224, 39]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[47, 252, 255, 7], &[246, 203, 255, 7]], &[&[47, 252, 255, 7], &[101, 169, 170, 2], &[214, 152, 153, 1], &[46, 252, 255, 7]], &[209, 58, 68, 1], &[210, 58, 68, 1], &[210, 58, 68, 1]),
(2, &[&[209, 3, 0, 248], &[10, 52, 0, 248]], &[&[47, 252, 255, 7], &[101, 169, 170, 2], &[214, 152, 153, 1], &[46, 252, 255, 7]], &[209, 58, 68, 1], &[210, 58, 68, 1], &[210, 58, 68, 1]),
(2, &[&[47, 252, 255, 7], &[246, 203, 255, 7]], &[&[209, 3, 0, 248], &[155, 86, 85, 253], &[42, 103, 102, 254], &[210, 3, 0, 248]], &[46, 197, 187, 254], &[47, 197, 187, 254], &[46, 197, 187, 254]),
(2, &[&[209, 3, 0, 248], &[10, 52, 0, 248]], &[&[209, 3, 0, 248], &[155, 86, 85, 253], &[42, 103, 102, 254], &[210, 3, 0, 248]], &[46, 197, 187, 254], &[47, 197, 187, 254], &[46, 197, 187, 254]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q16_16")]
pub mod refs_f30 {
pub const FRAC_BITS: u32 = 30;
pub const STORAGE_BITS: u32 = 32;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(&[1, 0, 0, 0], &[0, 128, 0, 0], &[0, 128, 0, 0]),
(&[2, 0, 0, 0], &[4, 181, 0, 0], &[5, 181, 0, 0]),
(&[3, 0, 0, 0], &[179, 221, 0, 0], &[180, 221, 0, 0]),
(&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]),
(&[0, 0, 0, 32], &[204, 60, 65, 45], &[205, 60, 65, 45]),
(&[1, 0, 0, 16], &[0, 0, 0, 32], &[1, 0, 0, 32]),
(&[57, 48, 0, 64], &[28, 24, 0, 64], &[29, 24, 0, 64]),
(&[255, 255, 255, 127], &[153, 121, 130, 90], &[154, 121, 130, 90]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[85, 85, 85, 21], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 170, 170, 234], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[3, 0, 0, 0], &[1, 0, 0, 64], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 191], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[85, 85, 85, 21], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[253, 255, 255, 255], &[171, 170, 170, 234], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 0, 64], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 255, 191], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[85, 85, 85, 21], &[3, 0, 0, 0], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[85, 85, 85, 21], &[253, 255, 255, 255], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[85, 85, 85, 21], &[85, 85, 85, 21], &[198, 113, 28, 7], &[199, 113, 28, 7]),
(&[85, 85, 85, 21], &[171, 170, 170, 234], &[57, 142, 227, 248], &[58, 142, 227, 248]),
(&[85, 85, 85, 21], &[1, 0, 0, 64], &[85, 85, 85, 21], &[86, 85, 85, 21]),
(&[85, 85, 85, 21], &[255, 255, 255, 191], &[170, 170, 170, 234], &[171, 170, 170, 234]),
(&[85, 85, 85, 21], &[209, 3, 0, 64], &[154, 86, 85, 21], &[155, 86, 85, 21]),
(&[85, 85, 85, 21], &[47, 252, 255, 191], &[101, 169, 170, 234], &[102, 169, 170, 234]),
(&[171, 170, 170, 234], &[3, 0, 0, 0], &[255, 255, 255, 255], &[0, 0, 0, 0]),
(&[171, 170, 170, 234], &[253, 255, 255, 255], &[0, 0, 0, 0], &[1, 0, 0, 0]),
(&[171, 170, 170, 234], &[85, 85, 85, 21], &[57, 142, 227, 248], &[58, 142, 227, 248]),
(&[171, 170, 170, 234], &[171, 170, 170, 234], &[198, 113, 28, 7], &[199, 113, 28, 7]),
(&[171, 170, 170, 234], &[1, 0, 0, 64], &[170, 170, 170, 234], &[171, 170, 170, 234]),
(&[171, 170, 170, 234], &[255, 255, 255, 191], &[85, 85, 85, 21], &[86, 85, 85, 21]),
(&[171, 170, 170, 234], &[209, 3, 0, 64], &[101, 169, 170, 234], &[102, 169, 170, 234]),
(&[171, 170, 170, 234], &[47, 252, 255, 191], &[154, 86, 85, 21], &[155, 86, 85, 21]),
(&[1, 0, 0, 64], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[1, 0, 0, 64], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[1, 0, 0, 64], &[85, 85, 85, 21], &[85, 85, 85, 21], &[86, 85, 85, 21]),
(&[1, 0, 0, 64], &[171, 170, 170, 234], &[170, 170, 170, 234], &[171, 170, 170, 234]),
(&[1, 0, 0, 64], &[1, 0, 0, 64], &[2, 0, 0, 64], &[3, 0, 0, 64]),
(&[1, 0, 0, 64], &[255, 255, 255, 191], &[253, 255, 255, 191], &[254, 255, 255, 191]),
(&[1, 0, 0, 64], &[209, 3, 0, 64], &[210, 3, 0, 64], &[211, 3, 0, 64]),
(&[1, 0, 0, 64], &[47, 252, 255, 191], &[45, 252, 255, 191], &[46, 252, 255, 191]),
(&[255, 255, 255, 191], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[255, 255, 255, 191], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[255, 255, 255, 191], &[85, 85, 85, 21], &[170, 170, 170, 234], &[171, 170, 170, 234]),
(&[255, 255, 255, 191], &[171, 170, 170, 234], &[85, 85, 85, 21], &[86, 85, 85, 21]),
(&[255, 255, 255, 191], &[1, 0, 0, 64], &[253, 255, 255, 191], &[254, 255, 255, 191]),
(&[255, 255, 255, 191], &[255, 255, 255, 191], &[2, 0, 0, 64], &[3, 0, 0, 64]),
(&[255, 255, 255, 191], &[209, 3, 0, 64], &[45, 252, 255, 191], &[46, 252, 255, 191]),
(&[255, 255, 255, 191], &[47, 252, 255, 191], &[210, 3, 0, 64], &[211, 3, 0, 64]),
(&[209, 3, 0, 64], &[3, 0, 0, 0], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[209, 3, 0, 64], &[253, 255, 255, 255], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[209, 3, 0, 64], &[85, 85, 85, 21], &[154, 86, 85, 21], &[155, 86, 85, 21]),
(&[209, 3, 0, 64], &[171, 170, 170, 234], &[101, 169, 170, 234], &[102, 169, 170, 234]),
(&[209, 3, 0, 64], &[1, 0, 0, 64], &[210, 3, 0, 64], &[211, 3, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 255, 191], &[45, 252, 255, 191], &[46, 252, 255, 191]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[162, 7, 0, 64], &[163, 7, 0, 64]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[93, 248, 255, 191], &[94, 248, 255, 191]),
(&[47, 252, 255, 191], &[3, 0, 0, 0], &[252, 255, 255, 255], &[253, 255, 255, 255]),
(&[47, 252, 255, 191], &[253, 255, 255, 255], &[3, 0, 0, 0], &[4, 0, 0, 0]),
(&[47, 252, 255, 191], &[85, 85, 85, 21], &[101, 169, 170, 234], &[102, 169, 170, 234]),
(&[47, 252, 255, 191], &[171, 170, 170, 234], &[154, 86, 85, 21], &[155, 86, 85, 21]),
(&[47, 252, 255, 191], &[1, 0, 0, 64], &[45, 252, 255, 191], &[46, 252, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 255, 191], &[210, 3, 0, 64], &[211, 3, 0, 64]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[93, 248, 255, 191], &[94, 248, 255, 191]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[162, 7, 0, 64], &[163, 7, 0, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0], &[3, 0, 0, 0], &[0, 0, 0, 64], &[0, 0, 0, 64]),
(&[3, 0, 0, 0], &[253, 255, 255, 255], &[0, 0, 0, 192], &[0, 0, 0, 192]),
(&[3, 0, 0, 0], &[85, 85, 85, 21], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[3, 0, 0, 0], &[171, 170, 170, 234], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[3, 0, 0, 0], &[1, 0, 0, 64], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[255, 255, 255, 191], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[3, 0, 0, 0], &[209, 3, 0, 64], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[3, 0, 0, 0], &[47, 252, 255, 191], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[3, 0, 0, 0], &[0, 0, 0, 192], &[0, 0, 0, 192]),
(&[253, 255, 255, 255], &[253, 255, 255, 255], &[0, 0, 0, 64], &[0, 0, 0, 64]),
(&[253, 255, 255, 255], &[85, 85, 85, 21], &[246, 255, 255, 255], &[247, 255, 255, 255]),
(&[253, 255, 255, 255], &[171, 170, 170, 234], &[9, 0, 0, 0], &[10, 0, 0, 0]),
(&[253, 255, 255, 255], &[1, 0, 0, 64], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[255, 255, 255, 191], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[253, 255, 255, 255], &[209, 3, 0, 64], &[253, 255, 255, 255], &[254, 255, 255, 255]),
(&[253, 255, 255, 255], &[47, 252, 255, 191], &[2, 0, 0, 0], &[3, 0, 0, 0]),
(&[85, 85, 85, 21], &[85, 85, 85, 21], &[0, 0, 0, 64], &[0, 0, 0, 64]),
(&[85, 85, 85, 21], &[171, 170, 170, 234], &[0, 0, 0, 192], &[0, 0, 0, 192]),
(&[85, 85, 85, 21], &[1, 0, 0, 64], &[84, 85, 85, 21], &[85, 85, 85, 21]),
(&[85, 85, 85, 21], &[255, 255, 255, 191], &[171, 170, 170, 234], &[172, 170, 170, 234]),
(&[85, 85, 85, 21], &[209, 3, 0, 64], &[15, 84, 85, 21], &[16, 84, 85, 21]),
(&[85, 85, 85, 21], &[47, 252, 255, 191], &[240, 171, 170, 234], &[241, 171, 170, 234]),
(&[171, 170, 170, 234], &[85, 85, 85, 21], &[0, 0, 0, 192], &[0, 0, 0, 192]),
(&[171, 170, 170, 234], &[171, 170, 170, 234], &[0, 0, 0, 64], &[0, 0, 0, 64]),
(&[171, 170, 170, 234], &[1, 0, 0, 64], &[171, 170, 170, 234], &[172, 170, 170, 234]),
(&[171, 170, 170, 234], &[255, 255, 255, 191], &[84, 85, 85, 21], &[85, 85, 85, 21]),
(&[171, 170, 170, 234], &[209, 3, 0, 64], &[240, 171, 170, 234], &[241, 171, 170, 234]),
(&[171, 170, 170, 234], &[47, 252, 255, 191], &[15, 84, 85, 21], &[16, 84, 85, 21]),
(&[1, 0, 0, 64], &[1, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]),
(&[1, 0, 0, 64], &[255, 255, 255, 191], &[0, 0, 0, 192], &[0, 0, 0, 192]),
(&[1, 0, 0, 64], &[209, 3, 0, 64], &[48, 252, 255, 63], &[49, 252, 255, 63]),
(&[1, 0, 0, 64], &[47, 252, 255, 191], &[207, 3, 0, 192], &[208, 3, 0, 192]),
(&[255, 255, 255, 191], &[1, 0, 0, 64], &[0, 0, 0, 192], &[0, 0, 0, 192]),
(&[255, 255, 255, 191], &[255, 255, 255, 191], &[0, 0, 0, 64], &[0, 0, 0, 64]),
(&[255, 255, 255, 191], &[209, 3, 0, 64], &[207, 3, 0, 192], &[208, 3, 0, 192]),
(&[255, 255, 255, 191], &[47, 252, 255, 191], &[48, 252, 255, 63], &[49, 252, 255, 63]),
(&[209, 3, 0, 64], &[1, 0, 0, 64], &[207, 3, 0, 64], &[208, 3, 0, 64]),
(&[209, 3, 0, 64], &[255, 255, 255, 191], &[48, 252, 255, 191], &[49, 252, 255, 191]),
(&[209, 3, 0, 64], &[209, 3, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]),
(&[209, 3, 0, 64], &[47, 252, 255, 191], &[0, 0, 0, 192], &[0, 0, 0, 192]),
(&[47, 252, 255, 191], &[1, 0, 0, 64], &[48, 252, 255, 191], &[49, 252, 255, 191]),
(&[47, 252, 255, 191], &[255, 255, 255, 191], &[207, 3, 0, 64], &[208, 3, 0, 64]),
(&[47, 252, 255, 191], &[209, 3, 0, 64], &[0, 0, 0, 192], &[0, 0, 0, 192]),
(&[47, 252, 255, 191], &[47, 252, 255, 191], &[0, 0, 0, 64], &[0, 0, 0, 64]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 0, 0, 32]], &[&[2, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(1, &[&[0, 0, 0, 32]], &[&[254, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0]], &[1, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 0], &[2, 0, 0, 0], &[0, 0, 0, 0], &[0, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[1, 0, 0, 0]),
(2, &[&[49, 255, 255, 255], &[215, 255, 255, 255]], &[&[161, 255, 255, 255], &[70, 0, 0, 0], &[10, 255, 255, 255], &[17, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[196, 0, 0, 0], &[37, 0, 0, 0]], &[&[154, 0, 0, 0], &[210, 0, 0, 0], &[40, 255, 255, 255], &[155, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[212, 255, 255, 255], &[214, 255, 255, 255]], &[&[243, 0, 0, 0], &[205, 0, 0, 0], &[7, 255, 255, 255], &[244, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[44, 0, 0, 0], &[34, 255, 255, 255], &[40, 0, 0, 0]], &[&[146, 255, 255, 255], &[206, 255, 255, 255], &[30, 255, 255, 255], &[149, 0, 0, 0], &[73, 255, 255, 255], &[212, 255, 255, 255], &[143, 255, 255, 255], &[42, 255, 255, 255], &[191, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[222, 255, 255, 255], &[148, 0, 0, 0], &[168, 0, 0, 0]], &[&[58, 0, 0, 0], &[195, 255, 255, 255], &[140, 0, 0, 0], &[74, 0, 0, 0], &[137, 0, 0, 0], &[189, 0, 0, 0], &[115, 0, 0, 0], &[199, 255, 255, 255], &[188, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(3, &[&[35, 0, 0, 0], &[203, 255, 255, 255], &[83, 0, 0, 0]], &[&[224, 255, 255, 255], &[171, 0, 0, 0], &[16, 0, 0, 0], &[215, 255, 255, 255], &[132, 255, 255, 255], &[1, 255, 255, 255], &[42, 0, 0, 0], &[234, 0, 0, 0], &[159, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[118, 0, 0, 0], &[92, 0, 0, 0], &[38, 0, 0, 0], &[216, 255, 255, 255], &[99, 255, 255, 255]], &[&[237, 255, 255, 255], &[221, 255, 255, 255], &[92, 0, 0, 0], &[136, 0, 0, 0], &[130, 0, 0, 0], &[175, 255, 255, 255], &[75, 255, 255, 255], &[79, 0, 0, 0], &[27, 255, 255, 255], &[194, 255, 255, 255], &[176, 0, 0, 0], &[220, 0, 0, 0], &[49, 255, 255, 255], &[138, 0, 0, 0], &[155, 0, 0, 0], &[222, 255, 255, 255], &[41, 255, 255, 255], &[140, 0, 0, 0], &[250, 255, 255, 255], &[198, 0, 0, 0], &[14, 255, 255, 255], &[134, 255, 255, 255], &[37, 0, 0, 0], &[167, 0, 0, 0], &[58, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[242, 0, 0, 0], &[115, 255, 255, 255], &[35, 0, 0, 0], &[105, 0, 0, 0], &[224, 0, 0, 0]], &[&[77, 255, 255, 255], &[14, 255, 255, 255], &[44, 0, 0, 0], &[161, 0, 0, 0], &[88, 255, 255, 255], &[190, 255, 255, 255], &[7, 255, 255, 255], &[13, 0, 0, 0], &[107, 0, 0, 0], &[131, 255, 255, 255], &[111, 255, 255, 255], &[147, 0, 0, 0], &[103, 0, 0, 0], &[132, 255, 255, 255], &[192, 255, 255, 255], &[192, 0, 0, 0], &[60, 255, 255, 255], &[71, 0, 0, 0], &[220, 0, 0, 0], &[181, 255, 255, 255], &[0, 0, 0, 0], &[186, 0, 0, 0], &[155, 255, 255, 255], &[146, 0, 0, 0], &[101, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(5, &[&[21, 0, 0, 0], &[28, 255, 255, 255], &[229, 255, 255, 255], &[254, 0, 0, 0], &[102, 255, 255, 255]], &[&[107, 255, 255, 255], &[152, 255, 255, 255], &[195, 255, 255, 255], &[73, 255, 255, 255], &[114, 255, 255, 255], &[86, 0, 0, 0], &[145, 255, 255, 255], &[249, 0, 0, 0], &[160, 0, 0, 0], &[70, 255, 255, 255], &[68, 0, 0, 0], &[58, 0, 0, 0], &[88, 0, 0, 0], &[108, 0, 0, 0], &[1, 0, 0, 0], &[193, 255, 255, 255], &[175, 255, 255, 255], &[66, 0, 0, 0], &[224, 0, 0, 0], &[195, 255, 255, 255], &[132, 0, 0, 0], &[70, 0, 0, 0], &[62, 255, 255, 255], &[58, 0, 0, 0], &[198, 255, 255, 255]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[238, 255, 255, 255], &[129, 255, 255, 255], &[130, 255, 255, 255], &[93, 0, 0, 0], &[110, 255, 255, 255], &[208, 0, 0, 0], &[110, 0, 0, 0]], &[&[37, 0, 0, 0], &[13, 255, 255, 255], &[211, 0, 0, 0], &[34, 0, 0, 0], &[99, 255, 255, 255], &[133, 0, 0, 0], &[87, 255, 255, 255], &[131, 255, 255, 255], &[27, 0, 0, 0], &[245, 0, 0, 0], &[2, 0, 0, 0], &[227, 255, 255, 255], &[15, 0, 0, 0], &[57, 255, 255, 255], &[212, 0, 0, 0], &[162, 255, 255, 255], &[215, 0, 0, 0], &[167, 255, 255, 255], &[204, 0, 0, 0], &[50, 255, 255, 255], &[208, 0, 0, 0], &[221, 255, 255, 255], &[212, 255, 255, 255], &[50, 0, 0, 0], &[225, 0, 0, 0], &[139, 0, 0, 0], &[72, 0, 0, 0], &[60, 255, 255, 255], &[178, 0, 0, 0], &[122, 0, 0, 0], &[137, 0, 0, 0], &[249, 255, 255, 255], &[227, 0, 0, 0], &[33, 0, 0, 0], &[166, 255, 255, 255], &[63, 255, 255, 255], &[176, 0, 0, 0], &[179, 0, 0, 0], &[74, 0, 0, 0], &[199, 255, 255, 255], &[15, 0, 0, 0], &[33, 0, 0, 0], &[25, 255, 255, 255], &[12, 255, 255, 255], &[21, 0, 0, 0], &[139, 0, 0, 0], &[42, 255, 255, 255], &[32, 0, 0, 0], &[85, 255, 255, 255]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[57, 255, 255, 255], &[5, 255, 255, 255], &[165, 255, 255, 255], &[153, 255, 255, 255], &[65, 255, 255, 255], &[13, 255, 255, 255], &[119, 255, 255, 255]], &[&[166, 255, 255, 255], &[87, 255, 255, 255], &[144, 0, 0, 0], &[145, 255, 255, 255], &[108, 0, 0, 0], &[8, 0, 0, 0], &[182, 0, 0, 0], &[68, 255, 255, 255], &[62, 255, 255, 255], &[163, 0, 0, 0], &[92, 255, 255, 255], &[211, 255, 255, 255], &[51, 0, 0, 0], &[31, 255, 255, 255], &[45, 0, 0, 0], &[136, 0, 0, 0], &[115, 255, 255, 255], &[195, 0, 0, 0], &[215, 0, 0, 0], &[204, 255, 255, 255], &[147, 0, 0, 0], &[131, 0, 0, 0], &[213, 0, 0, 0], &[53, 0, 0, 0], &[66, 255, 255, 255], &[113, 0, 0, 0], &[149, 0, 0, 0], &[151, 0, 0, 0], &[146, 255, 255, 255], &[95, 0, 0, 0], &[113, 0, 0, 0], &[209, 255, 255, 255], &[158, 255, 255, 255], &[39, 0, 0, 0], &[224, 0, 0, 0], &[224, 255, 255, 255], &[13, 0, 0, 0], &[129, 255, 255, 255], &[62, 0, 0, 0], &[187, 255, 255, 255], &[185, 0, 0, 0], &[104, 255, 255, 255], &[214, 0, 0, 0], &[132, 0, 0, 0], &[125, 255, 255, 255], &[31, 255, 255, 255], &[163, 255, 255, 255], &[87, 0, 0, 0], &[214, 0, 0, 0]], &[0, 0, 0, 0], &[1, 0, 0, 0], &[0, 0, 0, 0]),
(7, &[&[47, 255, 255, 255], &[84, 0, 0, 0], &[29, 0, 0, 0], &[225, 255, 255, 255], &[14, 0, 0, 0], &[200, 255, 255, 255], &[139, 0, 0, 0]], &[&[167, 255, 255, 255], &[133, 255, 255, 255], &[30, 0, 0, 0], &[17, 255, 255, 255], &[241, 0, 0, 0], &[24, 0, 0, 0], &[213, 0, 0, 0], &[187, 0, 0, 0], &[165, 0, 0, 0], &[30, 255, 255, 255], &[18, 0, 0, 0], &[108, 0, 0, 0], &[244, 0, 0, 0], &[249, 255, 255, 255], &[29, 255, 255, 255], &[193, 0, 0, 0], &[216, 255, 255, 255], &[241, 0, 0, 0], &[234, 0, 0, 0], &[152, 255, 255, 255], &[206, 0, 0, 0], &[142, 255, 255, 255], &[231, 255, 255, 255], &[116, 255, 255, 255], &[197, 255, 255, 255], &[89, 0, 0, 0], &[183, 0, 0, 0], &[104, 255, 255, 255], &[121, 0, 0, 0], &[2, 255, 255, 255], &[248, 255, 255, 255], &[216, 255, 255, 255], &[69, 255, 255, 255], &[96, 0, 0, 0], &[175, 0, 0, 0], &[236, 0, 0, 0], &[194, 255, 255, 255], &[89, 255, 255, 255], &[183, 255, 255, 255], &[142, 0, 0, 0], &[176, 0, 0, 0], &[98, 0, 0, 0], &[174, 255, 255, 255], &[19, 0, 0, 0], &[124, 0, 0, 0], &[230, 0, 0, 0], &[20, 0, 0, 0], &[40, 0, 0, 0], &[69, 0, 0, 0]], &[255, 255, 255, 255], &[0, 0, 0, 0], &[0, 0, 0, 0]),
(2, &[&[47, 252, 255, 15], &[246, 203, 255, 15]], &[&[47, 252, 255, 15], &[15, 84, 85, 5], &[111, 50, 51, 3], &[46, 252, 255, 15]], &[21, 127, 136, 2], &[22, 127, 136, 2], &[22, 127, 136, 2]),
(2, &[&[209, 3, 0, 240], &[10, 52, 0, 240]], &[&[47, 252, 255, 15], &[15, 84, 85, 5], &[111, 50, 51, 3], &[46, 252, 255, 15]], &[21, 127, 136, 2], &[22, 127, 136, 2], &[22, 127, 136, 2]),
(2, &[&[47, 252, 255, 15], &[246, 203, 255, 15]], &[&[209, 3, 0, 240], &[241, 171, 170, 250], &[145, 205, 204, 252], &[210, 3, 0, 240]], &[234, 128, 119, 253], &[235, 128, 119, 253], &[234, 128, 119, 253]),
(2, &[&[209, 3, 0, 240], &[10, 52, 0, 240]], &[&[209, 3, 0, 240], &[241, 171, 170, 250], &[145, 205, 204, 252], &[210, 3, 0, 240]], &[234, 128, 119, 253], &[235, 128, 119, 253], &[234, 128, 119, 253]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 20], &[0, 0, 0, 60]], &[&[0, 0, 0, 52], &[0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[1, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 36], &[0, 0, 0, 40], &[0, 0, 0, 44]], &[&[0, 0, 0, 40], &[0, 0, 0, 48], &[0, 0, 0, 56]], &[&[0, 0, 0, 44], &[0, 0, 0, 56], &[0, 0, 0, 68]], &[&[0, 0, 0, 48], &[0, 0, 0, 64], &[0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[1, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 64], &[0, 0, 0, 80], &[255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 32], &[0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 40], &[0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[1, 0, 0, 32], &[0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 48]], &[&[255, 255, 255, 31], &[0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 64], &[0, 0, 0, 64], &[0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[0, 0, 0, 36], &[0, 0, 0, 36], &[0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[255, 255, 255, 47], &[0, 0, 0, 48], &[0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 48], &[0, 0, 0, 32]], &[&[0, 0, 0, 48], &[0, 0, 0, 32], &[0, 0, 0, 32]], &[&[0, 0, 0, 32], &[0, 0, 0, 32], &[0, 0, 0, 48]], &[&[1, 0, 0, 48], &[0, 0, 0, 48], &[0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q32_32")]
pub mod refs {
pub const FRAC_BITS: u32 = 32;
pub const STORAGE_BITS: u32 = 64;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 1, 0, 0, 0, 0, 0], &[0, 0, 1, 0, 0, 0, 0, 0]),
(&[2, 0, 0, 0, 0, 0, 0, 0], &[9, 106, 1, 0, 0, 0, 0, 0], &[10, 106, 1, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0], &[103, 187, 1, 0, 0, 0, 0, 0], &[104, 187, 1, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 1, 0, 0, 0], &[0, 0, 0, 0, 1, 0, 0, 0], &[0, 0, 0, 0, 1, 0, 0, 0]),
(&[0, 0, 0, 0, 2, 0, 0, 0], &[103, 230, 9, 106, 1, 0, 0, 0], &[104, 230, 9, 106, 1, 0, 0, 0]),
(&[0, 0, 0, 0, 4, 0, 0, 0], &[0, 0, 0, 0, 2, 0, 0, 0], &[0, 0, 0, 0, 2, 0, 0, 0]),
(&[0, 0, 0, 128, 0, 0, 0, 0], &[51, 243, 4, 181, 0, 0, 0, 0], &[52, 243, 4, 181, 0, 0, 0, 0]),
(&[1, 0, 0, 64, 0, 0, 0, 0], &[0, 0, 0, 128, 0, 0, 0, 0], &[1, 0, 0, 128, 0, 0, 0, 0]),
(&[57, 48, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 128, 0, 0], &[1, 0, 0, 0, 0, 128, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 127], &[222, 249, 51, 243, 4, 181, 0, 0], &[223, 249, 51, 243, 4, 181, 0, 0]),
(&[36, 73, 146, 36, 3, 0, 0, 0], &[8, 233, 214, 197, 1, 0, 0, 0], &[9, 233, 214, 197, 1, 0, 0, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 1, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0], &[4, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 254, 255, 255, 255], &[252, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255]),
(&[3, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 128, 5, 0, 0, 0], &[16, 0, 0, 0, 0, 0, 0, 0], &[17, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 248, 255, 255, 255], &[234, 255, 255, 255, 255, 255, 255, 255], &[235, 255, 255, 255, 255, 255, 255, 255]),
(&[3, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 192, 0, 0, 0, 0], &[1, 0, 0, 192, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 191], &[255, 255, 255, 63, 255, 255, 255, 255], &[0, 0, 0, 64, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 1, 0, 0, 0], &[252, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 254, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0], &[4, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 128, 5, 0, 0, 0], &[239, 255, 255, 255, 255, 255, 255, 255], &[240, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 248, 255, 255, 255], &[21, 0, 0, 0, 0, 0, 0, 0], &[22, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 63, 255, 255, 255, 255], &[0, 0, 0, 64, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 191], &[0, 0, 0, 192, 0, 0, 0, 0], &[1, 0, 0, 192, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 0, 0, 0, 0], &[85, 85, 85, 85, 0, 0, 0, 0], &[28, 199, 113, 28, 0, 0, 0, 0], &[29, 199, 113, 28, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 0, 0, 0, 0], &[171, 170, 170, 170, 255, 255, 255, 255], &[227, 56, 142, 227, 255, 255, 255, 255], &[228, 56, 142, 227, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 0, 0, 0, 0], &[1, 0, 0, 0, 1, 0, 0, 0], &[85, 85, 85, 85, 0, 0, 0, 0], &[86, 85, 85, 85, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 0, 0, 0, 0], &[255, 255, 255, 255, 254, 255, 255, 255], &[170, 170, 170, 170, 255, 255, 255, 255], &[171, 170, 170, 170, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 0, 0, 0, 0], &[0, 0, 0, 128, 5, 0, 0, 0], &[83, 85, 85, 213, 1, 0, 0, 0], &[84, 85, 85, 213, 1, 0, 0, 0]),
(&[85, 85, 85, 85, 0, 0, 0, 0], &[255, 255, 255, 255, 248, 255, 255, 255], &[172, 170, 170, 170, 253, 255, 255, 255], &[173, 170, 170, 170, 253, 255, 255, 255]),
(&[85, 85, 85, 85, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 64], &[69, 1, 0, 64, 85, 85, 85, 21], &[70, 1, 0, 64, 85, 85, 85, 21]),
(&[85, 85, 85, 85, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 191], &[186, 254, 255, 191, 170, 170, 170, 234], &[187, 254, 255, 191, 170, 170, 170, 234]),
(&[171, 170, 170, 170, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 255, 255, 255, 255], &[85, 85, 85, 85, 0, 0, 0, 0], &[227, 56, 142, 227, 255, 255, 255, 255], &[228, 56, 142, 227, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 255, 255, 255, 255], &[171, 170, 170, 170, 255, 255, 255, 255], &[28, 199, 113, 28, 0, 0, 0, 0], &[29, 199, 113, 28, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 255, 255, 255, 255], &[1, 0, 0, 0, 1, 0, 0, 0], &[170, 170, 170, 170, 255, 255, 255, 255], &[171, 170, 170, 170, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 255, 255, 255, 255], &[255, 255, 255, 255, 254, 255, 255, 255], &[85, 85, 85, 85, 0, 0, 0, 0], &[86, 85, 85, 85, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 255, 255, 255, 255], &[0, 0, 0, 128, 5, 0, 0, 0], &[172, 170, 170, 42, 254, 255, 255, 255], &[173, 170, 170, 42, 254, 255, 255, 255]),
(&[171, 170, 170, 170, 255, 255, 255, 255], &[255, 255, 255, 255, 248, 255, 255, 255], &[83, 85, 85, 85, 2, 0, 0, 0], &[84, 85, 85, 85, 2, 0, 0, 0]),
(&[171, 170, 170, 170, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 64], &[186, 254, 255, 191, 170, 170, 170, 234], &[187, 254, 255, 191, 170, 170, 170, 234]),
(&[171, 170, 170, 170, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 191], &[69, 1, 0, 64, 85, 85, 85, 21], &[70, 1, 0, 64, 85, 85, 85, 21]),
(&[1, 0, 0, 0, 1, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0], &[4, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 1, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255], &[252, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 1, 0, 0, 0], &[85, 85, 85, 85, 0, 0, 0, 0], &[85, 85, 85, 85, 0, 0, 0, 0], &[86, 85, 85, 85, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 1, 0, 0, 0], &[171, 170, 170, 170, 255, 255, 255, 255], &[170, 170, 170, 170, 255, 255, 255, 255], &[171, 170, 170, 170, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 1, 0, 0, 0], &[1, 0, 0, 0, 1, 0, 0, 0], &[2, 0, 0, 0, 1, 0, 0, 0], &[3, 0, 0, 0, 1, 0, 0, 0]),
(&[1, 0, 0, 0, 1, 0, 0, 0], &[255, 255, 255, 255, 254, 255, 255, 255], &[253, 255, 255, 255, 254, 255, 255, 255], &[254, 255, 255, 255, 254, 255, 255, 255]),
(&[1, 0, 0, 0, 1, 0, 0, 0], &[0, 0, 0, 128, 5, 0, 0, 0], &[5, 0, 0, 128, 5, 0, 0, 0], &[6, 0, 0, 128, 5, 0, 0, 0]),
(&[1, 0, 0, 0, 1, 0, 0, 0], &[255, 255, 255, 255, 248, 255, 255, 255], &[247, 255, 255, 255, 248, 255, 255, 255], &[248, 255, 255, 255, 248, 255, 255, 255]),
(&[1, 0, 0, 0, 1, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 64], &[209, 3, 0, 64, 0, 0, 0, 64], &[210, 3, 0, 64, 0, 0, 0, 64]),
(&[1, 0, 0, 0, 1, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 191], &[46, 252, 255, 191, 255, 255, 255, 191], &[47, 252, 255, 191, 255, 255, 255, 191]),
(&[255, 255, 255, 255, 254, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0], &[252, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 254, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0], &[4, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 254, 255, 255, 255], &[85, 85, 85, 85, 0, 0, 0, 0], &[170, 170, 170, 170, 255, 255, 255, 255], &[171, 170, 170, 170, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 254, 255, 255, 255], &[171, 170, 170, 170, 255, 255, 255, 255], &[85, 85, 85, 85, 0, 0, 0, 0], &[86, 85, 85, 85, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 254, 255, 255, 255], &[1, 0, 0, 0, 1, 0, 0, 0], &[253, 255, 255, 255, 254, 255, 255, 255], &[254, 255, 255, 255, 254, 255, 255, 255]),
(&[255, 255, 255, 255, 254, 255, 255, 255], &[255, 255, 255, 255, 254, 255, 255, 255], &[2, 0, 0, 0, 1, 0, 0, 0], &[3, 0, 0, 0, 1, 0, 0, 0]),
(&[255, 255, 255, 255, 254, 255, 255, 255], &[0, 0, 0, 128, 5, 0, 0, 0], &[250, 255, 255, 127, 250, 255, 255, 255], &[251, 255, 255, 127, 250, 255, 255, 255]),
(&[255, 255, 255, 255, 254, 255, 255, 255], &[255, 255, 255, 255, 248, 255, 255, 255], &[8, 0, 0, 0, 7, 0, 0, 0], &[9, 0, 0, 0, 7, 0, 0, 0]),
(&[255, 255, 255, 255, 254, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 64], &[46, 252, 255, 191, 255, 255, 255, 191], &[47, 252, 255, 191, 255, 255, 255, 191]),
(&[255, 255, 255, 255, 254, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 191], &[209, 3, 0, 64, 0, 0, 0, 64], &[210, 3, 0, 64, 0, 0, 0, 64]),
(&[0, 0, 0, 128, 5, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0], &[16, 0, 0, 0, 0, 0, 0, 0], &[17, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 128, 5, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255], &[239, 255, 255, 255, 255, 255, 255, 255], &[240, 255, 255, 255, 255, 255, 255, 255]),
(&[0, 0, 0, 128, 5, 0, 0, 0], &[85, 85, 85, 85, 0, 0, 0, 0], &[83, 85, 85, 213, 1, 0, 0, 0], &[84, 85, 85, 213, 1, 0, 0, 0]),
(&[0, 0, 0, 128, 5, 0, 0, 0], &[171, 170, 170, 170, 255, 255, 255, 255], &[172, 170, 170, 42, 254, 255, 255, 255], &[173, 170, 170, 42, 254, 255, 255, 255]),
(&[0, 0, 0, 128, 5, 0, 0, 0], &[1, 0, 0, 0, 1, 0, 0, 0], &[5, 0, 0, 128, 5, 0, 0, 0], &[6, 0, 0, 128, 5, 0, 0, 0]),
(&[0, 0, 0, 128, 5, 0, 0, 0], &[255, 255, 255, 255, 254, 255, 255, 255], &[250, 255, 255, 127, 250, 255, 255, 255], &[251, 255, 255, 127, 250, 255, 255, 255]),
(&[0, 0, 0, 128, 5, 0, 0, 0], &[0, 0, 0, 128, 5, 0, 0, 0], &[0, 0, 0, 64, 30, 0, 0, 0], &[0, 0, 0, 64, 30, 0, 0, 0]),
(&[0, 0, 0, 128, 5, 0, 0, 0], &[255, 255, 255, 255, 248, 255, 255, 255], &[250, 255, 255, 127, 217, 255, 255, 255], &[251, 255, 255, 127, 217, 255, 255, 255]),
(&[255, 255, 255, 255, 248, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0], &[234, 255, 255, 255, 255, 255, 255, 255], &[235, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 248, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255], &[21, 0, 0, 0, 0, 0, 0, 0], &[22, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 248, 255, 255, 255], &[85, 85, 85, 85, 0, 0, 0, 0], &[172, 170, 170, 170, 253, 255, 255, 255], &[173, 170, 170, 170, 253, 255, 255, 255]),
(&[255, 255, 255, 255, 248, 255, 255, 255], &[171, 170, 170, 170, 255, 255, 255, 255], &[83, 85, 85, 85, 2, 0, 0, 0], &[84, 85, 85, 85, 2, 0, 0, 0]),
(&[255, 255, 255, 255, 248, 255, 255, 255], &[1, 0, 0, 0, 1, 0, 0, 0], &[247, 255, 255, 255, 248, 255, 255, 255], &[248, 255, 255, 255, 248, 255, 255, 255]),
(&[255, 255, 255, 255, 248, 255, 255, 255], &[255, 255, 255, 255, 254, 255, 255, 255], &[8, 0, 0, 0, 7, 0, 0, 0], &[9, 0, 0, 0, 7, 0, 0, 0]),
(&[255, 255, 255, 255, 248, 255, 255, 255], &[0, 0, 0, 128, 5, 0, 0, 0], &[250, 255, 255, 127, 217, 255, 255, 255], &[251, 255, 255, 127, 217, 255, 255, 255]),
(&[255, 255, 255, 255, 248, 255, 255, 255], &[255, 255, 255, 255, 248, 255, 255, 255], &[14, 0, 0, 0, 49, 0, 0, 0], &[15, 0, 0, 0, 49, 0, 0, 0]),
(&[209, 3, 0, 0, 0, 0, 0, 64], &[3, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 192, 0, 0, 0, 0], &[1, 0, 0, 192, 0, 0, 0, 0]),
(&[209, 3, 0, 0, 0, 0, 0, 64], &[253, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 63, 255, 255, 255, 255], &[0, 0, 0, 64, 255, 255, 255, 255]),
(&[209, 3, 0, 0, 0, 0, 0, 64], &[85, 85, 85, 85, 0, 0, 0, 0], &[69, 1, 0, 64, 85, 85, 85, 21], &[70, 1, 0, 64, 85, 85, 85, 21]),
(&[209, 3, 0, 0, 0, 0, 0, 64], &[171, 170, 170, 170, 255, 255, 255, 255], &[186, 254, 255, 191, 170, 170, 170, 234], &[187, 254, 255, 191, 170, 170, 170, 234]),
(&[209, 3, 0, 0, 0, 0, 0, 64], &[1, 0, 0, 0, 1, 0, 0, 0], &[209, 3, 0, 64, 0, 0, 0, 64], &[210, 3, 0, 64, 0, 0, 0, 64]),
(&[209, 3, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 254, 255, 255, 255], &[46, 252, 255, 191, 255, 255, 255, 191], &[47, 252, 255, 191, 255, 255, 255, 191]),
(&[47, 252, 255, 255, 255, 255, 255, 191], &[3, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 63, 255, 255, 255, 255], &[0, 0, 0, 64, 255, 255, 255, 255]),
(&[47, 252, 255, 255, 255, 255, 255, 191], &[253, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 192, 0, 0, 0, 0], &[1, 0, 0, 192, 0, 0, 0, 0]),
(&[47, 252, 255, 255, 255, 255, 255, 191], &[85, 85, 85, 85, 0, 0, 0, 0], &[186, 254, 255, 191, 170, 170, 170, 234], &[187, 254, 255, 191, 170, 170, 170, 234]),
(&[47, 252, 255, 255, 255, 255, 255, 191], &[171, 170, 170, 170, 255, 255, 255, 255], &[69, 1, 0, 64, 85, 85, 85, 21], &[70, 1, 0, 64, 85, 85, 85, 21]),
(&[47, 252, 255, 255, 255, 255, 255, 191], &[1, 0, 0, 0, 1, 0, 0, 0], &[46, 252, 255, 191, 255, 255, 255, 191], &[47, 252, 255, 191, 255, 255, 255, 191]),
(&[47, 252, 255, 255, 255, 255, 255, 191], &[255, 255, 255, 255, 254, 255, 255, 255], &[209, 3, 0, 64, 0, 0, 0, 64], &[210, 3, 0, 64, 0, 0, 0, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 1, 0, 0, 0], &[0, 0, 0, 0, 1, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 255, 255, 255, 255], &[0, 0, 0, 0, 255, 255, 255, 255]),
(&[3, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 0, 0, 0, 0], &[9, 0, 0, 0, 0, 0, 0, 0], &[10, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 255, 255, 255, 255], &[246, 255, 255, 255, 255, 255, 255, 255], &[247, 255, 255, 255, 255, 255, 255, 255]),
(&[3, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 1, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 254, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255], &[254, 255, 255, 255, 255, 255, 255, 255]),
(&[3, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 128, 5, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 248, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 191], &[255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 255, 255, 255, 255], &[0, 0, 0, 0, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 1, 0, 0, 0], &[0, 0, 0, 0, 1, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 0, 0, 0, 0], &[246, 255, 255, 255, 255, 255, 255, 255], &[247, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 255, 255, 255, 255], &[9, 0, 0, 0, 0, 0, 0, 0], &[10, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 1, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255], &[254, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 254, 255, 255, 255], &[2, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 128, 5, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 248, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 191], &[0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 28, 199, 113, 28], &[86, 85, 85, 85, 28, 199, 113, 28]),
(&[85, 85, 85, 85, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255], &[170, 170, 170, 170, 227, 56, 142, 227], &[171, 170, 170, 170, 227, 56, 142, 227]),
(&[85, 85, 85, 85, 0, 0, 0, 0], &[85, 85, 85, 85, 0, 0, 0, 0], &[0, 0, 0, 0, 1, 0, 0, 0], &[0, 0, 0, 0, 1, 0, 0, 0]),
(&[85, 85, 85, 85, 0, 0, 0, 0], &[171, 170, 170, 170, 255, 255, 255, 255], &[0, 0, 0, 0, 255, 255, 255, 255], &[0, 0, 0, 0, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 0, 0, 0, 0], &[1, 0, 0, 0, 1, 0, 0, 0], &[84, 85, 85, 85, 0, 0, 0, 0], &[85, 85, 85, 85, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 0, 0, 0, 0], &[255, 255, 255, 255, 254, 255, 255, 255], &[171, 170, 170, 170, 255, 255, 255, 255], &[172, 170, 170, 170, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 0, 0, 0, 0], &[0, 0, 0, 128, 5, 0, 0, 0], &[248, 224, 131, 15, 0, 0, 0, 0], &[249, 224, 131, 15, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 0, 0, 0, 0], &[255, 255, 255, 255, 248, 255, 255, 255], &[243, 60, 207, 243, 255, 255, 255, 255], &[244, 60, 207, 243, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 64], &[1, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 191], &[254, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0], &[170, 170, 170, 170, 227, 56, 142, 227], &[171, 170, 170, 170, 227, 56, 142, 227]),
(&[171, 170, 170, 170, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 28, 199, 113, 28], &[86, 85, 85, 85, 28, 199, 113, 28]),
(&[171, 170, 170, 170, 255, 255, 255, 255], &[85, 85, 85, 85, 0, 0, 0, 0], &[0, 0, 0, 0, 255, 255, 255, 255], &[0, 0, 0, 0, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 255, 255, 255, 255], &[171, 170, 170, 170, 255, 255, 255, 255], &[0, 0, 0, 0, 1, 0, 0, 0], &[0, 0, 0, 0, 1, 0, 0, 0]),
(&[171, 170, 170, 170, 255, 255, 255, 255], &[1, 0, 0, 0, 1, 0, 0, 0], &[171, 170, 170, 170, 255, 255, 255, 255], &[172, 170, 170, 170, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 255, 255, 255, 255], &[255, 255, 255, 255, 254, 255, 255, 255], &[84, 85, 85, 85, 0, 0, 0, 0], &[85, 85, 85, 85, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 255, 255, 255, 255], &[0, 0, 0, 128, 5, 0, 0, 0], &[7, 31, 124, 240, 255, 255, 255, 255], &[8, 31, 124, 240, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 255, 255, 255, 255], &[255, 255, 255, 255, 248, 255, 255, 255], &[12, 195, 48, 12, 0, 0, 0, 0], &[13, 195, 48, 12, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 64], &[254, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 191], &[1, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 1, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0], &[170, 170, 170, 170, 85, 85, 85, 85], &[171, 170, 170, 170, 85, 85, 85, 85]),
(&[1, 0, 0, 0, 1, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 170, 170, 170, 170], &[86, 85, 85, 85, 170, 170, 170, 170]),
(&[1, 0, 0, 0, 1, 0, 0, 0], &[85, 85, 85, 85, 0, 0, 0, 0], &[6, 0, 0, 0, 3, 0, 0, 0], &[7, 0, 0, 0, 3, 0, 0, 0]),
(&[1, 0, 0, 0, 1, 0, 0, 0], &[171, 170, 170, 170, 255, 255, 255, 255], &[249, 255, 255, 255, 252, 255, 255, 255], &[250, 255, 255, 255, 252, 255, 255, 255]),
(&[1, 0, 0, 0, 1, 0, 0, 0], &[1, 0, 0, 0, 1, 0, 0, 0], &[0, 0, 0, 0, 1, 0, 0, 0], &[0, 0, 0, 0, 1, 0, 0, 0]),
(&[1, 0, 0, 0, 1, 0, 0, 0], &[255, 255, 255, 255, 254, 255, 255, 255], &[0, 0, 0, 0, 255, 255, 255, 255], &[0, 0, 0, 0, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 1, 0, 0, 0], &[0, 0, 0, 128, 5, 0, 0, 0], &[232, 162, 139, 46, 0, 0, 0, 0], &[233, 162, 139, 46, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 1, 0, 0, 0], &[255, 255, 255, 255, 248, 255, 255, 255], &[219, 182, 109, 219, 255, 255, 255, 255], &[220, 182, 109, 219, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 1, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 64], &[4, 0, 0, 0, 0, 0, 0, 0], &[5, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 1, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 191], &[251, 255, 255, 255, 255, 255, 255, 255], &[252, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 254, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 170, 170, 170, 170], &[86, 85, 85, 85, 170, 170, 170, 170]),
(&[255, 255, 255, 255, 254, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255], &[170, 170, 170, 170, 85, 85, 85, 85], &[171, 170, 170, 170, 85, 85, 85, 85]),
(&[255, 255, 255, 255, 254, 255, 255, 255], &[85, 85, 85, 85, 0, 0, 0, 0], &[249, 255, 255, 255, 252, 255, 255, 255], &[250, 255, 255, 255, 252, 255, 255, 255]),
(&[255, 255, 255, 255, 254, 255, 255, 255], &[171, 170, 170, 170, 255, 255, 255, 255], &[6, 0, 0, 0, 3, 0, 0, 0], &[7, 0, 0, 0, 3, 0, 0, 0]),
(&[255, 255, 255, 255, 254, 255, 255, 255], &[1, 0, 0, 0, 1, 0, 0, 0], &[0, 0, 0, 0, 255, 255, 255, 255], &[0, 0, 0, 0, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 254, 255, 255, 255], &[255, 255, 255, 255, 254, 255, 255, 255], &[0, 0, 0, 0, 1, 0, 0, 0], &[0, 0, 0, 0, 1, 0, 0, 0]),
(&[255, 255, 255, 255, 254, 255, 255, 255], &[0, 0, 0, 128, 5, 0, 0, 0], &[23, 93, 116, 209, 255, 255, 255, 255], &[24, 93, 116, 209, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 254, 255, 255, 255], &[255, 255, 255, 255, 248, 255, 255, 255], &[36, 73, 146, 36, 0, 0, 0, 0], &[37, 73, 146, 36, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 254, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 64], &[251, 255, 255, 255, 255, 255, 255, 255], &[252, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 254, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 191], &[4, 0, 0, 0, 0, 0, 0, 0], &[5, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 128, 5, 0, 0, 0], &[85, 85, 85, 85, 0, 0, 0, 0], &[16, 0, 0, 128, 16, 0, 0, 0], &[17, 0, 0, 128, 16, 0, 0, 0]),
(&[0, 0, 0, 128, 5, 0, 0, 0], &[171, 170, 170, 170, 255, 255, 255, 255], &[239, 255, 255, 127, 239, 255, 255, 255], &[240, 255, 255, 127, 239, 255, 255, 255]),
(&[0, 0, 0, 128, 5, 0, 0, 0], &[1, 0, 0, 0, 1, 0, 0, 0], &[250, 255, 255, 127, 5, 0, 0, 0], &[251, 255, 255, 127, 5, 0, 0, 0]),
(&[0, 0, 0, 128, 5, 0, 0, 0], &[255, 255, 255, 255, 254, 255, 255, 255], &[5, 0, 0, 128, 250, 255, 255, 255], &[6, 0, 0, 128, 250, 255, 255, 255]),
(&[0, 0, 0, 128, 5, 0, 0, 0], &[0, 0, 0, 128, 5, 0, 0, 0], &[0, 0, 0, 0, 1, 0, 0, 0], &[0, 0, 0, 0, 1, 0, 0, 0]),
(&[0, 0, 0, 128, 5, 0, 0, 0], &[255, 255, 255, 255, 248, 255, 255, 255], &[182, 109, 219, 54, 255, 255, 255, 255], &[183, 109, 219, 54, 255, 255, 255, 255]),
(&[0, 0, 0, 128, 5, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 64], &[21, 0, 0, 0, 0, 0, 0, 0], &[22, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 128, 5, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 191], &[234, 255, 255, 255, 255, 255, 255, 255], &[235, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 248, 255, 255, 255], &[85, 85, 85, 85, 0, 0, 0, 0], &[231, 255, 255, 255, 234, 255, 255, 255], &[232, 255, 255, 255, 234, 255, 255, 255]),
(&[255, 255, 255, 255, 248, 255, 255, 255], &[171, 170, 170, 170, 255, 255, 255, 255], &[24, 0, 0, 0, 21, 0, 0, 0], &[25, 0, 0, 0, 21, 0, 0, 0]),
(&[255, 255, 255, 255, 248, 255, 255, 255], &[1, 0, 0, 0, 1, 0, 0, 0], &[5, 0, 0, 0, 249, 255, 255, 255], &[6, 0, 0, 0, 249, 255, 255, 255]),
(&[255, 255, 255, 255, 248, 255, 255, 255], &[255, 255, 255, 255, 254, 255, 255, 255], &[250, 255, 255, 255, 6, 0, 0, 0], &[251, 255, 255, 255, 6, 0, 0, 0]),
(&[255, 255, 255, 255, 248, 255, 255, 255], &[0, 0, 0, 128, 5, 0, 0, 0], &[162, 139, 46, 186, 254, 255, 255, 255], &[163, 139, 46, 186, 254, 255, 255, 255]),
(&[255, 255, 255, 255, 248, 255, 255, 255], &[255, 255, 255, 255, 248, 255, 255, 255], &[0, 0, 0, 0, 1, 0, 0, 0], &[0, 0, 0, 0, 1, 0, 0, 0]),
(&[255, 255, 255, 255, 248, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 64], &[227, 255, 255, 255, 255, 255, 255, 255], &[228, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 248, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 191], &[28, 0, 0, 0, 0, 0, 0, 0], &[29, 0, 0, 0, 0, 0, 0, 0]),
(&[209, 3, 0, 0, 0, 0, 0, 64], &[1, 0, 0, 0, 1, 0, 0, 0], &[209, 3, 0, 192, 255, 255, 255, 63], &[210, 3, 0, 192, 255, 255, 255, 63]),
(&[209, 3, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 254, 255, 255, 255], &[46, 252, 255, 63, 0, 0, 0, 192], &[47, 252, 255, 63, 0, 0, 0, 192]),
(&[209, 3, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 128, 5, 0, 0, 0], &[154, 163, 139, 46, 186, 232, 162, 11], &[155, 163, 139, 46, 186, 232, 162, 11]),
(&[209, 3, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 248, 255, 255, 255], &[90, 20, 188, 220, 182, 109, 219, 246], &[91, 20, 188, 220, 182, 109, 219, 246]),
(&[209, 3, 0, 0, 0, 0, 0, 64], &[209, 3, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 1, 0, 0, 0], &[0, 0, 0, 0, 1, 0, 0, 0]),
(&[209, 3, 0, 0, 0, 0, 0, 64], &[47, 252, 255, 255, 255, 255, 255, 191], &[0, 0, 0, 0, 255, 255, 255, 255], &[0, 0, 0, 0, 255, 255, 255, 255]),
(&[47, 252, 255, 255, 255, 255, 255, 191], &[1, 0, 0, 0, 1, 0, 0, 0], &[46, 252, 255, 63, 0, 0, 0, 192], &[47, 252, 255, 63, 0, 0, 0, 192]),
(&[47, 252, 255, 255, 255, 255, 255, 191], &[255, 255, 255, 255, 254, 255, 255, 255], &[209, 3, 0, 192, 255, 255, 255, 63], &[210, 3, 0, 192, 255, 255, 255, 63]),
(&[47, 252, 255, 255, 255, 255, 255, 191], &[0, 0, 0, 128, 5, 0, 0, 0], &[101, 92, 116, 209, 69, 23, 93, 244], &[102, 92, 116, 209, 69, 23, 93, 244]),
(&[47, 252, 255, 255, 255, 255, 255, 191], &[255, 255, 255, 255, 248, 255, 255, 255], &[165, 235, 67, 35, 73, 146, 36, 9], &[166, 235, 67, 35, 73, 146, 36, 9]),
(&[47, 252, 255, 255, 255, 255, 255, 191], &[209, 3, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 255, 255, 255, 255], &[0, 0, 0, 0, 255, 255, 255, 255]),
(&[47, 252, 255, 255, 255, 255, 255, 191], &[47, 252, 255, 255, 255, 255, 255, 191], &[0, 0, 0, 0, 1, 0, 0, 0], &[0, 0, 0, 0, 1, 0, 0, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[192, 176, 153, 228, 1, 0, 0, 0], &[193, 176, 153, 228, 1, 0, 0, 0]),
(50, &[45, 116, 53, 193, 2, 0, 0, 0], &[46, 116, 53, 193, 2, 0, 0, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 0, 0, 128, 0, 0, 0, 0]], &[&[2, 0, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0]),
(1, &[&[0, 0, 0, 128, 0, 0, 0, 0]], &[&[254, 255, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[0, 0, 0, 128, 0, 0, 0, 0], &[0, 0, 0, 128, 0, 0, 0, 0]], &[&[0, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0]], &[1, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[0, 0, 0, 128, 0, 0, 0, 0], &[0, 0, 0, 128, 0, 0, 0, 0]], &[&[0, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0]),
(3, &[&[0, 0, 0, 128, 0, 0, 0, 0], &[0, 0, 0, 64, 255, 255, 255, 255], &[0, 0, 0, 160, 0, 0, 0, 0]], &[&[0, 0, 0, 0, 1, 0, 0, 0], &[0, 0, 0, 64, 0, 0, 0, 0], &[0, 0, 0, 224, 255, 255, 255, 255], &[0, 0, 0, 64, 0, 0, 0, 0], &[0, 0, 0, 0, 2, 0, 0, 0], &[0, 0, 0, 16, 0, 0, 0, 0], &[0, 0, 0, 224, 255, 255, 255, 255], &[0, 0, 0, 16, 0, 0, 0, 0], &[0, 0, 0, 128, 0, 0, 0, 0]], &[0, 0, 0, 63, 1, 0, 0, 0], &[0, 0, 0, 63, 1, 0, 0, 0], &[0, 0, 0, 63, 1, 0, 0, 0]),
(2, &[&[49, 238, 255, 255, 255, 255, 255, 255], &[215, 103, 255, 255, 255, 255, 255, 255]], &[&[161, 75, 255, 255, 255, 255, 255, 255], &[70, 246, 0, 0, 0, 0, 0, 0], &[10, 213, 255, 255, 255, 255, 255, 255], &[17, 237, 255, 255, 255, 255, 255, 255]], &[0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[196, 114, 0, 0, 0, 0, 0, 0], &[37, 242, 0, 0, 0, 0, 0, 0]], &[&[154, 78, 0, 0, 0, 0, 0, 0], &[210, 245, 0, 0, 0, 0, 0, 0], &[40, 2, 255, 255, 255, 255, 255, 255], &[155, 58, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[212, 234, 255, 255, 255, 255, 255, 255], &[214, 103, 255, 255, 255, 255, 255, 255]], &[&[243, 107, 0, 0, 0, 0, 0, 0], &[205, 44, 0, 0, 0, 0, 0, 0], &[7, 144, 255, 255, 255, 255, 255, 255], &[244, 229, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0]),
(3, &[&[44, 88, 0, 0, 0, 0, 0, 0], &[34, 16, 255, 255, 255, 255, 255, 255], &[40, 161, 0, 0, 0, 0, 0, 0]], &[&[146, 124, 255, 255, 255, 255, 255, 255], &[206, 133, 255, 255, 255, 255, 255, 255], &[30, 132, 255, 255, 255, 255, 255, 255], &[149, 15, 0, 0, 0, 0, 0, 0], &[73, 127, 255, 255, 255, 255, 255, 255], &[212, 188, 255, 255, 255, 255, 255, 255], &[143, 48, 255, 255, 255, 255, 255, 255], &[42, 137, 255, 255, 255, 255, 255, 255], &[191, 131, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0]),
(3, &[&[222, 118, 255, 255, 255, 255, 255, 255], &[148, 37, 0, 0, 0, 0, 0, 0], &[168, 30, 0, 0, 0, 0, 0, 0]], &[&[58, 3, 0, 0, 0, 0, 0, 0], &[195, 107, 255, 255, 255, 255, 255, 255], &[140, 214, 0, 0, 0, 0, 0, 0], &[74, 196, 0, 0, 0, 0, 0, 0], &[137, 154, 0, 0, 0, 0, 0, 0], &[189, 244, 0, 0, 0, 0, 0, 0], &[115, 220, 0, 0, 0, 0, 0, 0], &[199, 168, 255, 255, 255, 255, 255, 255], &[188, 247, 0, 0, 0, 0, 0, 0]], &[255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0]),
(3, &[&[35, 140, 0, 0, 0, 0, 0, 0], &[203, 70, 255, 255, 255, 255, 255, 255], &[83, 241, 0, 0, 0, 0, 0, 0]], &[&[224, 88, 255, 255, 255, 255, 255, 255], &[171, 120, 0, 0, 0, 0, 0, 0], &[16, 82, 0, 0, 0, 0, 0, 0], &[215, 189, 255, 255, 255, 255, 255, 255], &[132, 7, 255, 255, 255, 255, 255, 255], &[1, 145, 255, 255, 255, 255, 255, 255], &[42, 107, 0, 0, 0, 0, 0, 0], &[234, 184, 0, 0, 0, 0, 0, 0], &[159, 118, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0]),
(5, &[&[118, 11, 0, 0, 0, 0, 0, 0], &[92, 197, 0, 0, 0, 0, 0, 0], &[38, 100, 0, 0, 0, 0, 0, 0], &[216, 172, 255, 255, 255, 255, 255, 255], &[99, 78, 255, 255, 255, 255, 255, 255]], &[&[237, 47, 255, 255, 255, 255, 255, 255], &[221, 168, 255, 255, 255, 255, 255, 255], &[92, 196, 0, 0, 0, 0, 0, 0], &[136, 101, 0, 0, 0, 0, 0, 0], &[130, 167, 0, 0, 0, 0, 0, 0], &[175, 102, 255, 255, 255, 255, 255, 255], &[75, 87, 255, 255, 255, 255, 255, 255], &[79, 180, 0, 0, 0, 0, 0, 0], &[27, 53, 255, 255, 255, 255, 255, 255], &[194, 33, 255, 255, 255, 255, 255, 255], &[176, 126, 0, 0, 0, 0, 0, 0], &[220, 175, 0, 0, 0, 0, 0, 0], &[49, 217, 255, 255, 255, 255, 255, 255], &[138, 107, 0, 0, 0, 0, 0, 0], &[155, 150, 0, 0, 0, 0, 0, 0], &[222, 195, 255, 255, 255, 255, 255, 255], &[41, 186, 255, 255, 255, 255, 255, 255], &[140, 34, 0, 0, 0, 0, 0, 0], &[250, 49, 255, 255, 255, 255, 255, 255], &[198, 105, 0, 0, 0, 0, 0, 0], &[14, 217, 255, 255, 255, 255, 255, 255], &[134, 181, 255, 255, 255, 255, 255, 255], &[37, 230, 0, 0, 0, 0, 0, 0], &[167, 157, 0, 0, 0, 0, 0, 0], &[58, 204, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0]),
(5, &[&[242, 4, 0, 0, 0, 0, 0, 0], &[115, 21, 255, 255, 255, 255, 255, 255], &[35, 134, 0, 0, 0, 0, 0, 0], &[105, 99, 0, 0, 0, 0, 0, 0], &[224, 222, 0, 0, 0, 0, 0, 0]], &[&[77, 55, 255, 255, 255, 255, 255, 255], &[14, 34, 255, 255, 255, 255, 255, 255], &[44, 63, 0, 0, 0, 0, 0, 0], &[161, 255, 0, 0, 0, 0, 0, 0], &[88, 114, 255, 255, 255, 255, 255, 255], &[190, 40, 255, 255, 255, 255, 255, 255], &[7, 227, 255, 255, 255, 255, 255, 255], &[13, 151, 0, 0, 0, 0, 0, 0], &[107, 40, 0, 0, 0, 0, 0, 0], &[131, 79, 255, 255, 255, 255, 255, 255], &[111, 252, 255, 255, 255, 255, 255, 255], &[147, 206, 0, 0, 0, 0, 0, 0], &[103, 47, 0, 0, 0, 0, 0, 0], &[132, 228, 255, 255, 255, 255, 255, 255], &[192, 66, 255, 255, 255, 255, 255, 255], &[192, 31, 0, 0, 0, 0, 0, 0], &[60, 17, 255, 255, 255, 255, 255, 255], &[71, 20, 0, 0, 0, 0, 0, 0], &[220, 246, 0, 0, 0, 0, 0, 0], &[181, 101, 255, 255, 255, 255, 255, 255], &[0, 128, 255, 255, 255, 255, 255, 255], &[186, 146, 0, 0, 0, 0, 0, 0], &[155, 169, 255, 255, 255, 255, 255, 255], &[146, 251, 0, 0, 0, 0, 0, 0], &[101, 233, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0]),
(5, &[&[21, 75, 0, 0, 0, 0, 0, 0], &[28, 173, 255, 255, 255, 255, 255, 255], &[229, 72, 255, 255, 255, 255, 255, 255], &[254, 134, 0, 0, 0, 0, 0, 0], &[102, 46, 255, 255, 255, 255, 255, 255]], &[&[107, 227, 255, 255, 255, 255, 255, 255], &[152, 227, 255, 255, 255, 255, 255, 255], &[195, 153, 255, 255, 255, 255, 255, 255], &[73, 203, 255, 255, 255, 255, 255, 255], &[114, 101, 255, 255, 255, 255, 255, 255], &[86, 136, 0, 0, 0, 0, 0, 0], &[145, 212, 255, 255, 255, 255, 255, 255], &[249, 87, 0, 0, 0, 0, 0, 0], &[160, 188, 0, 0, 0, 0, 0, 0], &[70, 230, 255, 255, 255, 255, 255, 255], &[68, 29, 0, 0, 0, 0, 0, 0], &[58, 163, 0, 0, 0, 0, 0, 0], &[88, 87, 0, 0, 0, 0, 0, 0], &[108, 99, 0, 0, 0, 0, 0, 0], &[1, 194, 0, 0, 0, 0, 0, 0], &[193, 185, 255, 255, 255, 255, 255, 255], &[175, 210, 255, 255, 255, 255, 255, 255], &[66, 28, 0, 0, 0, 0, 0, 0], &[224, 251, 0, 0, 0, 0, 0, 0], &[195, 9, 255, 255, 255, 255, 255, 255], &[132, 77, 0, 0, 0, 0, 0, 0], &[70, 17, 0, 0, 0, 0, 0, 0], &[62, 88, 255, 255, 255, 255, 255, 255], &[58, 55, 0, 0, 0, 0, 0, 0], &[198, 194, 255, 255, 255, 255, 255, 255]], &[0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0]),
(7, &[&[238, 29, 255, 255, 255, 255, 255, 255], &[129, 95, 255, 255, 255, 255, 255, 255], &[130, 179, 255, 255, 255, 255, 255, 255], &[93, 96, 0, 0, 0, 0, 0, 0], &[110, 90, 255, 255, 255, 255, 255, 255], &[208, 208, 0, 0, 0, 0, 0, 0], &[110, 182, 0, 0, 0, 0, 0, 0]], &[&[37, 198, 0, 0, 0, 0, 0, 0], &[13, 9, 255, 255, 255, 255, 255, 255], &[211, 191, 0, 0, 0, 0, 0, 0], &[34, 102, 0, 0, 0, 0, 0, 0], &[99, 42, 255, 255, 255, 255, 255, 255], &[133, 243, 0, 0, 0, 0, 0, 0], &[87, 71, 255, 255, 255, 255, 255, 255], &[131, 77, 255, 255, 255, 255, 255, 255], &[27, 121, 0, 0, 0, 0, 0, 0], &[245, 53, 0, 0, 0, 0, 0, 0], &[2, 174, 0, 0, 0, 0, 0, 0], &[227, 180, 255, 255, 255, 255, 255, 255], &[15, 4, 0, 0, 0, 0, 0, 0], &[57, 234, 255, 255, 255, 255, 255, 255], &[212, 137, 0, 0, 0, 0, 0, 0], &[162, 176, 255, 255, 255, 255, 255, 255], &[215, 22, 0, 0, 0, 0, 0, 0], &[167, 33, 255, 255, 255, 255, 255, 255], &[204, 54, 0, 0, 0, 0, 0, 0], &[50, 174, 255, 255, 255, 255, 255, 255], &[208, 122, 0, 0, 0, 0, 0, 0], &[221, 103, 255, 255, 255, 255, 255, 255], &[212, 253, 255, 255, 255, 255, 255, 255], &[50, 218, 0, 0, 0, 0, 0, 0], &[225, 151, 0, 0, 0, 0, 0, 0], &[139, 88, 0, 0, 0, 0, 0, 0], &[72, 17, 0, 0, 0, 0, 0, 0], &[60, 105, 255, 255, 255, 255, 255, 255], &[178, 158, 0, 0, 0, 0, 0, 0], &[122, 247, 0, 0, 0, 0, 0, 0], &[137, 26, 0, 0, 0, 0, 0, 0], &[249, 46, 255, 255, 255, 255, 255, 255], &[227, 19, 0, 0, 0, 0, 0, 0], &[33, 80, 0, 0, 0, 0, 0, 0], &[166, 22, 255, 255, 255, 255, 255, 255], &[63, 231, 255, 255, 255, 255, 255, 255], &[176, 91, 0, 0, 0, 0, 0, 0], &[179, 202, 0, 0, 0, 0, 0, 0], &[74, 215, 0, 0, 0, 0, 0, 0], &[199, 10, 255, 255, 255, 255, 255, 255], &[15, 3, 0, 0, 0, 0, 0, 0], &[33, 16, 0, 0, 0, 0, 0, 0], &[25, 216, 255, 255, 255, 255, 255, 255], &[12, 97, 255, 255, 255, 255, 255, 255], &[21, 247, 0, 0, 0, 0, 0, 0], &[139, 39, 0, 0, 0, 0, 0, 0], &[42, 249, 255, 255, 255, 255, 255, 255], &[32, 133, 0, 0, 0, 0, 0, 0], &[85, 129, 255, 255, 255, 255, 255, 255]], &[0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0]),
(7, &[&[57, 215, 255, 255, 255, 255, 255, 255], &[5, 8, 255, 255, 255, 255, 255, 255], &[165, 225, 255, 255, 255, 255, 255, 255], &[153, 154, 255, 255, 255, 255, 255, 255], &[65, 255, 255, 255, 255, 255, 255, 255], &[13, 68, 255, 255, 255, 255, 255, 255], &[119, 3, 255, 255, 255, 255, 255, 255]], &[&[166, 10, 255, 255, 255, 255, 255, 255], &[87, 222, 255, 255, 255, 255, 255, 255], &[144, 130, 0, 0, 0, 0, 0, 0], &[145, 115, 255, 255, 255, 255, 255, 255], &[108, 167, 0, 0, 0, 0, 0, 0], &[8, 125, 0, 0, 0, 0, 0, 0], &[182, 46, 0, 0, 0, 0, 0, 0], &[68, 11, 255, 255, 255, 255, 255, 255], &[62, 182, 255, 255, 255, 255, 255, 255], &[163, 59, 0, 0, 0, 0, 0, 0], &[92, 168, 255, 255, 255, 255, 255, 255], &[211, 1, 255, 255, 255, 255, 255, 255], &[51, 11, 0, 0, 0, 0, 0, 0], &[31, 95, 255, 255, 255, 255, 255, 255], &[45, 248, 0, 0, 0, 0, 0, 0], &[136, 219, 0, 0, 0, 0, 0, 0], &[115, 48, 255, 255, 255, 255, 255, 255], &[195, 91, 0, 0, 0, 0, 0, 0], &[215, 77, 0, 0, 0, 0, 0, 0], &[204, 48, 255, 255, 255, 255, 255, 255], &[147, 35, 0, 0, 0, 0, 0, 0], &[131, 99, 0, 0, 0, 0, 0, 0], &[213, 15, 0, 0, 0, 0, 0, 0], &[53, 58, 0, 0, 0, 0, 0, 0], &[66, 95, 255, 255, 255, 255, 255, 255], &[113, 141, 0, 0, 0, 0, 0, 0], &[149, 135, 0, 0, 0, 0, 0, 0], &[151, 54, 0, 0, 0, 0, 0, 0], &[146, 103, 255, 255, 255, 255, 255, 255], &[95, 8, 0, 0, 0, 0, 0, 0], &[113, 234, 0, 0, 0, 0, 0, 0], &[209, 114, 255, 255, 255, 255, 255, 255], &[158, 4, 255, 255, 255, 255, 255, 255], &[39, 251, 0, 0, 0, 0, 0, 0], &[224, 147, 0, 0, 0, 0, 0, 0], &[224, 254, 255, 255, 255, 255, 255, 255], &[13, 124, 0, 0, 0, 0, 0, 0], &[129, 200, 255, 255, 255, 255, 255, 255], &[62, 188, 0, 0, 0, 0, 0, 0], &[187, 85, 255, 255, 255, 255, 255, 255], &[185, 232, 0, 0, 0, 0, 0, 0], &[104, 71, 255, 255, 255, 255, 255, 255], &[214, 52, 0, 0, 0, 0, 0, 0], &[132, 239, 0, 0, 0, 0, 0, 0], &[125, 197, 255, 255, 255, 255, 255, 255], &[31, 227, 255, 255, 255, 255, 255, 255], &[163, 44, 255, 255, 255, 255, 255, 255], &[87, 103, 0, 0, 0, 0, 0, 0], &[214, 156, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0]),
(7, &[&[47, 174, 255, 255, 255, 255, 255, 255], &[84, 190, 0, 0, 0, 0, 0, 0], &[29, 120, 0, 0, 0, 0, 0, 0], &[225, 37, 255, 255, 255, 255, 255, 255], &[14, 159, 0, 0, 0, 0, 0, 0], &[200, 250, 255, 255, 255, 255, 255, 255], &[139, 146, 0, 0, 0, 0, 0, 0]], &[&[167, 234, 255, 255, 255, 255, 255, 255], &[133, 233, 255, 255, 255, 255, 255, 255], &[30, 170, 0, 0, 0, 0, 0, 0], &[17, 39, 255, 255, 255, 255, 255, 255], &[241, 245, 0, 0, 0, 0, 0, 0], &[24, 206, 0, 0, 0, 0, 0, 0], &[213, 88, 0, 0, 0, 0, 0, 0], &[187, 8, 0, 0, 0, 0, 0, 0], &[165, 31, 0, 0, 0, 0, 0, 0], &[30, 54, 255, 255, 255, 255, 255, 255], &[18, 45, 0, 0, 0, 0, 0, 0], &[108, 164, 0, 0, 0, 0, 0, 0], &[244, 26, 0, 0, 0, 0, 0, 0], &[249, 61, 255, 255, 255, 255, 255, 255], &[29, 240, 255, 255, 255, 255, 255, 255], &[193, 85, 0, 0, 0, 0, 0, 0], &[216, 68, 255, 255, 255, 255, 255, 255], &[241, 92, 0, 0, 0, 0, 0, 0], &[234, 77, 0, 0, 0, 0, 0, 0], &[152, 208, 255, 255, 255, 255, 255, 255], &[206, 215, 0, 0, 0, 0, 0, 0], &[142, 210, 255, 255, 255, 255, 255, 255], &[231, 186, 255, 255, 255, 255, 255, 255], &[116, 228, 255, 255, 255, 255, 255, 255], &[197, 33, 255, 255, 255, 255, 255, 255], &[89, 111, 0, 0, 0, 0, 0, 0], &[183, 158, 0, 0, 0, 0, 0, 0], &[104, 185, 255, 255, 255, 255, 255, 255], &[121, 203, 0, 0, 0, 0, 0, 0], &[2, 226, 255, 255, 255, 255, 255, 255], &[248, 30, 255, 255, 255, 255, 255, 255], &[216, 11, 255, 255, 255, 255, 255, 255], &[69, 68, 255, 255, 255, 255, 255, 255], &[96, 197, 0, 0, 0, 0, 0, 0], &[175, 85, 0, 0, 0, 0, 0, 0], &[236, 121, 0, 0, 0, 0, 0, 0], &[194, 8, 255, 255, 255, 255, 255, 255], &[89, 35, 255, 255, 255, 255, 255, 255], &[183, 108, 255, 255, 255, 255, 255, 255], &[142, 89, 0, 0, 0, 0, 0, 0], &[176, 20, 0, 0, 0, 0, 0, 0], &[98, 189, 0, 0, 0, 0, 0, 0], &[174, 13, 255, 255, 255, 255, 255, 255], &[19, 152, 0, 0, 0, 0, 0, 0], &[124, 18, 0, 0, 0, 0, 0, 0], &[230, 152, 0, 0, 0, 0, 0, 0], &[20, 181, 0, 0, 0, 0, 0, 0], &[40, 124, 0, 0, 0, 0, 0, 0], &[69, 54, 0, 0, 0, 0, 0, 0]], &[255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[47, 252, 255, 255, 255, 0, 0, 0], &[246, 203, 255, 255, 255, 0, 0, 0]], &[&[47, 252, 255, 255, 255, 0, 0, 0], &[15, 84, 85, 85, 85, 0, 0, 0], &[111, 50, 51, 51, 51, 0, 0, 0], &[46, 252, 255, 255, 255, 0, 0, 0]], &[235, 221, 90, 241, 135, 136, 136, 2], &[236, 221, 90, 241, 135, 136, 136, 2], &[235, 221, 90, 241, 135, 136, 136, 2]),
(2, &[&[209, 3, 0, 0, 0, 255, 255, 255], &[10, 52, 0, 0, 0, 255, 255, 255]], &[&[47, 252, 255, 255, 255, 0, 0, 0], &[15, 84, 85, 85, 85, 0, 0, 0], &[111, 50, 51, 51, 51, 0, 0, 0], &[46, 252, 255, 255, 255, 0, 0, 0]], &[235, 221, 90, 241, 135, 136, 136, 2], &[236, 221, 90, 241, 135, 136, 136, 2], &[235, 221, 90, 241, 135, 136, 136, 2]),
(2, &[&[47, 252, 255, 255, 255, 0, 0, 0], &[246, 203, 255, 255, 255, 0, 0, 0]], &[&[209, 3, 0, 0, 0, 255, 255, 255], &[241, 171, 170, 170, 170, 255, 255, 255], &[145, 205, 204, 204, 204, 255, 255, 255], &[210, 3, 0, 0, 0, 255, 255, 255]], &[20, 34, 165, 14, 120, 119, 119, 253], &[21, 34, 165, 14, 120, 119, 119, 253], &[21, 34, 165, 14, 120, 119, 119, 253]),
(2, &[&[209, 3, 0, 0, 0, 255, 255, 255], &[10, 52, 0, 0, 0, 255, 255, 255]], &[&[209, 3, 0, 0, 0, 255, 255, 255], &[241, 171, 170, 170, 170, 255, 255, 255], &[145, 205, 204, 204, 204, 255, 255, 255], &[210, 3, 0, 0, 0, 255, 255, 255]], &[20, 34, 165, 14, 120, 119, 119, 253], &[21, 34, 165, 14, 120, 119, 119, 253], &[21, 34, 165, 14, 120, 119, 119, 253]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 20], &[0, 0, 0, 0, 0, 0, 0, 60]], &[&[0, 0, 0, 0, 0, 0, 0, 20], &[0, 0, 0, 0, 0, 0, 0, 60]], &[&[0, 0, 0, 0, 0, 0, 0, 52], &[0, 0, 0, 0, 0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 64], &[1, 0, 0, 0, 0, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 80], &[0, 0, 0, 0, 0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 36], &[0, 0, 0, 0, 0, 0, 0, 40], &[0, 0, 0, 0, 0, 0, 0, 44]], &[&[0, 0, 0, 0, 0, 0, 0, 40], &[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 56]], &[&[0, 0, 0, 0, 0, 0, 0, 44], &[0, 0, 0, 0, 0, 0, 0, 56], &[0, 0, 0, 0, 0, 0, 0, 68]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 80], &[1, 0, 0, 0, 0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 80], &[255, 255, 255, 255, 255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 40], &[0, 0, 0, 0, 0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 40], &[0, 0, 0, 0, 0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 48]], &[&[1, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 48]], &[&[255, 255, 255, 255, 255, 255, 255, 31], &[0, 0, 0, 0, 0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 36], &[0, 0, 0, 0, 0, 0, 0, 36], &[0, 0, 0, 0, 0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 36], &[0, 0, 0, 0, 0, 0, 0, 36], &[0, 0, 0, 0, 0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48]], &[&[255, 255, 255, 255, 255, 255, 255, 47], &[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 48]], &[&[1, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q64_64")]
pub mod refs {
pub const FRAC_BITS: u32 = 64;
pub const STORAGE_BITS: u32 = 128;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[103, 230, 9, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[104, 230, 9, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[133, 174, 103, 187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[134, 174, 103, 187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], &[8, 201, 188, 243, 103, 230, 9, 106, 1, 0, 0, 0, 0, 0, 0, 0], &[9, 201, 188, 243, 103, 230, 9, 106, 1, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0], &[132, 100, 222, 249, 51, 243, 4, 181, 0, 0, 0, 0, 0, 0, 0, 0], &[133, 100, 222, 249, 51, 243, 4, 181, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[57, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127], &[179, 137, 125, 89, 132, 100, 222, 249, 51, 243, 4, 181, 0, 0, 0, 0], &[180, 137, 125, 89, 132, 100, 222, 249, 51, 243, 4, 181, 0, 0, 0, 0]),
(&[146, 36, 73, 146, 36, 73, 146, 36, 3, 0, 0, 0, 0, 0, 0, 0], &[78, 142, 158, 20, 9, 233, 214, 197, 1, 0, 0, 0, 0, 0, 0, 0], &[79, 142, 158, 20, 9, 233, 214, 197, 1, 0, 0, 0, 0, 0, 0, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[235, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[255, 255, 255, 255, 255, 255, 255, 63, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 64, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[240, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 255, 255, 255, 63, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 64, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[113, 28, 199, 113, 28, 199, 113, 28, 0, 0, 0, 0, 0, 0, 0, 0], &[114, 28, 199, 113, 28, 199, 113, 28, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[142, 227, 56, 142, 227, 56, 142, 227, 255, 255, 255, 255, 255, 255, 255, 255], &[143, 227, 56, 142, 227, 56, 142, 227, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[86, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[83, 85, 85, 85, 85, 85, 85, 213, 1, 0, 0, 0, 0, 0, 0, 0], &[84, 85, 85, 85, 85, 85, 85, 213, 1, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[172, 170, 170, 170, 170, 170, 170, 170, 253, 255, 255, 255, 255, 255, 255, 255], &[173, 170, 170, 170, 170, 170, 170, 170, 253, 255, 255, 255, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[69, 1, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 21], &[70, 1, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 21]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[186, 254, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 234], &[187, 254, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 234]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[142, 227, 56, 142, 227, 56, 142, 227, 255, 255, 255, 255, 255, 255, 255, 255], &[143, 227, 56, 142, 227, 56, 142, 227, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[113, 28, 199, 113, 28, 199, 113, 28, 0, 0, 0, 0, 0, 0, 0, 0], &[114, 28, 199, 113, 28, 199, 113, 28, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[86, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[172, 170, 170, 170, 170, 170, 170, 42, 254, 255, 255, 255, 255, 255, 255, 255], &[173, 170, 170, 170, 170, 170, 170, 42, 254, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[83, 85, 85, 85, 85, 85, 85, 85, 2, 0, 0, 0, 0, 0, 0, 0], &[84, 85, 85, 85, 85, 85, 85, 85, 2, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[186, 254, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 234], &[187, 254, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 234]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[69, 1, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 21], &[70, 1, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 21]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[86, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[254, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[5, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[6, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[247, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[248, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[209, 3, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64], &[210, 3, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[46, 252, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 191], &[47, 252, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 191]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[86, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[254, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[250, 255, 255, 255, 255, 255, 255, 127, 250, 255, 255, 255, 255, 255, 255, 255], &[251, 255, 255, 255, 255, 255, 255, 127, 250, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[8, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0], &[9, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[46, 252, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 191], &[47, 252, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 191]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[209, 3, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64], &[210, 3, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64]),
(&[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[240, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[83, 85, 85, 85, 85, 85, 85, 213, 1, 0, 0, 0, 0, 0, 0, 0], &[84, 85, 85, 85, 85, 85, 85, 213, 1, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[172, 170, 170, 170, 170, 170, 170, 42, 254, 255, 255, 255, 255, 255, 255, 255], &[173, 170, 170, 170, 170, 170, 170, 42, 254, 255, 255, 255, 255, 255, 255, 255]),
(&[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[5, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[6, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[250, 255, 255, 255, 255, 255, 255, 127, 250, 255, 255, 255, 255, 255, 255, 255], &[251, 255, 255, 255, 255, 255, 255, 127, 250, 255, 255, 255, 255, 255, 255, 255]),
(&[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 64, 30, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 64, 30, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[250, 255, 255, 255, 255, 255, 255, 127, 217, 255, 255, 255, 255, 255, 255, 255], &[251, 255, 255, 255, 255, 255, 255, 127, 217, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[235, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[172, 170, 170, 170, 170, 170, 170, 170, 253, 255, 255, 255, 255, 255, 255, 255], &[173, 170, 170, 170, 170, 170, 170, 170, 253, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[83, 85, 85, 85, 85, 85, 85, 85, 2, 0, 0, 0, 0, 0, 0, 0], &[84, 85, 85, 85, 85, 85, 85, 85, 2, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[247, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[248, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[8, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0], &[9, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[250, 255, 255, 255, 255, 255, 255, 127, 217, 255, 255, 255, 255, 255, 255, 255], &[251, 255, 255, 255, 255, 255, 255, 127, 217, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[14, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0], &[15, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 63, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 64, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[69, 1, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 21], &[70, 1, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 21]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[186, 254, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 234], &[187, 254, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 234]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64], &[210, 3, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[46, 252, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 191], &[47, 252, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 191]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 63, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 64, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[186, 254, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 234], &[187, 254, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 234]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[69, 1, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 21], &[70, 1, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 21]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[46, 252, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 191], &[47, 252, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 191]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64], &[210, 3, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[170, 170, 170, 170, 170, 170, 170, 170, 113, 28, 199, 113, 28, 199, 113, 28], &[171, 170, 170, 170, 170, 170, 170, 170, 113, 28, 199, 113, 28, 199, 113, 28]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 142, 227, 56, 142, 227, 56, 142, 227], &[86, 85, 85, 85, 85, 85, 85, 85, 142, 227, 56, 142, 227, 56, 142, 227]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[84, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[172, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[224, 131, 15, 62, 248, 224, 131, 15, 0, 0, 0, 0, 0, 0, 0, 0], &[225, 131, 15, 62, 248, 224, 131, 15, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[207, 243, 60, 207, 243, 60, 207, 243, 255, 255, 255, 255, 255, 255, 255, 255], &[208, 243, 60, 207, 243, 60, 207, 243, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 142, 227, 56, 142, 227, 56, 142, 227], &[86, 85, 85, 85, 85, 85, 85, 85, 142, 227, 56, 142, 227, 56, 142, 227]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[170, 170, 170, 170, 170, 170, 170, 170, 113, 28, 199, 113, 28, 199, 113, 28], &[171, 170, 170, 170, 170, 170, 170, 170, 113, 28, 199, 113, 28, 199, 113, 28]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[172, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[84, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[31, 124, 240, 193, 7, 31, 124, 240, 255, 255, 255, 255, 255, 255, 255, 255], &[32, 124, 240, 193, 7, 31, 124, 240, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[48, 12, 195, 48, 12, 195, 48, 12, 0, 0, 0, 0, 0, 0, 0, 0], &[49, 12, 195, 48, 12, 195, 48, 12, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85], &[171, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170], &[86, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[6, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], &[7, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[249, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255], &[250, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[163, 139, 46, 186, 232, 162, 139, 46, 0, 0, 0, 0, 0, 0, 0, 0], &[164, 139, 46, 186, 232, 162, 139, 46, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[109, 219, 182, 109, 219, 182, 109, 219, 255, 255, 255, 255, 255, 255, 255, 255], &[110, 219, 182, 109, 219, 182, 109, 219, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170], &[86, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85], &[171, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[249, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255], &[250, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[6, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], &[7, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[92, 116, 209, 69, 23, 93, 116, 209, 255, 255, 255, 255, 255, 255, 255, 255], &[93, 116, 209, 69, 23, 93, 116, 209, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[146, 36, 73, 146, 36, 73, 146, 36, 0, 0, 0, 0, 0, 0, 0, 0], &[147, 36, 73, 146, 36, 73, 146, 36, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[16, 0, 0, 0, 0, 0, 0, 128, 16, 0, 0, 0, 0, 0, 0, 0], &[17, 0, 0, 0, 0, 0, 0, 128, 16, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[239, 255, 255, 255, 255, 255, 255, 127, 239, 255, 255, 255, 255, 255, 255, 255], &[240, 255, 255, 255, 255, 255, 255, 127, 239, 255, 255, 255, 255, 255, 255, 255]),
(&[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[250, 255, 255, 255, 255, 255, 255, 127, 5, 0, 0, 0, 0, 0, 0, 0], &[251, 255, 255, 255, 255, 255, 255, 127, 5, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[5, 0, 0, 0, 0, 0, 0, 128, 250, 255, 255, 255, 255, 255, 255, 255], &[6, 0, 0, 0, 0, 0, 0, 128, 250, 255, 255, 255, 255, 255, 255, 255]),
(&[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[219, 182, 109, 219, 182, 109, 219, 54, 255, 255, 255, 255, 255, 255, 255, 255], &[220, 182, 109, 219, 182, 109, 219, 54, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[235, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0], &[231, 255, 255, 255, 255, 255, 255, 255, 234, 255, 255, 255, 255, 255, 255, 255], &[232, 255, 255, 255, 255, 255, 255, 255, 234, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255], &[24, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0], &[25, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[5, 0, 0, 0, 0, 0, 0, 0, 249, 255, 255, 255, 255, 255, 255, 255], &[6, 0, 0, 0, 0, 0, 0, 0, 249, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[250, 255, 255, 255, 255, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0], &[251, 255, 255, 255, 255, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[139, 46, 186, 232, 162, 139, 46, 186, 254, 255, 255, 255, 255, 255, 255, 255], &[140, 46, 186, 232, 162, 139, 46, 186, 254, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[227, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[228, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 192, 255, 255, 255, 255, 255, 255, 255, 63], &[210, 3, 0, 0, 0, 0, 0, 192, 255, 255, 255, 255, 255, 255, 255, 63]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[46, 252, 255, 255, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 192], &[47, 252, 255, 255, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 192]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[61, 47, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 11], &[62, 47, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 11]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[194, 192, 203, 41, 120, 57, 5, 111, 219, 182, 109, 219, 182, 109, 219, 246], &[195, 192, 203, 41, 120, 57, 5, 111, 219, 182, 109, 219, 182, 109, 219, 246]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[46, 252, 255, 255, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 192], &[47, 252, 255, 255, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 192]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 192, 255, 255, 255, 255, 255, 255, 255, 63], &[210, 3, 0, 0, 0, 0, 0, 192, 255, 255, 255, 255, 255, 255, 255, 63]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0], &[194, 208, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 244], &[195, 208, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 244]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255], &[61, 63, 52, 214, 135, 198, 250, 144, 36, 73, 146, 36, 73, 146, 36, 9], &[62, 63, 52, 214, 135, 198, 250, 144, 36, 73, 146, 36, 73, 146, 36, 9]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[160, 145, 191, 227, 192, 176, 153, 228, 1, 0, 0, 0, 0, 0, 0, 0], &[161, 145, 191, 227, 192, 176, 153, 228, 1, 0, 0, 0, 0, 0, 0, 0]),
(50, &[7, 200, 159, 181, 45, 116, 53, 193, 2, 0, 0, 0, 0, 0, 0, 0], &[8, 200, 159, 181, 45, 116, 53, 193, 2, 0, 0, 0, 0, 0, 0, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(1, &[&[0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(3, &[&[0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 64, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 224, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 224, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[49, 238, 230, 119, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[215, 103, 248, 197, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[&[161, 75, 207, 55, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[70, 246, 248, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[10, 213, 195, 134, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[17, 237, 158, 106, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[196, 114, 90, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[37, 242, 247, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[154, 78, 18, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[210, 245, 13, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[40, 2, 212, 155, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[155, 58, 60, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[212, 234, 188, 57, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[214, 103, 87, 58, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[&[243, 107, 138, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[205, 44, 7, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[7, 144, 4, 168, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[244, 229, 82, 57, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(3, &[&[44, 88, 134, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[34, 16, 118, 28, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[40, 161, 57, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[146, 124, 120, 139, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[206, 133, 13, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[30, 132, 187, 196, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[149, 15, 26, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[73, 127, 220, 19, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[212, 188, 80, 159, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[143, 48, 42, 74, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[42, 137, 69, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[191, 131, 65, 102, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(3, &[&[222, 118, 179, 214, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[148, 37, 114, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[168, 30, 33, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[58, 3, 239, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[195, 107, 173, 31, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[140, 214, 134, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[74, 196, 154, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[137, 154, 60, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[189, 244, 82, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[115, 220, 18, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[199, 168, 149, 145, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[188, 247, 224, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(3, &[&[35, 140, 195, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[203, 70, 73, 3, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[83, 241, 145, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[224, 88, 63, 42, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 120, 35, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[16, 82, 252, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[215, 189, 231, 232, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[132, 7, 122, 133, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 145, 178, 132, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[42, 107, 189, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[234, 184, 48, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[159, 118, 50, 100, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(5, &[&[118, 11, 21, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[92, 197, 16, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[38, 100, 161, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[216, 172, 170, 20, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[99, 78, 121, 28, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[&[237, 47, 88, 193, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[221, 168, 17, 189, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[92, 196, 152, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[136, 101, 10, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[130, 167, 169, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[175, 102, 251, 149, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[75, 87, 81, 100, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[79, 180, 41, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[27, 53, 211, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[194, 33, 117, 100, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[176, 126, 51, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[220, 175, 24, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[49, 217, 245, 215, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[138, 107, 143, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[155, 150, 117, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[222, 195, 175, 182, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[41, 186, 244, 101, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[140, 34, 106, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[250, 49, 210, 59, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[198, 105, 29, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[14, 217, 50, 211, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[134, 181, 11, 103, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[37, 230, 139, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[167, 157, 94, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[58, 204, 165, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(5, &[&[242, 4, 140, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[115, 21, 230, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[35, 134, 68, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[105, 99, 59, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[224, 222, 138, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[77, 55, 146, 195, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[14, 34, 2, 125, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[44, 63, 181, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[161, 255, 18, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[88, 114, 17, 46, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[190, 40, 201, 17, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[7, 227, 35, 186, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[13, 151, 149, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[107, 40, 231, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[131, 79, 71, 216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[111, 252, 11, 85, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[147, 206, 87, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[103, 47, 54, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[132, 228, 104, 103, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[192, 66, 243, 15, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[192, 31, 123, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[60, 17, 118, 59, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[71, 20, 164, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[220, 246, 202, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[181, 101, 172, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 128, 245, 13, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[186, 146, 9, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[155, 169, 120, 20, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[146, 251, 91, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[101, 233, 231, 168, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(5, &[&[21, 75, 44, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[28, 173, 46, 161, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[229, 72, 13, 126, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[254, 134, 66, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[102, 46, 226, 184, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[&[107, 227, 250, 90, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[152, 227, 0, 36, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[195, 153, 244, 4, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[73, 203, 159, 215, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[114, 101, 13, 63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[86, 136, 220, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[145, 212, 228, 36, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[249, 87, 219, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[160, 188, 42, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[70, 230, 53, 72, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[68, 29, 42, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[58, 163, 221, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[88, 87, 9, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[108, 99, 236, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 194, 130, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[193, 185, 17, 244, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[175, 210, 163, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[66, 28, 42, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[224, 251, 203, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[195, 9, 21, 182, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[132, 77, 90, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[70, 17, 184, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[62, 88, 130, 35, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[58, 55, 209, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[198, 194, 15, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(7, &[&[238, 29, 170, 32, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[129, 95, 183, 235, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[130, 179, 104, 14, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[93, 96, 184, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[110, 90, 37, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[208, 208, 147, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[110, 182, 91, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[37, 198, 47, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[13, 9, 69, 244, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[211, 191, 192, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[34, 102, 88, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[99, 42, 53, 39, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[133, 243, 56, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[87, 71, 134, 4, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[131, 77, 248, 59, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[27, 121, 84, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[245, 53, 127, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 174, 40, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[227, 180, 95, 110, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[15, 4, 198, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[57, 234, 62, 147, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[212, 137, 195, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[162, 176, 49, 33, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[215, 22, 23, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[167, 33, 94, 212, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[204, 54, 67, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[50, 174, 88, 6, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[208, 122, 148, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[221, 103, 133, 155, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[212, 253, 241, 38, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[50, 218, 140, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[225, 151, 125, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[139, 88, 0, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[72, 17, 1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[60, 105, 118, 36, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[178, 158, 217, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[122, 247, 70, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[137, 26, 220, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[249, 46, 46, 86, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[227, 19, 102, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[33, 80, 164, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[166, 22, 57, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[63, 231, 107, 206, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[176, 91, 146, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[179, 202, 120, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[74, 215, 138, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[199, 10, 255, 147, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[15, 3, 9, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[33, 16, 241, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[25, 216, 175, 90, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[12, 97, 90, 166, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[21, 247, 208, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[139, 39, 7, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[42, 249, 238, 16, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[32, 133, 55, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 129, 105, 213, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(7, &[&[57, 215, 251, 119, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[5, 8, 5, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[165, 225, 76, 156, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[153, 154, 22, 94, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[65, 255, 26, 101, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[13, 68, 53, 63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[119, 3, 11, 101, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[&[166, 10, 121, 72, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[87, 222, 228, 119, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[144, 130, 113, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[145, 115, 57, 148, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[108, 167, 105, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[8, 125, 203, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[182, 46, 164, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[68, 11, 210, 21, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[62, 182, 153, 46, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[163, 59, 196, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[92, 168, 120, 212, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[211, 1, 19, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[51, 11, 148, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[31, 95, 91, 60, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[45, 248, 172, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[136, 219, 21, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[115, 48, 62, 79, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[195, 91, 145, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[215, 77, 161, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[204, 48, 102, 40, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[147, 35, 51, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[131, 99, 35, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[213, 15, 195, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[53, 58, 113, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[66, 95, 71, 126, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[113, 141, 53, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[149, 135, 25, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[151, 54, 142, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[146, 103, 221, 140, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[95, 8, 126, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[113, 234, 181, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 114, 93, 198, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[158, 4, 87, 151, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[39, 251, 207, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[224, 147, 31, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[224, 254, 109, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[13, 124, 129, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[129, 200, 187, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[62, 188, 113, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[187, 85, 142, 235, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[185, 232, 141, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[104, 71, 84, 39, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[214, 52, 54, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[132, 239, 217, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[125, 197, 102, 81, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[31, 227, 94, 74, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[163, 44, 146, 187, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[87, 103, 94, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[214, 156, 77, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(7, &[&[47, 174, 228, 152, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[84, 190, 5, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[29, 120, 180, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[225, 37, 249, 159, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[14, 159, 118, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[200, 250, 90, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[139, 146, 57, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[167, 234, 24, 44, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[133, 233, 192, 195, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[30, 170, 64, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[17, 39, 72, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[241, 245, 242, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[24, 206, 104, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[213, 88, 4, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[187, 8, 40, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[165, 31, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[30, 54, 238, 69, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[18, 45, 198, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[108, 164, 45, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[244, 26, 231, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[249, 61, 43, 132, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[29, 240, 194, 99, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[193, 85, 121, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[216, 68, 86, 121, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[241, 92, 236, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[234, 77, 4, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[152, 208, 235, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[206, 215, 79, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[142, 210, 118, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[231, 186, 197, 152, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[116, 228, 17, 34, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[197, 33, 253, 36, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[89, 111, 40, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[183, 158, 196, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[104, 185, 202, 179, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[121, 203, 1, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 226, 26, 35, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[248, 30, 87, 220, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[216, 11, 161, 174, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[69, 68, 114, 87, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[96, 197, 44, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[175, 85, 222, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[236, 121, 105, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[194, 8, 204, 143, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[89, 35, 24, 163, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[183, 108, 200, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[142, 89, 126, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[176, 20, 120, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[98, 189, 156, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[174, 13, 248, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[19, 152, 238, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[124, 18, 173, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[230, 152, 66, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[20, 181, 216, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[40, 124, 206, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[69, 54, 167, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 7, 0, 0, 0, 0, 0], &[246, 203, 255, 255, 255, 255, 255, 255, 255, 255, 7, 0, 0, 0, 0, 0]], &[&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 7, 0, 0, 0, 0, 0], &[101, 169, 170, 170, 170, 170, 170, 170, 170, 170, 2, 0, 0, 0, 0, 0], &[214, 152, 153, 153, 153, 153, 153, 153, 153, 153, 1, 0, 0, 0, 0, 0], &[46, 252, 255, 255, 255, 255, 255, 255, 255, 255, 7, 0, 0, 0, 0, 0]], &[119, 119, 119, 119, 247, 69, 235, 16, 17, 17, 17, 17, 17, 17, 17, 5], &[120, 119, 119, 119, 247, 69, 235, 16, 17, 17, 17, 17, 17, 17, 17, 5], &[119, 119, 119, 119, 247, 69, 235, 16, 17, 17, 17, 17, 17, 17, 17, 5]),
(2, &[&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 248, 255, 255, 255, 255, 255], &[10, 52, 0, 0, 0, 0, 0, 0, 0, 0, 248, 255, 255, 255, 255, 255]], &[&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 7, 0, 0, 0, 0, 0], &[101, 169, 170, 170, 170, 170, 170, 170, 170, 170, 2, 0, 0, 0, 0, 0], &[214, 152, 153, 153, 153, 153, 153, 153, 153, 153, 1, 0, 0, 0, 0, 0], &[46, 252, 255, 255, 255, 255, 255, 255, 255, 255, 7, 0, 0, 0, 0, 0]], &[119, 119, 119, 119, 247, 69, 235, 16, 17, 17, 17, 17, 17, 17, 17, 5], &[120, 119, 119, 119, 247, 69, 235, 16, 17, 17, 17, 17, 17, 17, 17, 5], &[119, 119, 119, 119, 247, 69, 235, 16, 17, 17, 17, 17, 17, 17, 17, 5]),
(2, &[&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 7, 0, 0, 0, 0, 0], &[246, 203, 255, 255, 255, 255, 255, 255, 255, 255, 7, 0, 0, 0, 0, 0]], &[&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 248, 255, 255, 255, 255, 255], &[155, 86, 85, 85, 85, 85, 85, 85, 85, 85, 253, 255, 255, 255, 255, 255], &[42, 103, 102, 102, 102, 102, 102, 102, 102, 102, 254, 255, 255, 255, 255, 255], &[210, 3, 0, 0, 0, 0, 0, 0, 0, 0, 248, 255, 255, 255, 255, 255]], &[136, 136, 136, 136, 8, 186, 20, 239, 238, 238, 238, 238, 238, 238, 238, 250], &[137, 136, 136, 136, 8, 186, 20, 239, 238, 238, 238, 238, 238, 238, 238, 250], &[137, 136, 136, 136, 8, 186, 20, 239, 238, 238, 238, 238, 238, 238, 238, 250]),
(2, &[&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 248, 255, 255, 255, 255, 255], &[10, 52, 0, 0, 0, 0, 0, 0, 0, 0, 248, 255, 255, 255, 255, 255]], &[&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 248, 255, 255, 255, 255, 255], &[155, 86, 85, 85, 85, 85, 85, 85, 85, 85, 253, 255, 255, 255, 255, 255], &[42, 103, 102, 102, 102, 102, 102, 102, 102, 102, 254, 255, 255, 255, 255, 255], &[210, 3, 0, 0, 0, 0, 0, 0, 0, 0, 248, 255, 255, 255, 255, 255]], &[136, 136, 136, 136, 8, 186, 20, 239, 238, 238, 238, 238, 238, 238, 238, 250], &[137, 136, 136, 136, 8, 186, 20, 239, 238, 238, 238, 238, 238, 238, 238, 250], &[137, 136, 136, 136, 8, 186, 20, 239, 238, 238, 238, 238, 238, 238, 238, 250]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 47], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q128_128")]
pub mod refs {
pub const FRAC_BITS: u32 = 128;
pub const STORAGE_BITS: u32 = 256;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[8, 201, 188, 243, 103, 230, 9, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[9, 201, 188, 243, 103, 230, 9, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[59, 167, 202, 132, 133, 174, 103, 187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[60, 167, 202, 132, 133, 174, 103, 187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[62, 125, 149, 234, 102, 19, 251, 178, 8, 201, 188, 243, 103, 230, 9, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[63, 125, 149, 234, 102, 19, 251, 178, 8, 201, 188, 243, 103, 230, 9, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[159, 190, 74, 117, 179, 137, 125, 89, 132, 100, 222, 249, 51, 243, 4, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[160, 190, 74, 117, 179, 137, 125, 89, 132, 100, 222, 249, 51, 243, 4, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[57, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127], &[76, 168, 59, 137, 186, 96, 111, 29, 159, 190, 74, 117, 179, 137, 125, 89, 132, 100, 222, 249, 51, 243, 4, 181, 0, 0, 0, 0, 0, 0, 0, 0], &[77, 168, 59, 137, 186, 96, 111, 29, 159, 190, 74, 117, 179, 137, 125, 89, 132, 100, 222, 249, 51, 243, 4, 181, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[130, 34, 78, 221, 104, 75, 240, 89, 78, 142, 158, 20, 9, 233, 214, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[131, 34, 78, 221, 104, 75, 240, 89, 78, 142, 158, 20, 9, 233, 214, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[235, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[240, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[29, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[228, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[83, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[172, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[173, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 21], &[70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 21]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[186, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 234], &[187, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 234]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[228, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[29, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[172, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 42, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[173, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 42, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[83, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[186, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 234], &[187, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 234]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 21], &[70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 21]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[210, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[46, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[46, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[210, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[240, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[83, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[172, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 42, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[173, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 42, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[235, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[172, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[173, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[83, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 21], &[70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 21]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[186, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 234], &[187, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 234]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[210, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[46, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[186, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 234], &[187, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 234]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 21], &[70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 21]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[46, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[210, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28], &[86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[172, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[15, 62, 248, 224, 131, 15, 62, 248, 224, 131, 15, 62, 248, 224, 131, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[16, 62, 248, 224, 131, 15, 62, 248, 224, 131, 15, 62, 248, 224, 131, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[243, 60, 207, 243, 60, 207, 243, 60, 207, 243, 60, 207, 243, 60, 207, 243, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[244, 60, 207, 243, 60, 207, 243, 60, 207, 243, 60, 207, 243, 60, 207, 243, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28], &[86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[172, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[240, 193, 7, 31, 124, 240, 193, 7, 31, 124, 240, 193, 7, 31, 124, 240, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[241, 193, 7, 31, 124, 240, 193, 7, 31, 124, 240, 193, 7, 31, 124, 240, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[12, 195, 48, 12, 195, 48, 12, 195, 48, 12, 195, 48, 12, 195, 48, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[13, 195, 48, 12, 195, 48, 12, 195, 48, 12, 195, 48, 12, 195, 48, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170], &[86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[47, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[220, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170], &[86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[210, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[37, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[240, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 54, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[183, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 54, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[235, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[231, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[232, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[227, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[228, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63], &[210, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[46, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[84, 140, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 11], &[85, 140, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 11]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[126, 93, 78, 193, 203, 41, 120, 57, 5, 47, 167, 224, 229, 20, 188, 220, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 246], &[127, 93, 78, 193, 203, 41, 120, 57, 5, 47, 167, 224, 229, 20, 188, 220, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 246]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[46, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63], &[210, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 115, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 244], &[172, 115, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 244]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[129, 162, 177, 62, 52, 214, 135, 198, 250, 208, 88, 31, 26, 235, 67, 35, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 9], &[130, 162, 177, 62, 52, 214, 135, 198, 250, 208, 88, 31, 26, 235, 67, 35, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 9]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[0, 197, 44, 70, 86, 146, 70, 99, 160, 145, 191, 227, 192, 176, 153, 228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 197, 44, 70, 86, 146, 70, 99, 160, 145, 191, 227, 192, 176, 153, 228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(50, &[220, 75, 98, 227, 245, 238, 223, 237, 7, 200, 159, 181, 45, 116, 53, 193, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[221, 75, 98, 227, 245, 238, 223, 237, 7, 200, 159, 181, 45, 116, 53, 193, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(1, &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(3, &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[49, 238, 230, 119, 3, 203, 236, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[215, 103, 248, 197, 58, 147, 238, 99, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[&[161, 75, 207, 55, 170, 235, 236, 112, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[70, 246, 248, 156, 211, 65, 57, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[10, 213, 195, 134, 224, 128, 66, 44, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[17, 237, 158, 106, 134, 160, 33, 38, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[196, 114, 90, 112, 242, 76, 72, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[37, 242, 247, 97, 36, 104, 247, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[154, 78, 18, 251, 182, 157, 1, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[210, 245, 13, 54, 19, 193, 3, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[40, 2, 212, 155, 69, 188, 82, 237, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[155, 58, 60, 28, 73, 104, 227, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[212, 234, 188, 57, 181, 13, 139, 54, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[214, 103, 87, 58, 108, 99, 35, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[&[243, 107, 138, 157, 125, 63, 214, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[205, 44, 7, 78, 20, 249, 30, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[7, 144, 4, 168, 175, 209, 97, 119, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[244, 229, 82, 57, 49, 139, 100, 28, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(3, &[&[44, 88, 134, 218, 114, 203, 191, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[34, 16, 118, 28, 221, 117, 109, 138, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[40, 161, 57, 73, 98, 207, 58, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[146, 124, 120, 139, 196, 223, 79, 4, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[206, 133, 13, 202, 32, 164, 41, 115, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[30, 132, 187, 196, 149, 116, 74, 19, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[149, 15, 26, 99, 232, 245, 234, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[73, 127, 220, 19, 103, 96, 227, 135, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[212, 188, 80, 159, 237, 191, 15, 150, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[143, 48, 42, 74, 163, 52, 137, 45, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[42, 137, 69, 254, 1, 88, 112, 149, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[191, 131, 65, 102, 122, 238, 177, 234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(3, &[&[222, 118, 179, 214, 96, 19, 251, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[148, 37, 114, 246, 230, 107, 165, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[168, 30, 33, 42, 178, 214, 186, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[58, 3, 239, 219, 99, 67, 119, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[195, 107, 173, 31, 239, 78, 36, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[140, 214, 134, 181, 199, 176, 156, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[74, 196, 154, 190, 231, 135, 143, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[137, 154, 60, 46, 53, 198, 147, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[189, 244, 82, 128, 129, 60, 115, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[115, 220, 18, 184, 8, 52, 24, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[199, 168, 149, 145, 143, 164, 131, 147, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[188, 247, 224, 199, 79, 220, 45, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(3, &[&[35, 140, 195, 18, 205, 236, 179, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[203, 70, 73, 3, 107, 32, 108, 181, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[83, 241, 145, 123, 52, 62, 148, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[224, 88, 63, 42, 249, 244, 23, 26, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 120, 35, 188, 77, 196, 105, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[16, 82, 252, 78, 46, 101, 44, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[215, 189, 231, 232, 143, 125, 174, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[132, 7, 122, 133, 80, 102, 18, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 145, 178, 132, 170, 245, 6, 196, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[42, 107, 189, 171, 74, 208, 114, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[234, 184, 48, 137, 102, 192, 199, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[159, 118, 50, 100, 91, 50, 203, 84, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(5, &[&[118, 11, 21, 29, 215, 10, 83, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[92, 197, 16, 72, 150, 55, 9, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[38, 100, 161, 51, 15, 215, 81, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[216, 172, 170, 20, 216, 190, 140, 181, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[99, 78, 121, 28, 14, 222, 239, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[&[237, 47, 88, 193, 230, 121, 191, 3, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[221, 168, 17, 189, 106, 223, 155, 45, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[92, 196, 152, 199, 63, 73, 113, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[136, 101, 10, 171, 75, 64, 18, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[130, 167, 169, 208, 75, 206, 136, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[175, 102, 251, 149, 63, 141, 199, 222, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[75, 87, 81, 100, 2, 3, 42, 28, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[79, 180, 41, 64, 117, 93, 160, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[27, 53, 211, 219, 107, 100, 80, 211, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[194, 33, 117, 100, 113, 48, 117, 81, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[176, 126, 51, 25, 199, 22, 123, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[220, 175, 24, 71, 195, 221, 152, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[49, 217, 245, 215, 15, 191, 228, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[138, 107, 143, 189, 151, 190, 179, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[155, 150, 117, 97, 129, 150, 223, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[222, 195, 175, 182, 176, 54, 168, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[41, 186, 244, 101, 46, 202, 247, 149, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[140, 34, 106, 193, 10, 36, 89, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[250, 49, 210, 59, 53, 62, 109, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[198, 105, 29, 84, 23, 210, 142, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[14, 217, 50, 211, 149, 211, 0, 122, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[134, 181, 11, 103, 168, 241, 238, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[37, 230, 139, 244, 157, 221, 183, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[167, 157, 94, 206, 101, 143, 1, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[58, 204, 165, 250, 235, 174, 32, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(5, &[&[242, 4, 140, 79, 215, 95, 44, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[115, 21, 230, 246, 3, 61, 137, 56, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[35, 134, 68, 179, 252, 4, 113, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[105, 99, 59, 7, 125, 187, 118, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[224, 222, 138, 196, 3, 110, 18, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[77, 55, 146, 195, 111, 193, 40, 72, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[14, 34, 2, 125, 81, 123, 80, 181, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[44, 63, 181, 71, 231, 8, 87, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[161, 255, 18, 124, 16, 172, 227, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[88, 114, 17, 46, 169, 254, 49, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[190, 40, 201, 17, 161, 198, 85, 36, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[7, 227, 35, 186, 194, 167, 197, 216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[13, 151, 149, 73, 248, 58, 97, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[107, 40, 231, 36, 193, 198, 242, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[131, 79, 71, 216, 111, 205, 222, 247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[111, 252, 11, 85, 3, 134, 96, 6, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[147, 206, 87, 15, 84, 197, 90, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[103, 47, 54, 252, 233, 58, 89, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[132, 228, 104, 103, 253, 103, 37, 36, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[192, 66, 243, 15, 145, 136, 235, 235, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[192, 31, 123, 168, 131, 97, 68, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[60, 17, 118, 59, 65, 230, 157, 165, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[71, 20, 164, 189, 4, 197, 138, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[220, 246, 202, 71, 71, 163, 238, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[181, 101, 172, 246, 250, 174, 171, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 128, 245, 13, 184, 9, 199, 99, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[186, 146, 9, 243, 110, 107, 194, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[155, 169, 120, 20, 59, 209, 179, 133, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[146, 251, 91, 26, 6, 88, 5, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[101, 233, 231, 168, 158, 232, 161, 147, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(5, &[&[21, 75, 44, 145, 129, 134, 102, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[28, 173, 46, 161, 41, 189, 119, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[229, 72, 13, 126, 122, 235, 104, 151, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[254, 134, 66, 146, 154, 221, 123, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[102, 46, 226, 184, 240, 41, 235, 78, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[&[107, 227, 250, 90, 251, 120, 177, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[152, 227, 0, 36, 109, 207, 60, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[195, 153, 244, 4, 242, 203, 154, 126, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[73, 203, 159, 215, 91, 45, 236, 207, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[114, 101, 13, 63, 220, 141, 242, 145, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[86, 136, 220, 197, 127, 135, 29, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[145, 212, 228, 36, 166, 91, 224, 46, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[249, 87, 219, 71, 168, 139, 215, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[160, 188, 42, 80, 15, 187, 224, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[70, 230, 53, 72, 232, 165, 168, 215, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[68, 29, 42, 173, 31, 196, 16, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[58, 163, 221, 35, 159, 168, 174, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[88, 87, 9, 182, 238, 193, 135, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[108, 99, 236, 143, 43, 122, 227, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 194, 130, 199, 164, 216, 180, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[193, 185, 17, 244, 250, 40, 27, 67, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[175, 210, 163, 128, 51, 43, 240, 137, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[66, 28, 42, 56, 7, 234, 99, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[224, 251, 203, 123, 119, 187, 180, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[195, 9, 21, 182, 143, 185, 60, 143, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[132, 77, 90, 213, 119, 196, 32, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[70, 17, 184, 45, 158, 200, 25, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[62, 88, 130, 35, 189, 190, 19, 207, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[58, 55, 209, 239, 239, 116, 165, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[198, 194, 15, 2, 5, 167, 243, 160, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(7, &[&[238, 29, 170, 32, 120, 120, 88, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[129, 95, 183, 235, 215, 93, 190, 69, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[130, 179, 104, 14, 41, 138, 182, 66, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[93, 96, 184, 83, 36, 215, 183, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[110, 90, 37, 224, 232, 171, 171, 53, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[208, 208, 147, 250, 70, 169, 122, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[110, 182, 91, 26, 103, 13, 40, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[37, 198, 47, 10, 229, 242, 42, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[13, 9, 69, 244, 218, 174, 184, 67, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[211, 191, 192, 78, 81, 191, 14, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[34, 102, 88, 104, 14, 116, 171, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[99, 42, 53, 39, 122, 195, 229, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[133, 243, 56, 227, 88, 187, 162, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[87, 71, 134, 4, 171, 197, 9, 184, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[131, 77, 248, 59, 223, 171, 163, 222, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[27, 121, 84, 76, 248, 80, 93, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[245, 53, 127, 141, 8, 86, 227, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 174, 40, 198, 18, 187, 112, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[227, 180, 95, 110, 175, 98, 123, 234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[15, 4, 198, 69, 193, 215, 67, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[57, 234, 62, 147, 2, 117, 143, 140, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[212, 137, 195, 22, 142, 198, 150, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[162, 176, 49, 33, 185, 230, 151, 22, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[215, 22, 23, 39, 65, 163, 160, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[167, 33, 94, 212, 78, 132, 1, 232, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[204, 54, 67, 157, 174, 56, 79, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[50, 174, 88, 6, 233, 186, 195, 235, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[208, 122, 148, 89, 94, 26, 193, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[221, 103, 133, 155, 42, 33, 122, 54, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[212, 253, 241, 38, 224, 92, 231, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[50, 218, 140, 105, 127, 211, 204, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[225, 151, 125, 111, 204, 108, 25, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[139, 88, 0, 201, 52, 233, 134, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[72, 17, 1, 6, 198, 41, 74, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[60, 105, 118, 36, 221, 155, 86, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[178, 158, 217, 137, 122, 245, 12, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[122, 247, 70, 244, 70, 173, 141, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[137, 26, 220, 196, 117, 244, 103, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[249, 46, 46, 86, 202, 147, 155, 71, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[227, 19, 102, 254, 232, 152, 222, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[33, 80, 164, 12, 0, 81, 32, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[166, 22, 57, 230, 61, 36, 146, 96, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[63, 231, 107, 206, 182, 250, 123, 26, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[176, 91, 146, 32, 94, 223, 151, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[179, 202, 120, 67, 181, 53, 35, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[74, 215, 138, 80, 19, 141, 48, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[199, 10, 255, 147, 214, 168, 227, 82, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[15, 3, 9, 86, 81, 5, 208, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[33, 16, 241, 45, 33, 178, 53, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[25, 216, 175, 90, 166, 255, 12, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[12, 97, 90, 166, 253, 101, 110, 39, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[21, 247, 208, 249, 117, 62, 7, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[139, 39, 7, 10, 229, 74, 148, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[42, 249, 238, 16, 245, 63, 11, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[32, 133, 55, 150, 59, 62, 198, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 129, 105, 213, 198, 13, 193, 88, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(7, &[&[57, 215, 251, 119, 243, 149, 51, 115, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[5, 8, 5, 136, 191, 205, 233, 3, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[165, 225, 76, 156, 67, 96, 206, 151, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[153, 154, 22, 94, 78, 53, 209, 73, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[65, 255, 26, 101, 147, 141, 189, 54, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[13, 68, 53, 63, 223, 55, 28, 14, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[119, 3, 11, 101, 118, 53, 170, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[&[166, 10, 121, 72, 197, 246, 86, 122, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[87, 222, 228, 119, 15, 80, 105, 94, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[144, 130, 113, 35, 246, 182, 176, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[145, 115, 57, 148, 11, 193, 199, 213, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[108, 167, 105, 133, 71, 182, 71, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[8, 125, 203, 190, 34, 18, 217, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[182, 46, 164, 174, 139, 164, 78, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[68, 11, 210, 21, 60, 172, 140, 19, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[62, 182, 153, 46, 212, 19, 175, 233, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[163, 59, 196, 253, 133, 210, 215, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[92, 168, 120, 212, 64, 129, 21, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[211, 1, 19, 239, 238, 50, 35, 90, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[51, 11, 148, 51, 216, 174, 251, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[31, 95, 91, 60, 110, 219, 148, 188, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[45, 248, 172, 144, 93, 140, 80, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[136, 219, 21, 33, 202, 126, 107, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[115, 48, 62, 79, 42, 131, 230, 91, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[195, 91, 145, 33, 100, 209, 80, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[215, 77, 161, 152, 185, 163, 27, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[204, 48, 102, 40, 253, 165, 21, 95, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[147, 35, 51, 205, 248, 7, 252, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[131, 99, 35, 20, 116, 45, 247, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[213, 15, 195, 83, 141, 89, 6, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[53, 58, 113, 96, 145, 20, 52, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[66, 95, 71, 126, 109, 177, 76, 203, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[113, 141, 53, 192, 225, 42, 160, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[149, 135, 25, 107, 28, 233, 193, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[151, 54, 142, 79, 165, 178, 88, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[146, 103, 221, 140, 220, 95, 240, 27, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[95, 8, 126, 169, 45, 103, 204, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[113, 234, 181, 238, 165, 140, 134, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 114, 93, 198, 187, 101, 129, 96, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[158, 4, 87, 151, 52, 13, 26, 199, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[39, 251, 207, 12, 109, 247, 67, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[224, 147, 31, 201, 151, 251, 76, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[224, 254, 109, 249, 21, 127, 3, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[13, 124, 129, 33, 5, 81, 196, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[129, 200, 187, 202, 178, 157, 39, 164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[62, 188, 113, 103, 26, 202, 177, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[187, 85, 142, 235, 78, 140, 94, 14, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[185, 232, 141, 190, 93, 17, 137, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[104, 71, 84, 39, 141, 84, 62, 94, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[214, 52, 54, 141, 219, 115, 114, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[132, 239, 217, 167, 194, 114, 21, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[125, 197, 102, 81, 198, 3, 189, 31, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[31, 227, 94, 74, 239, 111, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[163, 44, 146, 187, 195, 13, 22, 229, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[87, 103, 94, 199, 244, 152, 128, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[214, 156, 77, 112, 227, 125, 155, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(7, &[&[47, 174, 228, 152, 63, 231, 164, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[84, 190, 5, 7, 62, 220, 184, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[29, 120, 180, 5, 208, 144, 41, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[225, 37, 249, 159, 159, 122, 216, 240, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[14, 159, 118, 98, 239, 112, 87, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[200, 250, 90, 116, 41, 203, 59, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[139, 146, 57, 165, 108, 40, 143, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[167, 234, 24, 44, 35, 69, 47, 12, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[133, 233, 192, 195, 139, 119, 211, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[30, 170, 64, 148, 138, 58, 247, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[17, 39, 72, 64, 42, 210, 42, 91, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[241, 245, 242, 110, 156, 74, 176, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[24, 206, 104, 22, 35, 96, 57, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[213, 88, 4, 231, 109, 193, 224, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[187, 8, 40, 240, 236, 93, 131, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[165, 31, 52, 0, 196, 155, 231, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[30, 54, 238, 69, 153, 249, 107, 123, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[18, 45, 198, 250, 242, 222, 164, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[108, 164, 45, 234, 242, 23, 255, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[244, 26, 231, 28, 118, 236, 26, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[249, 61, 43, 132, 194, 202, 214, 165, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[29, 240, 194, 99, 222, 10, 199, 223, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[193, 85, 121, 208, 56, 184, 102, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[216, 68, 86, 121, 0, 9, 217, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[241, 92, 236, 42, 33, 55, 86, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[234, 77, 4, 127, 34, 121, 3, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[152, 208, 235, 154, 100, 11, 199, 111, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[206, 215, 79, 194, 34, 118, 150, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[142, 210, 118, 127, 72, 203, 94, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[231, 186, 197, 152, 203, 216, 148, 113, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[116, 228, 17, 34, 61, 170, 179, 62, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[197, 33, 253, 36, 71, 103, 136, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[89, 111, 40, 216, 80, 81, 25, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[183, 158, 196, 86, 121, 180, 107, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[104, 185, 202, 179, 165, 15, 4, 17, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[121, 203, 1, 224, 44, 55, 213, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 226, 26, 35, 113, 247, 6, 96, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[248, 30, 87, 220, 201, 138, 46, 46, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[216, 11, 161, 174, 84, 46, 216, 41, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[69, 68, 114, 87, 102, 24, 67, 17, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[96, 197, 44, 222, 195, 19, 131, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[175, 85, 222, 206, 104, 220, 82, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[236, 121, 105, 216, 83, 43, 234, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[194, 8, 204, 143, 125, 32, 5, 232, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[89, 35, 24, 163, 34, 70, 2, 203, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[183, 108, 200, 2, 42, 208, 120, 60, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[142, 89, 126, 143, 7, 42, 255, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[176, 20, 120, 79, 110, 236, 71, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[98, 189, 156, 151, 230, 208, 138, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[174, 13, 248, 238, 12, 182, 1, 57, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[19, 152, 238, 163, 140, 139, 69, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[124, 18, 173, 251, 231, 174, 101, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[230, 152, 66, 202, 126, 228, 228, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[20, 181, 216, 250, 79, 201, 230, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[40, 124, 206, 63, 107, 120, 2, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[69, 54, 167, 117, 164, 173, 138, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[246, 203, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[15, 84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[111, 50, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[46, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 90, 241, 135, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 2], &[222, 221, 221, 221, 221, 221, 221, 221, 221, 221, 90, 241, 135, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 2], &[222, 221, 221, 221, 221, 221, 221, 221, 221, 221, 90, 241, 135, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 2]),
(2, &[&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[10, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[15, 84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[111, 50, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[46, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 90, 241, 135, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 2], &[222, 221, 221, 221, 221, 221, 221, 221, 221, 221, 90, 241, 135, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 2], &[222, 221, 221, 221, 221, 221, 221, 221, 221, 221, 90, 241, 135, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 2]),
(2, &[&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[246, 203, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[241, 171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[145, 205, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[210, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 165, 14, 120, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 253], &[35, 34, 34, 34, 34, 34, 34, 34, 34, 34, 165, 14, 120, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 253], &[34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 165, 14, 120, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 253]),
(2, &[&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[10, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[241, 171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[145, 205, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[210, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 165, 14, 120, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 253], &[35, 34, 34, 34, 34, 34, 34, 34, 34, 34, 165, 14, 120, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 253], &[34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 165, 14, 120, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 253]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31]]], 1),
];
/// (4 points of 2 raw coordinates, expected sign).
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]]], -1),
];
/// (5 points of 3 raw coordinates, expected sign).
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 47], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]]], -1),
];
}
#[cfg(table_format = "q256_256")]
pub mod refs {
pub const FRAC_BITS: u32 = 256;
pub const STORAGE_BITS: u32 = 512;
/// (x_raw, floor_raw, ceil_raw) of sqrt at the storage scale.
pub const SQRT: &[(&[u8], &[u8], &[u8])] = &[
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[62, 125, 149, 234, 102, 19, 251, 178, 8, 201, 188, 243, 103, 230, 9, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[63, 125, 149, 234, 102, 19, 251, 178, 8, 201, 188, 243, 103, 230, 9, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[137, 59, 184, 120, 112, 45, 116, 37, 59, 167, 202, 132, 133, 174, 103, 187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[138, 59, 184, 120, 112, 45, 116, 37, 59, 167, 202, 132, 133, 174, 103, 187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[42, 50, 103, 6, 11, 89, 47, 218, 153, 80, 119, 18, 117, 193, 222, 58, 62, 125, 149, 234, 102, 19, 251, 178, 8, 201, 188, 243, 103, 230, 9, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[43, 50, 103, 6, 11, 89, 47, 218, 153, 80, 119, 18, 117, 193, 222, 58, 62, 125, 149, 234, 102, 19, 251, 178, 8, 201, 188, 243, 103, 230, 9, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[21, 153, 51, 131, 133, 172, 23, 237, 76, 168, 59, 137, 186, 96, 111, 29, 159, 190, 74, 117, 179, 137, 125, 89, 132, 100, 222, 249, 51, 243, 4, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[22, 153, 51, 131, 133, 172, 23, 237, 76, 168, 59, 137, 186, 96, 111, 29, 159, 190, 74, 117, 179, 137, 125, 89, 132, 100, 222, 249, 51, 243, 4, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[57, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127], &[57, 219, 131, 220, 111, 254, 177, 168, 195, 162, 184, 58, 4, 131, 252, 74, 21, 153, 51, 131, 133, 172, 23, 237, 76, 168, 59, 137, 186, 96, 111, 29, 159, 190, 74, 117, 179, 137, 125, 89, 132, 100, 222, 249, 51, 243, 4, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[58, 219, 131, 220, 111, 254, 177, 168, 195, 162, 184, 58, 4, 131, 252, 74, 21, 153, 51, 131, 133, 172, 23, 237, 76, 168, 59, 137, 186, 96, 111, 29, 159, 190, 74, 117, 179, 137, 125, 89, 132, 100, 222, 249, 51, 243, 4, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[223, 42, 78, 83, 235, 90, 34, 32, 251, 137, 3, 244, 120, 41, 83, 35, 131, 34, 78, 221, 104, 75, 240, 89, 78, 142, 158, 20, 9, 233, 214, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[224, 42, 78, 83, 235, 90, 34, 32, 251, 137, 3, 244, 120, 41, 83, 35, 131, 34, 78, 221, 104, 75, 240, 89, 78, 142, 158, 20, 9, 233, 214, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a * b at the storage scale.
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[235, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[240, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[114, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[143, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[83, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[172, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[173, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 21], &[70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 21]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[186, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 234], &[187, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 234]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[143, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[114, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[172, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 42, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[173, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 42, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[83, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[186, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 234], &[187, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 234]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 21], &[70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 21]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[210, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[46, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[46, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[210, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[240, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[83, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[172, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 42, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[173, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 42, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[235, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[172, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[173, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[83, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 21], &[70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 21]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[186, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 234], &[187, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 234]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[210, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[46, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[186, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 234], &[187, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 234]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 21], &[70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 21]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[46, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[210, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64]),
];
/// (a_raw, b_raw, floor_raw, ceil_raw) of a / b at the storage scale.
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = &[
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227], &[86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[172, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[131, 15, 62, 248, 224, 131, 15, 62, 248, 224, 131, 15, 62, 248, 224, 131, 15, 62, 248, 224, 131, 15, 62, 248, 224, 131, 15, 62, 248, 224, 131, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[132, 15, 62, 248, 224, 131, 15, 62, 248, 224, 131, 15, 62, 248, 224, 131, 15, 62, 248, 224, 131, 15, 62, 248, 224, 131, 15, 62, 248, 224, 131, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[207, 243, 60, 207, 243, 60, 207, 243, 60, 207, 243, 60, 207, 243, 60, 207, 243, 60, 207, 243, 60, 207, 243, 60, 207, 243, 60, 207, 243, 60, 207, 243, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[208, 243, 60, 207, 243, 60, 207, 243, 60, 207, 243, 60, 207, 243, 60, 207, 243, 60, 207, 243, 60, 207, 243, 60, 207, 243, 60, 207, 243, 60, 207, 243, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227], &[86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227, 56, 142, 227]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28, 199, 113, 28]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[172, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[124, 240, 193, 7, 31, 124, 240, 193, 7, 31, 124, 240, 193, 7, 31, 124, 240, 193, 7, 31, 124, 240, 193, 7, 31, 124, 240, 193, 7, 31, 124, 240, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[125, 240, 193, 7, 31, 124, 240, 193, 7, 31, 124, 240, 193, 7, 31, 124, 240, 193, 7, 31, 124, 240, 193, 7, 31, 124, 240, 193, 7, 31, 124, 240, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[48, 12, 195, 48, 12, 195, 48, 12, 195, 48, 12, 195, 48, 12, 195, 48, 12, 195, 48, 12, 195, 48, 12, 195, 48, 12, 195, 48, 12, 195, 48, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[49, 12, 195, 48, 12, 195, 48, 12, 195, 48, 12, 195, 48, 12, 195, 48, 12, 195, 48, 12, 195, 48, 12, 195, 48, 12, 195, 48, 12, 195, 48, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170], &[86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[140, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[110, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170], &[86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[117, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[147, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[240, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 54, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[220, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 54, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[235, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[231, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[232, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[47, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[227, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[228, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63], &[210, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[46, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[107, 233, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 11], &[108, 233, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 139, 46, 186, 232, 162, 11]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[231, 9, 94, 78, 193, 203, 41, 120, 57, 5, 47, 167, 224, 229, 20, 188, 156, 130, 151, 83, 240, 114, 10, 94, 78, 193, 203, 41, 120, 57, 5, 111, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 246], &[232, 9, 94, 78, 193, 203, 41, 120, 57, 5, 47, 167, 224, 229, 20, 188, 156, 130, 151, 83, 240, 114, 10, 94, 78, 193, 203, 41, 120, 57, 5, 111, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 182, 109, 219, 246]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[46, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63], &[210, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[148, 22, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 244], &[149, 22, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 116, 209, 69, 23, 93, 244]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[24, 246, 161, 177, 62, 52, 214, 135, 198, 250, 208, 88, 31, 26, 235, 67, 99, 125, 104, 172, 15, 141, 245, 161, 177, 62, 52, 214, 135, 198, 250, 144, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 9], &[25, 246, 161, 177, 62, 52, 214, 135, 198, 250, 208, 88, 31, 26, 235, 67, 99, 125, 104, 172, 15, 141, 245, 161, 177, 62, 52, 214, 135, 198, 250, 144, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 73, 146, 36, 9]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]),
(&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
];
/// (n, floor_raw, ceil_raw) of the exact rational last Cholesky pivot of the
/// dyadic A^T A + I matrices from tests/pd_verdict_validation.rs (seed 0x1D7).
pub const PIVOT: &[(usize, &[u8], &[u8])] = &[
(23, &[172, 196, 208, 119, 177, 106, 204, 32, 142, 105, 94, 107, 92, 99, 103, 226, 0, 197, 44, 70, 86, 146, 70, 99, 160, 145, 191, 227, 192, 176, 153, 228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[173, 196, 208, 119, 177, 106, 204, 32, 142, 105, 94, 107, 92, 99, 103, 226, 0, 197, 44, 70, 86, 146, 70, 99, 160, 145, 191, 227, 192, 176, 153, 228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(50, &[2, 107, 127, 218, 148, 48, 252, 154, 97, 41, 214, 185, 194, 243, 131, 229, 220, 75, 98, 227, 245, 238, 223, 237, 7, 200, 159, 181, 45, 116, 53, 193, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[3, 107, 127, 218, 148, 48, 252, 154, 97, 41, 214, 185, 194, 243, 131, 229, 220, 75, 98, 227, 245, 238, 223, 237, 7, 200, 159, 181, 45, 116, 53, 193, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
];
/// (n, v raws, m raws row-major, floor_raw, ceil_raw, nearest_raw) of v^T M v.
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = &[
(1, &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(1, &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(3, &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[49, 238, 230, 119, 3, 203, 236, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[215, 103, 248, 197, 58, 147, 238, 99, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[&[161, 75, 207, 55, 170, 235, 236, 112, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[70, 246, 248, 156, 211, 65, 57, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[10, 213, 195, 134, 224, 128, 66, 44, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[17, 237, 158, 106, 134, 160, 33, 38, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[196, 114, 90, 112, 242, 76, 72, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[37, 242, 247, 97, 36, 104, 247, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[154, 78, 18, 251, 182, 157, 1, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[210, 245, 13, 54, 19, 193, 3, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[40, 2, 212, 155, 69, 188, 82, 237, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[155, 58, 60, 28, 73, 104, 227, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[212, 234, 188, 57, 181, 13, 139, 54, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[214, 103, 87, 58, 108, 99, 35, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[&[243, 107, 138, 157, 125, 63, 214, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[205, 44, 7, 78, 20, 249, 30, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[7, 144, 4, 168, 175, 209, 97, 119, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[244, 229, 82, 57, 49, 139, 100, 28, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(3, &[&[44, 88, 134, 218, 114, 203, 191, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[34, 16, 118, 28, 221, 117, 109, 138, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[40, 161, 57, 73, 98, 207, 58, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[146, 124, 120, 139, 196, 223, 79, 4, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[206, 133, 13, 202, 32, 164, 41, 115, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[30, 132, 187, 196, 149, 116, 74, 19, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[149, 15, 26, 99, 232, 245, 234, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[73, 127, 220, 19, 103, 96, 227, 135, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[212, 188, 80, 159, 237, 191, 15, 150, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[143, 48, 42, 74, 163, 52, 137, 45, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[42, 137, 69, 254, 1, 88, 112, 149, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[191, 131, 65, 102, 122, 238, 177, 234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(3, &[&[222, 118, 179, 214, 96, 19, 251, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[148, 37, 114, 246, 230, 107, 165, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[168, 30, 33, 42, 178, 214, 186, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[58, 3, 239, 219, 99, 67, 119, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[195, 107, 173, 31, 239, 78, 36, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[140, 214, 134, 181, 199, 176, 156, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[74, 196, 154, 190, 231, 135, 143, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[137, 154, 60, 46, 53, 198, 147, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[189, 244, 82, 128, 129, 60, 115, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[115, 220, 18, 184, 8, 52, 24, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[199, 168, 149, 145, 143, 164, 131, 147, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[188, 247, 224, 199, 79, 220, 45, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(3, &[&[35, 140, 195, 18, 205, 236, 179, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[203, 70, 73, 3, 107, 32, 108, 181, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[83, 241, 145, 123, 52, 62, 148, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[224, 88, 63, 42, 249, 244, 23, 26, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[171, 120, 35, 188, 77, 196, 105, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[16, 82, 252, 78, 46, 101, 44, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[215, 189, 231, 232, 143, 125, 174, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[132, 7, 122, 133, 80, 102, 18, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[1, 145, 178, 132, 170, 245, 6, 196, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[42, 107, 189, 171, 74, 208, 114, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[234, 184, 48, 137, 102, 192, 199, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[159, 118, 50, 100, 91, 50, 203, 84, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(5, &[&[118, 11, 21, 29, 215, 10, 83, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[92, 197, 16, 72, 150, 55, 9, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[38, 100, 161, 51, 15, 215, 81, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[216, 172, 170, 20, 216, 190, 140, 181, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[99, 78, 121, 28, 14, 222, 239, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[&[237, 47, 88, 193, 230, 121, 191, 3, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[221, 168, 17, 189, 106, 223, 155, 45, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[92, 196, 152, 199, 63, 73, 113, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[136, 101, 10, 171, 75, 64, 18, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[130, 167, 169, 208, 75, 206, 136, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[175, 102, 251, 149, 63, 141, 199, 222, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[75, 87, 81, 100, 2, 3, 42, 28, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[79, 180, 41, 64, 117, 93, 160, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[27, 53, 211, 219, 107, 100, 80, 211, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[194, 33, 117, 100, 113, 48, 117, 81, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[176, 126, 51, 25, 199, 22, 123, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[220, 175, 24, 71, 195, 221, 152, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[49, 217, 245, 215, 15, 191, 228, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[138, 107, 143, 189, 151, 190, 179, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[155, 150, 117, 97, 129, 150, 223, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[222, 195, 175, 182, 176, 54, 168, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[41, 186, 244, 101, 46, 202, 247, 149, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[140, 34, 106, 193, 10, 36, 89, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[250, 49, 210, 59, 53, 62, 109, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[198, 105, 29, 84, 23, 210, 142, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[14, 217, 50, 211, 149, 211, 0, 122, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[134, 181, 11, 103, 168, 241, 238, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[37, 230, 139, 244, 157, 221, 183, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[167, 157, 94, 206, 101, 143, 1, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[58, 204, 165, 250, 235, 174, 32, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(5, &[&[242, 4, 140, 79, 215, 95, 44, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[115, 21, 230, 246, 3, 61, 137, 56, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[35, 134, 68, 179, 252, 4, 113, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[105, 99, 59, 7, 125, 187, 118, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[224, 222, 138, 196, 3, 110, 18, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[77, 55, 146, 195, 111, 193, 40, 72, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[14, 34, 2, 125, 81, 123, 80, 181, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[44, 63, 181, 71, 231, 8, 87, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[161, 255, 18, 124, 16, 172, 227, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[88, 114, 17, 46, 169, 254, 49, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[190, 40, 201, 17, 161, 198, 85, 36, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[7, 227, 35, 186, 194, 167, 197, 216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[13, 151, 149, 73, 248, 58, 97, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[107, 40, 231, 36, 193, 198, 242, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[131, 79, 71, 216, 111, 205, 222, 247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[111, 252, 11, 85, 3, 134, 96, 6, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[147, 206, 87, 15, 84, 197, 90, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[103, 47, 54, 252, 233, 58, 89, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[132, 228, 104, 103, 253, 103, 37, 36, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[192, 66, 243, 15, 145, 136, 235, 235, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[192, 31, 123, 168, 131, 97, 68, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[60, 17, 118, 59, 65, 230, 157, 165, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[71, 20, 164, 189, 4, 197, 138, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[220, 246, 202, 71, 71, 163, 238, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[181, 101, 172, 246, 250, 174, 171, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 128, 245, 13, 184, 9, 199, 99, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[186, 146, 9, 243, 110, 107, 194, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[155, 169, 120, 20, 59, 209, 179, 133, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[146, 251, 91, 26, 6, 88, 5, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[101, 233, 231, 168, 158, 232, 161, 147, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(5, &[&[21, 75, 44, 145, 129, 134, 102, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[28, 173, 46, 161, 41, 189, 119, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[229, 72, 13, 126, 122, 235, 104, 151, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[254, 134, 66, 146, 154, 221, 123, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[102, 46, 226, 184, 240, 41, 235, 78, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[&[107, 227, 250, 90, 251, 120, 177, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[152, 227, 0, 36, 109, 207, 60, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[195, 153, 244, 4, 242, 203, 154, 126, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[73, 203, 159, 215, 91, 45, 236, 207, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[114, 101, 13, 63, 220, 141, 242, 145, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[86, 136, 220, 197, 127, 135, 29, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[145, 212, 228, 36, 166, 91, 224, 46, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[249, 87, 219, 71, 168, 139, 215, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[160, 188, 42, 80, 15, 187, 224, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[70, 230, 53, 72, 232, 165, 168, 215, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[68, 29, 42, 173, 31, 196, 16, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[58, 163, 221, 35, 159, 168, 174, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[88, 87, 9, 182, 238, 193, 135, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[108, 99, 236, 143, 43, 122, 227, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 194, 130, 199, 164, 216, 180, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[193, 185, 17, 244, 250, 40, 27, 67, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[175, 210, 163, 128, 51, 43, 240, 137, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[66, 28, 42, 56, 7, 234, 99, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[224, 251, 203, 123, 119, 187, 180, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[195, 9, 21, 182, 143, 185, 60, 143, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[132, 77, 90, 213, 119, 196, 32, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[70, 17, 184, 45, 158, 200, 25, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[62, 88, 130, 35, 189, 190, 19, 207, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[58, 55, 209, 239, 239, 116, 165, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[198, 194, 15, 2, 5, 167, 243, 160, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(7, &[&[238, 29, 170, 32, 120, 120, 88, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[129, 95, 183, 235, 215, 93, 190, 69, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[130, 179, 104, 14, 41, 138, 182, 66, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[93, 96, 184, 83, 36, 215, 183, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[110, 90, 37, 224, 232, 171, 171, 53, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[208, 208, 147, 250, 70, 169, 122, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[110, 182, 91, 26, 103, 13, 40, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[37, 198, 47, 10, 229, 242, 42, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[13, 9, 69, 244, 218, 174, 184, 67, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[211, 191, 192, 78, 81, 191, 14, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[34, 102, 88, 104, 14, 116, 171, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[99, 42, 53, 39, 122, 195, 229, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[133, 243, 56, 227, 88, 187, 162, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[87, 71, 134, 4, 171, 197, 9, 184, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[131, 77, 248, 59, 223, 171, 163, 222, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[27, 121, 84, 76, 248, 80, 93, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[245, 53, 127, 141, 8, 86, 227, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 174, 40, 198, 18, 187, 112, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[227, 180, 95, 110, 175, 98, 123, 234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[15, 4, 198, 69, 193, 215, 67, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[57, 234, 62, 147, 2, 117, 143, 140, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[212, 137, 195, 22, 142, 198, 150, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[162, 176, 49, 33, 185, 230, 151, 22, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[215, 22, 23, 39, 65, 163, 160, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[167, 33, 94, 212, 78, 132, 1, 232, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[204, 54, 67, 157, 174, 56, 79, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[50, 174, 88, 6, 233, 186, 195, 235, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[208, 122, 148, 89, 94, 26, 193, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[221, 103, 133, 155, 42, 33, 122, 54, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[212, 253, 241, 38, 224, 92, 231, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[50, 218, 140, 105, 127, 211, 204, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[225, 151, 125, 111, 204, 108, 25, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[139, 88, 0, 201, 52, 233, 134, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[72, 17, 1, 6, 198, 41, 74, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[60, 105, 118, 36, 221, 155, 86, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[178, 158, 217, 137, 122, 245, 12, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[122, 247, 70, 244, 70, 173, 141, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[137, 26, 220, 196, 117, 244, 103, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[249, 46, 46, 86, 202, 147, 155, 71, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[227, 19, 102, 254, 232, 152, 222, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[33, 80, 164, 12, 0, 81, 32, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[166, 22, 57, 230, 61, 36, 146, 96, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[63, 231, 107, 206, 182, 250, 123, 26, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[176, 91, 146, 32, 94, 223, 151, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[179, 202, 120, 67, 181, 53, 35, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[74, 215, 138, 80, 19, 141, 48, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[199, 10, 255, 147, 214, 168, 227, 82, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[15, 3, 9, 86, 81, 5, 208, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[33, 16, 241, 45, 33, 178, 53, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[25, 216, 175, 90, 166, 255, 12, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[12, 97, 90, 166, 253, 101, 110, 39, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[21, 247, 208, 249, 117, 62, 7, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[139, 39, 7, 10, 229, 74, 148, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[42, 249, 238, 16, 245, 63, 11, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[32, 133, 55, 150, 59, 62, 198, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[85, 129, 105, 213, 198, 13, 193, 88, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(7, &[&[57, 215, 251, 119, 243, 149, 51, 115, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[5, 8, 5, 136, 191, 205, 233, 3, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[165, 225, 76, 156, 67, 96, 206, 151, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[153, 154, 22, 94, 78, 53, 209, 73, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[65, 255, 26, 101, 147, 141, 189, 54, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[13, 68, 53, 63, 223, 55, 28, 14, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[119, 3, 11, 101, 118, 53, 170, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[&[166, 10, 121, 72, 197, 246, 86, 122, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[87, 222, 228, 119, 15, 80, 105, 94, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[144, 130, 113, 35, 246, 182, 176, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[145, 115, 57, 148, 11, 193, 199, 213, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[108, 167, 105, 133, 71, 182, 71, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[8, 125, 203, 190, 34, 18, 217, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[182, 46, 164, 174, 139, 164, 78, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[68, 11, 210, 21, 60, 172, 140, 19, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[62, 182, 153, 46, 212, 19, 175, 233, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[163, 59, 196, 253, 133, 210, 215, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[92, 168, 120, 212, 64, 129, 21, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[211, 1, 19, 239, 238, 50, 35, 90, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[51, 11, 148, 51, 216, 174, 251, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[31, 95, 91, 60, 110, 219, 148, 188, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[45, 248, 172, 144, 93, 140, 80, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[136, 219, 21, 33, 202, 126, 107, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[115, 48, 62, 79, 42, 131, 230, 91, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[195, 91, 145, 33, 100, 209, 80, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[215, 77, 161, 152, 185, 163, 27, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[204, 48, 102, 40, 253, 165, 21, 95, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[147, 35, 51, 205, 248, 7, 252, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[131, 99, 35, 20, 116, 45, 247, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[213, 15, 195, 83, 141, 89, 6, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[53, 58, 113, 96, 145, 20, 52, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[66, 95, 71, 126, 109, 177, 76, 203, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[113, 141, 53, 192, 225, 42, 160, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[149, 135, 25, 107, 28, 233, 193, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[151, 54, 142, 79, 165, 178, 88, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[146, 103, 221, 140, 220, 95, 240, 27, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[95, 8, 126, 169, 45, 103, 204, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[113, 234, 181, 238, 165, 140, 134, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[209, 114, 93, 198, 187, 101, 129, 96, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[158, 4, 87, 151, 52, 13, 26, 199, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[39, 251, 207, 12, 109, 247, 67, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[224, 147, 31, 201, 151, 251, 76, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[224, 254, 109, 249, 21, 127, 3, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[13, 124, 129, 33, 5, 81, 196, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[129, 200, 187, 202, 178, 157, 39, 164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[62, 188, 113, 103, 26, 202, 177, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[187, 85, 142, 235, 78, 140, 94, 14, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[185, 232, 141, 190, 93, 17, 137, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[104, 71, 84, 39, 141, 84, 62, 94, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[214, 52, 54, 141, 219, 115, 114, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[132, 239, 217, 167, 194, 114, 21, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[125, 197, 102, 81, 198, 3, 189, 31, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[31, 227, 94, 74, 239, 111, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[163, 44, 146, 187, 195, 13, 22, 229, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[87, 103, 94, 199, 244, 152, 128, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[214, 156, 77, 112, 227, 125, 155, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(7, &[&[47, 174, 228, 152, 63, 231, 164, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[84, 190, 5, 7, 62, 220, 184, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[29, 120, 180, 5, 208, 144, 41, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[225, 37, 249, 159, 159, 122, 216, 240, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[14, 159, 118, 98, 239, 112, 87, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[200, 250, 90, 116, 41, 203, 59, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[139, 146, 57, 165, 108, 40, 143, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[167, 234, 24, 44, 35, 69, 47, 12, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[133, 233, 192, 195, 139, 119, 211, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[30, 170, 64, 148, 138, 58, 247, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[17, 39, 72, 64, 42, 210, 42, 91, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[241, 245, 242, 110, 156, 74, 176, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[24, 206, 104, 22, 35, 96, 57, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[213, 88, 4, 231, 109, 193, 224, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[187, 8, 40, 240, 236, 93, 131, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[165, 31, 52, 0, 196, 155, 231, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[30, 54, 238, 69, 153, 249, 107, 123, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[18, 45, 198, 250, 242, 222, 164, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[108, 164, 45, 234, 242, 23, 255, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[244, 26, 231, 28, 118, 236, 26, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[249, 61, 43, 132, 194, 202, 214, 165, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[29, 240, 194, 99, 222, 10, 199, 223, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[193, 85, 121, 208, 56, 184, 102, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[216, 68, 86, 121, 0, 9, 217, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[241, 92, 236, 42, 33, 55, 86, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[234, 77, 4, 127, 34, 121, 3, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[152, 208, 235, 154, 100, 11, 199, 111, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[206, 215, 79, 194, 34, 118, 150, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[142, 210, 118, 127, 72, 203, 94, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[231, 186, 197, 152, 203, 216, 148, 113, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[116, 228, 17, 34, 61, 170, 179, 62, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[197, 33, 253, 36, 71, 103, 136, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[89, 111, 40, 216, 80, 81, 25, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[183, 158, 196, 86, 121, 180, 107, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[104, 185, 202, 179, 165, 15, 4, 17, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[121, 203, 1, 224, 44, 55, 213, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[2, 226, 26, 35, 113, 247, 6, 96, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[248, 30, 87, 220, 201, 138, 46, 46, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[216, 11, 161, 174, 84, 46, 216, 41, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[69, 68, 114, 87, 102, 24, 67, 17, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[96, 197, 44, 222, 195, 19, 131, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[175, 85, 222, 206, 104, 220, 82, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[236, 121, 105, 216, 83, 43, 234, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[194, 8, 204, 143, 125, 32, 5, 232, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[89, 35, 24, 163, 34, 70, 2, 203, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[183, 108, 200, 2, 42, 208, 120, 60, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[142, 89, 126, 143, 7, 42, 255, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[176, 20, 120, 79, 110, 236, 71, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[98, 189, 156, 151, 230, 208, 138, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[174, 13, 248, 238, 12, 182, 1, 57, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[19, 152, 238, 163, 140, 139, 69, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[124, 18, 173, 251, 231, 174, 101, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[230, 152, 66, 202, 126, 228, 228, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[20, 181, 216, 250, 79, 201, 230, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[40, 124, 206, 63, 107, 120, 2, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[69, 54, 167, 117, 164, 173, 138, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
(2, &[&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[246, 203, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[101, 169, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[214, 152, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[46, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 247, 69, 235, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 5], &[120, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 247, 69, 235, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 5], &[119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 247, 69, 235, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 5]),
(2, &[&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[10, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[101, 169, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[214, 152, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[46, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 247, 69, 235, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 5], &[120, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 247, 69, 235, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 5], &[119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 247, 69, 235, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 5]),
(2, &[&[47, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], &[246, 203, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], &[&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[155, 86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[42, 103, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[210, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 8, 186, 20, 239, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 250], &[137, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 8, 186, 20, 239, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 250], &[137, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 8, 186, 20, 239, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 250]),
(2, &[&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[10, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[&[209, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[155, 86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[42, 103, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], &[210, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], &[136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 8, 186, 20, 239, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 250], &[137, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 8, 186, 20, 239, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 250], &[137, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 8, 186, 20, 239, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 250]),
];
/// (3 points of 2 raw coordinates, expected sign).
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63]]], -1),
];
/// (4 points of 3 raw coordinates, expected sign).
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = &[
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48]]], 1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80]]], 0),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80], &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]]], -1),
(&[&[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32]], &[&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80], &[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31]]], 1),
];
}
#[cfg(table_format = "q16_16")]
/// The realtime table for the build's split (GMATH_FRAC_BITS, every value
/// the build accepts).
pub mod refs {
pub use g_math::fixed_point::frac_config::FRAC_BITS;
pub const STORAGE_BITS: u32 = 32;
pub const SQRT: &[(&[u8], &[u8], &[u8])] = match FRAC_BITS { 2 => super::refs_f2::SQRT, 3 => super::refs_f3::SQRT, 4 => super::refs_f4::SQRT, 5 => super::refs_f5::SQRT, 6 => super::refs_f6::SQRT, 7 => super::refs_f7::SQRT, 8 => super::refs_f8::SQRT, 9 => super::refs_f9::SQRT, 10 => super::refs_f10::SQRT, 11 => super::refs_f11::SQRT, 12 => super::refs_f12::SQRT, 13 => super::refs_f13::SQRT, 14 => super::refs_f14::SQRT, 15 => super::refs_f15::SQRT, 17 => super::refs_f17::SQRT, 18 => super::refs_f18::SQRT, 19 => super::refs_f19::SQRT, 20 => super::refs_f20::SQRT, 21 => super::refs_f21::SQRT, 22 => super::refs_f22::SQRT, 23 => super::refs_f23::SQRT, 24 => super::refs_f24::SQRT, 25 => super::refs_f25::SQRT, 26 => super::refs_f26::SQRT, 27 => super::refs_f27::SQRT, 28 => super::refs_f28::SQRT, 29 => super::refs_f29::SQRT, 30 => super::refs_f30::SQRT, _ => super::refs_f16::SQRT };
pub const MUL: &[(&[u8], &[u8], &[u8], &[u8])] = match FRAC_BITS { 2 => super::refs_f2::MUL, 3 => super::refs_f3::MUL, 4 => super::refs_f4::MUL, 5 => super::refs_f5::MUL, 6 => super::refs_f6::MUL, 7 => super::refs_f7::MUL, 8 => super::refs_f8::MUL, 9 => super::refs_f9::MUL, 10 => super::refs_f10::MUL, 11 => super::refs_f11::MUL, 12 => super::refs_f12::MUL, 13 => super::refs_f13::MUL, 14 => super::refs_f14::MUL, 15 => super::refs_f15::MUL, 17 => super::refs_f17::MUL, 18 => super::refs_f18::MUL, 19 => super::refs_f19::MUL, 20 => super::refs_f20::MUL, 21 => super::refs_f21::MUL, 22 => super::refs_f22::MUL, 23 => super::refs_f23::MUL, 24 => super::refs_f24::MUL, 25 => super::refs_f25::MUL, 26 => super::refs_f26::MUL, 27 => super::refs_f27::MUL, 28 => super::refs_f28::MUL, 29 => super::refs_f29::MUL, 30 => super::refs_f30::MUL, _ => super::refs_f16::MUL };
pub const DIV: &[(&[u8], &[u8], &[u8], &[u8])] = match FRAC_BITS { 2 => super::refs_f2::DIV, 3 => super::refs_f3::DIV, 4 => super::refs_f4::DIV, 5 => super::refs_f5::DIV, 6 => super::refs_f6::DIV, 7 => super::refs_f7::DIV, 8 => super::refs_f8::DIV, 9 => super::refs_f9::DIV, 10 => super::refs_f10::DIV, 11 => super::refs_f11::DIV, 12 => super::refs_f12::DIV, 13 => super::refs_f13::DIV, 14 => super::refs_f14::DIV, 15 => super::refs_f15::DIV, 17 => super::refs_f17::DIV, 18 => super::refs_f18::DIV, 19 => super::refs_f19::DIV, 20 => super::refs_f20::DIV, 21 => super::refs_f21::DIV, 22 => super::refs_f22::DIV, 23 => super::refs_f23::DIV, 24 => super::refs_f24::DIV, 25 => super::refs_f25::DIV, 26 => super::refs_f26::DIV, 27 => super::refs_f27::DIV, 28 => super::refs_f28::DIV, 29 => super::refs_f29::DIV, 30 => super::refs_f30::DIV, _ => super::refs_f16::DIV };
pub const PIVOT: &[(usize, &[u8], &[u8])] = match FRAC_BITS { 2 => super::refs_f2::PIVOT, 3 => super::refs_f3::PIVOT, 4 => super::refs_f4::PIVOT, 5 => super::refs_f5::PIVOT, 6 => super::refs_f6::PIVOT, 7 => super::refs_f7::PIVOT, 8 => super::refs_f8::PIVOT, 9 => super::refs_f9::PIVOT, 10 => super::refs_f10::PIVOT, 11 => super::refs_f11::PIVOT, 12 => super::refs_f12::PIVOT, 13 => super::refs_f13::PIVOT, 14 => super::refs_f14::PIVOT, 15 => super::refs_f15::PIVOT, 17 => super::refs_f17::PIVOT, 18 => super::refs_f18::PIVOT, 19 => super::refs_f19::PIVOT, 20 => super::refs_f20::PIVOT, 21 => super::refs_f21::PIVOT, 22 => super::refs_f22::PIVOT, 23 => super::refs_f23::PIVOT, 24 => super::refs_f24::PIVOT, 25 => super::refs_f25::PIVOT, 26 => super::refs_f26::PIVOT, 27 => super::refs_f27::PIVOT, 28 => super::refs_f28::PIVOT, 29 => super::refs_f29::PIVOT, 30 => super::refs_f30::PIVOT, _ => super::refs_f16::PIVOT };
pub const QF: &[(usize, &[&[u8]], &[&[u8]], &[u8], &[u8], &[u8])] = match FRAC_BITS { 2 => super::refs_f2::QF, 3 => super::refs_f3::QF, 4 => super::refs_f4::QF, 5 => super::refs_f5::QF, 6 => super::refs_f6::QF, 7 => super::refs_f7::QF, 8 => super::refs_f8::QF, 9 => super::refs_f9::QF, 10 => super::refs_f10::QF, 11 => super::refs_f11::QF, 12 => super::refs_f12::QF, 13 => super::refs_f13::QF, 14 => super::refs_f14::QF, 15 => super::refs_f15::QF, 17 => super::refs_f17::QF, 18 => super::refs_f18::QF, 19 => super::refs_f19::QF, 20 => super::refs_f20::QF, 21 => super::refs_f21::QF, 22 => super::refs_f22::QF, 23 => super::refs_f23::QF, 24 => super::refs_f24::QF, 25 => super::refs_f25::QF, 26 => super::refs_f26::QF, 27 => super::refs_f27::QF, 28 => super::refs_f28::QF, 29 => super::refs_f29::QF, 30 => super::refs_f30::QF, _ => super::refs_f16::QF };
pub const ORIENT2D: &[(&[&[&[u8]]], i8)] = match FRAC_BITS { 2 => super::refs_f2::ORIENT2D, 3 => super::refs_f3::ORIENT2D, 4 => super::refs_f4::ORIENT2D, 5 => super::refs_f5::ORIENT2D, 6 => super::refs_f6::ORIENT2D, 7 => super::refs_f7::ORIENT2D, 8 => super::refs_f8::ORIENT2D, 9 => super::refs_f9::ORIENT2D, 10 => super::refs_f10::ORIENT2D, 11 => super::refs_f11::ORIENT2D, 12 => super::refs_f12::ORIENT2D, 13 => super::refs_f13::ORIENT2D, 14 => super::refs_f14::ORIENT2D, 15 => super::refs_f15::ORIENT2D, 17 => super::refs_f17::ORIENT2D, 18 => super::refs_f18::ORIENT2D, 19 => super::refs_f19::ORIENT2D, 20 => super::refs_f20::ORIENT2D, 21 => super::refs_f21::ORIENT2D, 22 => super::refs_f22::ORIENT2D, 23 => super::refs_f23::ORIENT2D, 24 => super::refs_f24::ORIENT2D, 25 => super::refs_f25::ORIENT2D, 26 => super::refs_f26::ORIENT2D, 27 => super::refs_f27::ORIENT2D, 28 => super::refs_f28::ORIENT2D, 29 => super::refs_f29::ORIENT2D, 30 => super::refs_f30::ORIENT2D, _ => super::refs_f16::ORIENT2D };
pub const ORIENT3D: &[(&[&[&[u8]]], i8)] = match FRAC_BITS { 2 => super::refs_f2::ORIENT3D, 3 => super::refs_f3::ORIENT3D, 4 => super::refs_f4::ORIENT3D, 5 => super::refs_f5::ORIENT3D, 6 => super::refs_f6::ORIENT3D, 7 => super::refs_f7::ORIENT3D, 8 => super::refs_f8::ORIENT3D, 9 => super::refs_f9::ORIENT3D, 10 => super::refs_f10::ORIENT3D, 11 => super::refs_f11::ORIENT3D, 12 => super::refs_f12::ORIENT3D, 13 => super::refs_f13::ORIENT3D, 14 => super::refs_f14::ORIENT3D, 15 => super::refs_f15::ORIENT3D, 17 => super::refs_f17::ORIENT3D, 18 => super::refs_f18::ORIENT3D, 19 => super::refs_f19::ORIENT3D, 20 => super::refs_f20::ORIENT3D, 21 => super::refs_f21::ORIENT3D, 22 => super::refs_f22::ORIENT3D, 23 => super::refs_f23::ORIENT3D, 24 => super::refs_f24::ORIENT3D, 25 => super::refs_f25::ORIENT3D, 26 => super::refs_f26::ORIENT3D, 27 => super::refs_f27::ORIENT3D, 28 => super::refs_f28::ORIENT3D, 29 => super::refs_f29::ORIENT3D, 30 => super::refs_f30::ORIENT3D, _ => super::refs_f16::ORIENT3D };
pub const INCIRCLE: &[(&[&[&[u8]]], i8)] = match FRAC_BITS { 2 => super::refs_f2::INCIRCLE, 3 => super::refs_f3::INCIRCLE, 4 => super::refs_f4::INCIRCLE, 5 => super::refs_f5::INCIRCLE, 6 => super::refs_f6::INCIRCLE, 7 => super::refs_f7::INCIRCLE, 8 => super::refs_f8::INCIRCLE, 9 => super::refs_f9::INCIRCLE, 10 => super::refs_f10::INCIRCLE, 11 => super::refs_f11::INCIRCLE, 12 => super::refs_f12::INCIRCLE, 13 => super::refs_f13::INCIRCLE, 14 => super::refs_f14::INCIRCLE, 15 => super::refs_f15::INCIRCLE, 17 => super::refs_f17::INCIRCLE, 18 => super::refs_f18::INCIRCLE, 19 => super::refs_f19::INCIRCLE, 20 => super::refs_f20::INCIRCLE, 21 => super::refs_f21::INCIRCLE, 22 => super::refs_f22::INCIRCLE, 23 => super::refs_f23::INCIRCLE, 24 => super::refs_f24::INCIRCLE, 25 => super::refs_f25::INCIRCLE, 26 => super::refs_f26::INCIRCLE, 27 => super::refs_f27::INCIRCLE, 28 => super::refs_f28::INCIRCLE, 29 => super::refs_f29::INCIRCLE, 30 => super::refs_f30::INCIRCLE, _ => super::refs_f16::INCIRCLE };
pub const INSPHERE: &[(&[&[&[u8]]], i8)] = match FRAC_BITS { 2 => super::refs_f2::INSPHERE, 3 => super::refs_f3::INSPHERE, 4 => super::refs_f4::INSPHERE, 5 => super::refs_f5::INSPHERE, 6 => super::refs_f6::INSPHERE, 7 => super::refs_f7::INSPHERE, 8 => super::refs_f8::INSPHERE, 9 => super::refs_f9::INSPHERE, 10 => super::refs_f10::INSPHERE, 11 => super::refs_f11::INSPHERE, 12 => super::refs_f12::INSPHERE, 13 => super::refs_f13::INSPHERE, 14 => super::refs_f14::INSPHERE, 15 => super::refs_f15::INSPHERE, 17 => super::refs_f17::INSPHERE, 18 => super::refs_f18::INSPHERE, 19 => super::refs_f19::INSPHERE, 20 => super::refs_f20::INSPHERE, 21 => super::refs_f21::INSPHERE, 22 => super::refs_f22::INSPHERE, 23 => super::refs_f23::INSPHERE, 24 => super::refs_f24::INSPHERE, 25 => super::refs_f25::INSPHERE, 26 => super::refs_f26::INSPHERE, 27 => super::refs_f27::INSPHERE, 28 => super::refs_f28::INSPHERE, 29 => super::refs_f29::INSPHERE, 30 => super::refs_f30::INSPHERE, _ => super::refs_f16::INSPHERE };
}
/// Decimal references, profile-independent (DecimalFixed is i128 everywhere).
pub mod decimal_refs {
/// (decimals, x_raw, floor_raw, ceil_raw) of sqrt at 10^decimals.
pub const DSQRT: &[(u8, i128, i128, i128)] = &[
(2, 0, 0, 0),
(2, 1, 10, 10),
(2, 2, 14, 15),
(2, 3, 17, 18),
(2, 100, 100, 100),
(2, 200, 141, 142),
(2, 400, 200, 200),
(2, 25, 50, 50),
(2, 10000000000000000000000000, 31622776601683, 31622776601684),
(2, 1267650600228229401496703205376, 11258999068426240, 11258999068426240),
(2, 85070591730234615865843651857942052871, 92233720368547758080, 92233720368547758081),
(9, 0, 0, 0),
(9, 1, 31622, 31623),
(9, 2, 44721, 44722),
(9, 3, 54772, 54773),
(9, 1000000000, 1000000000, 1000000000),
(9, 2000000000, 1414213562, 1414213563),
(9, 4000000000, 2000000000, 2000000000),
(9, 250000000, 500000000, 500000000),
(9, 10000000000000000000000000000000000, 3162277660168379331998, 3162277660168379331999),
(9, 1267650600228229401496703205376, 35604081229940892851, 35604081229940892852),
(9, 85070591730234615865843651857942052871, 291668633435675794242897, 291668633435675794242898),
];
/// (decimals, a_raw, b_raw, floor_raw, ceil_raw) of a * b.
pub const DMUL: &[(u8, i128, i128, i128, i128)] = &[
(2, 3, 3, 0, 1),
(2, 3, -3, -1, 0),
(2, 3, 33, 0, 1),
(2, 3, -33, -1, 0),
(2, 3, 101, 3, 4),
(2, 3, -101, -4, -3),
(2, 3, 1000000000000000000000000000000, 30000000000000000000000000000, 30000000000000000000000000000),
(2, 3, -1000000000000000000000000000000, -30000000000000000000000000000, -30000000000000000000000000000),
(2, 3, 550, 16, 17),
(2, -3, 3, -1, 0),
(2, -3, -3, 0, 1),
(2, -3, 33, -1, 0),
(2, -3, -33, 0, 1),
(2, -3, 101, -4, -3),
(2, -3, -101, 3, 4),
(2, -3, 1000000000000000000000000000000, -30000000000000000000000000000, -30000000000000000000000000000),
(2, -3, -1000000000000000000000000000000, 30000000000000000000000000000, 30000000000000000000000000000),
(2, -3, 550, -17, -16),
(2, 33, 3, 0, 1),
(2, 33, -3, -1, 0),
(2, 33, 33, 10, 11),
(2, 33, -33, -11, -10),
(2, 33, 101, 33, 34),
(2, 33, -101, -34, -33),
(2, 33, 1000000000000000000000000000000, 330000000000000000000000000000, 330000000000000000000000000000),
(2, 33, -1000000000000000000000000000000, -330000000000000000000000000000, -330000000000000000000000000000),
(2, 33, 550, 181, 182),
(2, -33, 3, -1, 0),
(2, -33, -3, 0, 1),
(2, -33, 33, -11, -10),
(2, -33, -33, 10, 11),
(2, -33, 101, -34, -33),
(2, -33, -101, 33, 34),
(2, -33, 1000000000000000000000000000000, -330000000000000000000000000000, -330000000000000000000000000000),
(2, -33, -1000000000000000000000000000000, 330000000000000000000000000000, 330000000000000000000000000000),
(2, -33, 550, -182, -181),
(2, 101, 3, 3, 4),
(2, 101, -3, -4, -3),
(2, 101, 33, 33, 34),
(2, 101, -33, -34, -33),
(2, 101, 101, 102, 103),
(2, 101, -101, -103, -102),
(2, 101, 1000000000000000000000000000000, 1010000000000000000000000000000, 1010000000000000000000000000000),
(2, 101, -1000000000000000000000000000000, -1010000000000000000000000000000, -1010000000000000000000000000000),
(2, 101, 550, 555, 556),
(2, -101, 3, -4, -3),
(2, -101, -3, 3, 4),
(2, -101, 33, -34, -33),
(2, -101, -33, 33, 34),
(2, -101, 101, -103, -102),
(2, -101, -101, 102, 103),
(2, -101, 1000000000000000000000000000000, -1010000000000000000000000000000, -1010000000000000000000000000000),
(2, -101, -1000000000000000000000000000000, 1010000000000000000000000000000, 1010000000000000000000000000000),
(2, -101, 550, -556, -555),
(2, 1000000000000000000000000000000, 3, 30000000000000000000000000000, 30000000000000000000000000000),
(2, 1000000000000000000000000000000, -3, -30000000000000000000000000000, -30000000000000000000000000000),
(2, 1000000000000000000000000000000, 33, 330000000000000000000000000000, 330000000000000000000000000000),
(2, 1000000000000000000000000000000, -33, -330000000000000000000000000000, -330000000000000000000000000000),
(2, 1000000000000000000000000000000, 101, 1010000000000000000000000000000, 1010000000000000000000000000000),
(2, 1000000000000000000000000000000, -101, -1010000000000000000000000000000, -1010000000000000000000000000000),
(2, 1000000000000000000000000000000, 550, 5500000000000000000000000000000, 5500000000000000000000000000000),
(2, -1000000000000000000000000000000, 3, -30000000000000000000000000000, -30000000000000000000000000000),
(2, -1000000000000000000000000000000, -3, 30000000000000000000000000000, 30000000000000000000000000000),
(2, -1000000000000000000000000000000, 33, -330000000000000000000000000000, -330000000000000000000000000000),
(2, -1000000000000000000000000000000, -33, 330000000000000000000000000000, 330000000000000000000000000000),
(2, -1000000000000000000000000000000, 101, -1010000000000000000000000000000, -1010000000000000000000000000000),
(2, -1000000000000000000000000000000, -101, 1010000000000000000000000000000, 1010000000000000000000000000000),
(2, -1000000000000000000000000000000, 550, -5500000000000000000000000000000, -5500000000000000000000000000000),
(2, 550, 3, 16, 17),
(2, 550, -3, -17, -16),
(2, 550, 33, 181, 182),
(2, 550, -33, -182, -181),
(2, 550, 101, 555, 556),
(2, 550, -101, -556, -555),
(2, 550, 1000000000000000000000000000000, 5500000000000000000000000000000, 5500000000000000000000000000000),
(2, 550, -1000000000000000000000000000000, -5500000000000000000000000000000, -5500000000000000000000000000000),
(2, 550, 550, 3025, 3025),
(9, 3, 3, 0, 1),
(9, 3, -3, -1, 0),
(9, 3, 333333333, 0, 1),
(9, 3, -333333333, -1, 0),
(9, 3, 1000000001, 3, 4),
(9, 3, -1000000001, -4, -3),
(9, 3, 1000000000000000000000000000000, 3000000000000000000000, 3000000000000000000000),
(9, 3, -1000000000000000000000000000000, -3000000000000000000000, -3000000000000000000000),
(9, 3, 5500000000, 16, 17),
(9, -3, 3, -1, 0),
(9, -3, -3, 0, 1),
(9, -3, 333333333, -1, 0),
(9, -3, -333333333, 0, 1),
(9, -3, 1000000001, -4, -3),
(9, -3, -1000000001, 3, 4),
(9, -3, 1000000000000000000000000000000, -3000000000000000000000, -3000000000000000000000),
(9, -3, -1000000000000000000000000000000, 3000000000000000000000, 3000000000000000000000),
(9, -3, 5500000000, -17, -16),
(9, 333333333, 3, 0, 1),
(9, 333333333, -3, -1, 0),
(9, 333333333, 333333333, 111111110, 111111111),
(9, 333333333, -333333333, -111111111, -111111110),
(9, 333333333, 1000000001, 333333333, 333333334),
(9, 333333333, -1000000001, -333333334, -333333333),
(9, 333333333, 1000000000000000000000000000000, 333333333000000000000000000000, 333333333000000000000000000000),
(9, 333333333, -1000000000000000000000000000000, -333333333000000000000000000000, -333333333000000000000000000000),
(9, 333333333, 5500000000, 1833333331, 1833333332),
(9, -333333333, 3, -1, 0),
(9, -333333333, -3, 0, 1),
(9, -333333333, 333333333, -111111111, -111111110),
(9, -333333333, -333333333, 111111110, 111111111),
(9, -333333333, 1000000001, -333333334, -333333333),
(9, -333333333, -1000000001, 333333333, 333333334),
(9, -333333333, 1000000000000000000000000000000, -333333333000000000000000000000, -333333333000000000000000000000),
(9, -333333333, -1000000000000000000000000000000, 333333333000000000000000000000, 333333333000000000000000000000),
(9, -333333333, 5500000000, -1833333332, -1833333331),
(9, 1000000001, 3, 3, 4),
(9, 1000000001, -3, -4, -3),
(9, 1000000001, 333333333, 333333333, 333333334),
(9, 1000000001, -333333333, -333333334, -333333333),
(9, 1000000001, 1000000001, 1000000002, 1000000003),
(9, 1000000001, -1000000001, -1000000003, -1000000002),
(9, 1000000001, 1000000000000000000000000000000, 1000000001000000000000000000000, 1000000001000000000000000000000),
(9, 1000000001, -1000000000000000000000000000000, -1000000001000000000000000000000, -1000000001000000000000000000000),
(9, 1000000001, 5500000000, 5500000005, 5500000006),
(9, -1000000001, 3, -4, -3),
(9, -1000000001, -3, 3, 4),
(9, -1000000001, 333333333, -333333334, -333333333),
(9, -1000000001, -333333333, 333333333, 333333334),
(9, -1000000001, 1000000001, -1000000003, -1000000002),
(9, -1000000001, -1000000001, 1000000002, 1000000003),
(9, -1000000001, 1000000000000000000000000000000, -1000000001000000000000000000000, -1000000001000000000000000000000),
(9, -1000000001, -1000000000000000000000000000000, 1000000001000000000000000000000, 1000000001000000000000000000000),
(9, -1000000001, 5500000000, -5500000006, -5500000005),
(9, 1000000000000000000000000000000, 3, 3000000000000000000000, 3000000000000000000000),
(9, 1000000000000000000000000000000, -3, -3000000000000000000000, -3000000000000000000000),
(9, 1000000000000000000000000000000, 333333333, 333333333000000000000000000000, 333333333000000000000000000000),
(9, 1000000000000000000000000000000, -333333333, -333333333000000000000000000000, -333333333000000000000000000000),
(9, 1000000000000000000000000000000, 1000000001, 1000000001000000000000000000000, 1000000001000000000000000000000),
(9, 1000000000000000000000000000000, -1000000001, -1000000001000000000000000000000, -1000000001000000000000000000000),
(9, 1000000000000000000000000000000, 5500000000, 5500000000000000000000000000000, 5500000000000000000000000000000),
(9, -1000000000000000000000000000000, 3, -3000000000000000000000, -3000000000000000000000),
(9, -1000000000000000000000000000000, -3, 3000000000000000000000, 3000000000000000000000),
(9, -1000000000000000000000000000000, 333333333, -333333333000000000000000000000, -333333333000000000000000000000),
(9, -1000000000000000000000000000000, -333333333, 333333333000000000000000000000, 333333333000000000000000000000),
(9, -1000000000000000000000000000000, 1000000001, -1000000001000000000000000000000, -1000000001000000000000000000000),
(9, -1000000000000000000000000000000, -1000000001, 1000000001000000000000000000000, 1000000001000000000000000000000),
(9, -1000000000000000000000000000000, 5500000000, -5500000000000000000000000000000, -5500000000000000000000000000000),
(9, 5500000000, 3, 16, 17),
(9, 5500000000, -3, -17, -16),
(9, 5500000000, 333333333, 1833333331, 1833333332),
(9, 5500000000, -333333333, -1833333332, -1833333331),
(9, 5500000000, 1000000001, 5500000005, 5500000006),
(9, 5500000000, -1000000001, -5500000006, -5500000005),
(9, 5500000000, 1000000000000000000000000000000, 5500000000000000000000000000000, 5500000000000000000000000000000),
(9, 5500000000, -1000000000000000000000000000000, -5500000000000000000000000000000, -5500000000000000000000000000000),
(9, 5500000000, 5500000000, 30250000000, 30250000000),
];
/// (decimals, a_raw, b_raw, floor_raw, ceil_raw) of a / b.
pub const DDIV: &[(u8, i128, i128, i128, i128)] = &[
(2, 3, 3, 100, 100),
(2, 3, -3, -100, -100),
(2, 3, 33, 9, 10),
(2, 3, -33, -10, -9),
(2, 3, 101, 2, 3),
(2, 3, -101, -3, -2),
(2, 3, 1000000000000000000000000000000, 0, 1),
(2, 3, -1000000000000000000000000000000, -1, 0),
(2, 3, 550, 0, 1),
(2, -3, 3, -100, -100),
(2, -3, -3, 100, 100),
(2, -3, 33, -10, -9),
(2, -3, -33, 9, 10),
(2, -3, 101, -3, -2),
(2, -3, -101, 2, 3),
(2, -3, 1000000000000000000000000000000, -1, 0),
(2, -3, -1000000000000000000000000000000, 0, 1),
(2, -3, 550, -1, 0),
(2, 33, 3, 1100, 1100),
(2, 33, -3, -1100, -1100),
(2, 33, 33, 100, 100),
(2, 33, -33, -100, -100),
(2, 33, 101, 32, 33),
(2, 33, -101, -33, -32),
(2, 33, 1000000000000000000000000000000, 0, 1),
(2, 33, -1000000000000000000000000000000, -1, 0),
(2, 33, 550, 6, 6),
(2, -33, 3, -1100, -1100),
(2, -33, -3, 1100, 1100),
(2, -33, 33, -100, -100),
(2, -33, -33, 100, 100),
(2, -33, 101, -33, -32),
(2, -33, -101, 32, 33),
(2, -33, 1000000000000000000000000000000, -1, 0),
(2, -33, -1000000000000000000000000000000, 0, 1),
(2, -33, 550, -6, -6),
(2, 101, 3, 3366, 3367),
(2, 101, -3, -3367, -3366),
(2, 101, 33, 306, 307),
(2, 101, -33, -307, -306),
(2, 101, 101, 100, 100),
(2, 101, -101, -100, -100),
(2, 101, 1000000000000000000000000000000, 0, 1),
(2, 101, -1000000000000000000000000000000, -1, 0),
(2, 101, 550, 18, 19),
(2, -101, 3, -3367, -3366),
(2, -101, -3, 3366, 3367),
(2, -101, 33, -307, -306),
(2, -101, -33, 306, 307),
(2, -101, 101, -100, -100),
(2, -101, -101, 100, 100),
(2, -101, 1000000000000000000000000000000, -1, 0),
(2, -101, -1000000000000000000000000000000, 0, 1),
(2, -101, 550, -19, -18),
(2, 1000000000000000000000000000000, 3, 33333333333333333333333333333333, 33333333333333333333333333333334),
(2, 1000000000000000000000000000000, -3, -33333333333333333333333333333334, -33333333333333333333333333333333),
(2, 1000000000000000000000000000000, 33, 3030303030303030303030303030303, 3030303030303030303030303030304),
(2, 1000000000000000000000000000000, -33, -3030303030303030303030303030304, -3030303030303030303030303030303),
(2, 1000000000000000000000000000000, 101, 990099009900990099009900990099, 990099009900990099009900990100),
(2, 1000000000000000000000000000000, -101, -990099009900990099009900990100, -990099009900990099009900990099),
(2, 1000000000000000000000000000000, 1000000000000000000000000000000, 100, 100),
(2, 1000000000000000000000000000000, -1000000000000000000000000000000, -100, -100),
(2, 1000000000000000000000000000000, 550, 181818181818181818181818181818, 181818181818181818181818181819),
(2, -1000000000000000000000000000000, 3, -33333333333333333333333333333334, -33333333333333333333333333333333),
(2, -1000000000000000000000000000000, -3, 33333333333333333333333333333333, 33333333333333333333333333333334),
(2, -1000000000000000000000000000000, 33, -3030303030303030303030303030304, -3030303030303030303030303030303),
(2, -1000000000000000000000000000000, -33, 3030303030303030303030303030303, 3030303030303030303030303030304),
(2, -1000000000000000000000000000000, 101, -990099009900990099009900990100, -990099009900990099009900990099),
(2, -1000000000000000000000000000000, -101, 990099009900990099009900990099, 990099009900990099009900990100),
(2, -1000000000000000000000000000000, 1000000000000000000000000000000, -100, -100),
(2, -1000000000000000000000000000000, -1000000000000000000000000000000, 100, 100),
(2, -1000000000000000000000000000000, 550, -181818181818181818181818181819, -181818181818181818181818181818),
(2, 550, 3, 18333, 18334),
(2, 550, -3, -18334, -18333),
(2, 550, 33, 1666, 1667),
(2, 550, -33, -1667, -1666),
(2, 550, 101, 544, 545),
(2, 550, -101, -545, -544),
(2, 550, 1000000000000000000000000000000, 0, 1),
(2, 550, -1000000000000000000000000000000, -1, 0),
(2, 550, 550, 100, 100),
(9, 3, 3, 1000000000, 1000000000),
(9, 3, -3, -1000000000, -1000000000),
(9, 3, 333333333, 9, 10),
(9, 3, -333333333, -10, -9),
(9, 3, 1000000001, 2, 3),
(9, 3, -1000000001, -3, -2),
(9, 3, 1000000000000000000000000000000, 0, 1),
(9, 3, -1000000000000000000000000000000, -1, 0),
(9, 3, 5500000000, 0, 1),
(9, -3, 3, -1000000000, -1000000000),
(9, -3, -3, 1000000000, 1000000000),
(9, -3, 333333333, -10, -9),
(9, -3, -333333333, 9, 10),
(9, -3, 1000000001, -3, -2),
(9, -3, -1000000001, 2, 3),
(9, -3, 1000000000000000000000000000000, -1, 0),
(9, -3, -1000000000000000000000000000000, 0, 1),
(9, -3, 5500000000, -1, 0),
(9, 333333333, 3, 111111111000000000, 111111111000000000),
(9, 333333333, -3, -111111111000000000, -111111111000000000),
(9, 333333333, 333333333, 1000000000, 1000000000),
(9, 333333333, -333333333, -1000000000, -1000000000),
(9, 333333333, 1000000001, 333333332, 333333333),
(9, 333333333, -1000000001, -333333333, -333333332),
(9, 333333333, 1000000000000000000000000000000, 0, 1),
(9, 333333333, -1000000000000000000000000000000, -1, 0),
(9, 333333333, 5500000000, 60606060, 60606061),
(9, -333333333, 3, -111111111000000000, -111111111000000000),
(9, -333333333, -3, 111111111000000000, 111111111000000000),
(9, -333333333, 333333333, -1000000000, -1000000000),
(9, -333333333, -333333333, 1000000000, 1000000000),
(9, -333333333, 1000000001, -333333333, -333333332),
(9, -333333333, -1000000001, 333333332, 333333333),
(9, -333333333, 1000000000000000000000000000000, -1, 0),
(9, -333333333, -1000000000000000000000000000000, 0, 1),
(9, -333333333, 5500000000, -60606061, -60606060),
(9, 1000000001, 3, 333333333666666666, 333333333666666667),
(9, 1000000001, -3, -333333333666666667, -333333333666666666),
(9, 1000000001, 333333333, 3000000006, 3000000007),
(9, 1000000001, -333333333, -3000000007, -3000000006),
(9, 1000000001, 1000000001, 1000000000, 1000000000),
(9, 1000000001, -1000000001, -1000000000, -1000000000),
(9, 1000000001, 1000000000000000000000000000000, 0, 1),
(9, 1000000001, -1000000000000000000000000000000, -1, 0),
(9, 1000000001, 5500000000, 181818182, 181818182),
(9, -1000000001, 3, -333333333666666667, -333333333666666666),
(9, -1000000001, -3, 333333333666666666, 333333333666666667),
(9, -1000000001, 333333333, -3000000007, -3000000006),
(9, -1000000001, -333333333, 3000000006, 3000000007),
(9, -1000000001, 1000000001, -1000000000, -1000000000),
(9, -1000000001, -1000000001, 1000000000, 1000000000),
(9, -1000000001, 1000000000000000000000000000000, -1, 0),
(9, -1000000001, -1000000000000000000000000000000, 0, 1),
(9, -1000000001, 5500000000, -181818182, -181818182),
(9, 1000000000000000000000000000000, 333333333, 3000000003000000003000000003000, 3000000003000000003000000003001),
(9, 1000000000000000000000000000000, -333333333, -3000000003000000003000000003001, -3000000003000000003000000003000),
(9, 1000000000000000000000000000000, 1000000001, 999999999000000000999999999000, 999999999000000000999999999001),
(9, 1000000000000000000000000000000, -1000000001, -999999999000000000999999999001, -999999999000000000999999999000),
(9, 1000000000000000000000000000000, 1000000000000000000000000000000, 1000000000, 1000000000),
(9, 1000000000000000000000000000000, -1000000000000000000000000000000, -1000000000, -1000000000),
(9, 1000000000000000000000000000000, 5500000000, 181818181818181818181818181818, 181818181818181818181818181819),
(9, -1000000000000000000000000000000, 333333333, -3000000003000000003000000003001, -3000000003000000003000000003000),
(9, -1000000000000000000000000000000, -333333333, 3000000003000000003000000003000, 3000000003000000003000000003001),
(9, -1000000000000000000000000000000, 1000000001, -999999999000000000999999999001, -999999999000000000999999999000),
(9, -1000000000000000000000000000000, -1000000001, 999999999000000000999999999000, 999999999000000000999999999001),
(9, -1000000000000000000000000000000, 1000000000000000000000000000000, -1000000000, -1000000000),
(9, -1000000000000000000000000000000, -1000000000000000000000000000000, 1000000000, 1000000000),
(9, -1000000000000000000000000000000, 5500000000, -181818181818181818181818181819, -181818181818181818181818181818),
(9, 5500000000, 3, 1833333333333333333, 1833333333333333334),
(9, 5500000000, -3, -1833333333333333334, -1833333333333333333),
(9, 5500000000, 333333333, 16500000016, 16500000017),
(9, 5500000000, -333333333, -16500000017, -16500000016),
(9, 5500000000, 1000000001, 5499999994, 5499999995),
(9, 5500000000, -1000000001, -5499999995, -5499999994),
(9, 5500000000, 1000000000000000000000000000000, 0, 1),
(9, 5500000000, -1000000000000000000000000000000, -1, 0),
(9, 5500000000, 5500000000, 1000000000, 1000000000),
];
}