root/src/IntegerDivisionTable.cpp

/* [<][>][^][v][top][bottom][index][help] */
/** \file
 * Tables telling us how to do integer division
 * via fixed-point multiplication for various small
 * constants. This file is automatically generated
 * by find_inverse.cpp. There are two sets of tables.
 * The first set is for compile-time-constant divisors
 * from 2 to 256. The second is for runtime divisors
 * from 1 to 255. The second set always uses the most
 * expensive method, while the compile-time set uses
 * the cheapest method for the given divisor.
 */

#include "IntegerDivisionTable.h"

namespace Halide {
namespace Internal {
namespace IntegerDivision {

const int64_t table_u8[256][4] = {
    {256, 0, 0, 8},
    {1, 0, 0, 0},
    {2, 0, 0, 1},
    {3, 1, 171ULL, 1},
    {4, 0, 0, 2},
    {5, 1, 205ULL, 2},
    {6, 1, 171ULL, 2},
    {7, 2, 37ULL, 2},
    {8, 0, 0, 3},
    {9, 1, 57ULL, 1},
    {10, 1, 205ULL, 3},
    {11, 2, 117ULL, 3},
    {12, 1, 171ULL, 3},
    {13, 1, 79ULL, 2},
    {14, 2, 37ULL, 3},
    {15, 1, 137ULL, 3},
    {16, 0, 0, 4},
    {17, 1, 241ULL, 4},
    {18, 1, 57ULL, 2},
    {19, 1, 27ULL, 1},
    {20, 1, 205ULL, 4},
    {21, 2, 135ULL, 4},
    {22, 2, 117ULL, 4},
    {23, 2, 101ULL, 4},
    {24, 1, 171ULL, 4},
    {25, 1, 41ULL, 2},
    {26, 1, 79ULL, 3},
    {27, 1, 19ULL, 1},
    {28, 2, 37ULL, 4},
    {29, 2, 27ULL, 4},
    {30, 1, 137ULL, 4},
    {31, 2, 9ULL, 4},
    {32, 0, 0, 5},
    {33, 1, 249ULL, 5},
    {34, 1, 241ULL, 5},
    {35, 1, 235ULL, 5},
    {36, 1, 57ULL, 3},
    {37, 1, 111ULL, 4},
    {38, 1, 27ULL, 2},
    {39, 2, 165ULL, 5},
    {40, 1, 205ULL, 5},
    {41, 1, 25ULL, 2},
    {42, 2, 135ULL, 5},
    {43, 1, 191ULL, 5},
    {44, 1, 187ULL, 5},
    {45, 2, 109ULL, 5},
    {46, 2, 101ULL, 5},
    {47, 1, 175ULL, 5},
    {48, 1, 171ULL, 5},
    {49, 2, 79ULL, 5},
    {50, 1, 41ULL, 3},
    {51, 1, 161ULL, 5},
    {52, 1, 79ULL, 4},
    {53, 1, 155ULL, 5},
    {54, 1, 19ULL, 2},
    {55, 1, 149ULL, 5},
    {56, 2, 37ULL, 5},
    {57, 1, 9ULL, 1},
    {58, 2, 27ULL, 5},
    {59, 1, 139ULL, 5},
    {60, 1, 137ULL, 5},
    {61, 2, 13ULL, 5},
    {62, 2, 9ULL, 5},
    {63, 2, 5ULL, 5},
    {64, 0, 0, 6},
    {65, 1, 253ULL, 6},
    {66, 1, 249ULL, 6},
    {67, 1, 245ULL, 6},
    {68, 1, 121ULL, 5},
    {69, 1, 119ULL, 5},
    {70, 1, 235ULL, 6},
    {71, 1, 231ULL, 6},
    {72, 1, 57ULL, 4},
    {73, 1, 225ULL, 6},
    {74, 1, 111ULL, 5},
    {75, 1, 219ULL, 6},
    {76, 1, 27ULL, 3},
    {77, 1, 213ULL, 6},
    {78, 2, 165ULL, 6},
    {79, 1, 13ULL, 2},
    {80, 1, 205ULL, 6},
    {81, 1, 203ULL, 6},
    {82, 1, 25ULL, 3},
    {83, 1, 99ULL, 5},
    {84, 2, 135ULL, 6},
    {85, 1, 193ULL, 6},
    {86, 1, 191ULL, 6},
    {87, 1, 189ULL, 6},
    {88, 1, 187ULL, 6},
    {89, 1, 185ULL, 6},
    {90, 1, 183ULL, 6},
    {91, 1, 181ULL, 6},
    {92, 1, 179ULL, 6},
    {93, 1, 177ULL, 6},
    {94, 1, 175ULL, 6},
    {95, 1, 173ULL, 6},
    {96, 1, 171ULL, 6},
    {97, 1, 169ULL, 6},
    {98, 1, 21ULL, 3},
    {99, 1, 83ULL, 5},
    {100, 1, 41ULL, 4},
    {101, 1, 163ULL, 6},
    {102, 1, 161ULL, 6},
    {103, 2, 63ULL, 6},
    {104, 1, 79ULL, 5},
    {105, 2, 57ULL, 6},
    {106, 1, 155ULL, 6},
    {107, 2, 51ULL, 6},
    {108, 1, 19ULL, 3},
    {109, 1, 151ULL, 6},
    {110, 1, 149ULL, 6},
    {111, 1, 37ULL, 4},
    {112, 2, 37ULL, 6},
    {113, 1, 145ULL, 6},
    {114, 1, 9ULL, 2},
    {115, 1, 143ULL, 6},
    {116, 2, 27ULL, 6},
    {117, 2, 25ULL, 6},
    {118, 1, 139ULL, 6},
    {119, 1, 69ULL, 5},
    {120, 1, 137ULL, 6},
    {121, 2, 15ULL, 6},
    {122, 2, 13ULL, 6},
    {123, 2, 11ULL, 6},
    {124, 2, 9ULL, 6},
    {125, 2, 7ULL, 6},
    {126, 2, 5ULL, 6},
    {127, 2, 3ULL, 6},
    {128, 0, 0, 7},
    {129, 1, 255ULL, 7},
    {130, 1, 127ULL, 6},
    {131, 1, 63ULL, 5},
    {132, 1, 125ULL, 6},
    {133, 1, 31ULL, 4},
    {134, 1, 123ULL, 6},
    {135, 1, 61ULL, 5},
    {136, 1, 121ULL, 6},
    {137, 1, 15ULL, 3},
    {138, 1, 119ULL, 6},
    {139, 1, 59ULL, 5},
    {140, 1, 235ULL, 7},
    {141, 1, 117ULL, 6},
    {142, 1, 29ULL, 4},
    {143, 1, 115ULL, 6},
    {144, 1, 57ULL, 5},
    {145, 1, 113ULL, 6},
    {146, 1, 225ULL, 7},
    {147, 1, 7ULL, 2},
    {148, 1, 111ULL, 6},
    {149, 1, 55ULL, 5},
    {150, 1, 219ULL, 7},
    {151, 1, 109ULL, 6},
    {152, 1, 27ULL, 4},
    {153, 1, 215ULL, 7},
    {154, 1, 107ULL, 6},
    {155, 1, 53ULL, 5},
    {156, 1, 211ULL, 7},
    {157, 1, 105ULL, 6},
    {158, 1, 13ULL, 3},
    {159, 1, 207ULL, 7},
    {160, 1, 103ULL, 6},
    {161, 1, 51ULL, 5},
    {162, 1, 203ULL, 7},
    {163, 1, 101ULL, 6},
    {164, 1, 25ULL, 4},
    {165, 1, 199ULL, 7},
    {166, 1, 99ULL, 6},
    {167, 1, 197ULL, 7},
    {168, 1, 49ULL, 5},
    {169, 1, 97ULL, 6},
    {170, 1, 193ULL, 7},
    {171, 1, 3ULL, 1},
    {172, 1, 191ULL, 7},
    {173, 1, 95ULL, 6},
    {174, 1, 189ULL, 7},
    {175, 1, 47ULL, 5},
    {176, 1, 187ULL, 7},
    {177, 1, 93ULL, 6},
    {178, 1, 185ULL, 7},
    {179, 1, 23ULL, 4},
    {180, 1, 183ULL, 7},
    {181, 1, 91ULL, 6},
    {182, 1, 181ULL, 7},
    {183, 1, 45ULL, 5},
    {184, 1, 179ULL, 7},
    {185, 1, 89ULL, 6},
    {186, 1, 177ULL, 7},
    {187, 1, 11ULL, 3},
    {188, 1, 175ULL, 7},
    {189, 1, 87ULL, 6},
    {190, 1, 173ULL, 7},
    {191, 1, 43ULL, 5},
    {192, 1, 171ULL, 7},
    {193, 1, 85ULL, 6},
    {194, 1, 169ULL, 7},
    {195, 2, 81ULL, 7},
    {196, 1, 21ULL, 4},
    {197, 1, 167ULL, 7},
    {198, 1, 83ULL, 6},
    {199, 1, 165ULL, 7},
    {200, 1, 41ULL, 5},
    {201, 2, 71ULL, 7},
    {202, 1, 163ULL, 7},
    {203, 1, 81ULL, 6},
    {204, 1, 161ULL, 7},
    {205, 1, 5ULL, 2},
    {206, 2, 63ULL, 7},
    {207, 1, 159ULL, 7},
    {208, 1, 79ULL, 6},
    {209, 1, 157ULL, 7},
    {210, 2, 57ULL, 7},
    {211, 1, 39ULL, 5},
    {212, 1, 155ULL, 7},
    {213, 1, 77ULL, 6},
    {214, 2, 51ULL, 7},
    {215, 1, 153ULL, 7},
    {216, 1, 19ULL, 4},
    {217, 2, 47ULL, 7},
    {218, 1, 151ULL, 7},
    {219, 1, 75ULL, 6},
    {220, 1, 149ULL, 7},
    {221, 2, 41ULL, 7},
    {222, 1, 37ULL, 5},
    {223, 1, 147ULL, 7},
    {224, 2, 37ULL, 7},
    {225, 1, 73ULL, 6},
    {226, 1, 145ULL, 7},
    {227, 2, 33ULL, 7},
    {228, 1, 9ULL, 3},
    {229, 2, 31ULL, 7},
    {230, 1, 143ULL, 7},
    {231, 1, 71ULL, 6},
    {232, 2, 27ULL, 7},
    {233, 1, 141ULL, 7},
    {234, 2, 25ULL, 7},
    {235, 1, 35ULL, 5},
    {236, 1, 139ULL, 7},
    {237, 2, 21ULL, 7},
    {238, 1, 69ULL, 6},
    {239, 2, 19ULL, 7},
    {240, 1, 137ULL, 7},
    {241, 1, 17ULL, 4},
    {242, 2, 15ULL, 7},
    {243, 1, 135ULL, 7},
    {244, 2, 13ULL, 7},
    {245, 1, 67ULL, 6},
    {246, 2, 11ULL, 7},
    {247, 1, 133ULL, 7},
    {248, 2, 9ULL, 7},
    {249, 1, 33ULL, 5},
    {250, 2, 7ULL, 7},
    {251, 1, 131ULL, 7},
    {252, 2, 5ULL, 7},
    {253, 1, 65ULL, 6},
    {254, 2, 3ULL, 7},
    {255, 1, 129ULL, 7},
};
const int64_t table_s8[256][4] = {
    {256, 0, 0, 7},
    {1, 0, 0, 0},
    {2, 0, 0, 1},
    {3, 1, 86LL, 0},
    {4, 0, 0, 2},
    {5, 1, 103LL, 1},
    {6, 1, 43LL, 0},
    {7, 1, 147LL, 2},
    {8, 0, 0, 3},
    {9, 1, 57LL, 1},
    {10, 1, 103LL, 2},
    {11, 1, 187LL, 3},
    {12, 1, 43LL, 1},
    {13, 1, 79LL, 2},
    {14, 1, 147LL, 3},
    {15, 1, 137LL, 3},
    {16, 0, 0, 4},
    {17, 1, 121LL, 3},
    {18, 1, 57LL, 2},
    {19, 1, 27LL, 1},
    {20, 1, 103LL, 3},
    {21, 1, 49LL, 2},
    {22, 1, 187LL, 4},
    {23, 1, 179LL, 4},
    {24, 1, 43LL, 2},
    {25, 1, 41LL, 2},
    {26, 1, 79LL, 3},
    {27, 1, 19LL, 1},
    {28, 1, 147LL, 4},
    {29, 1, 71LL, 3},
    {30, 1, 137LL, 4},
    {31, 1, 133LL, 4},
    {32, 0, 0, 5},
    {33, 1, 125LL, 4},
    {34, 1, 121LL, 4},
    {35, 1, 59LL, 3},
    {36, 1, 57LL, 3},
    {37, 1, 111LL, 4},
    {38, 1, 27LL, 2},
    {39, 1, 211LL, 5},
    {40, 1, 103LL, 4},
    {41, 1, 25LL, 2},
    {42, 1, 49LL, 3},
    {43, 1, 6LL, 0},
    {44, 1, 47LL, 3},
    {45, 1, 23LL, 2},
    {46, 1, 45LL, 3},
    {47, 1, 11LL, 1},
    {48, 1, 43LL, 3},
    {49, 1, 21LL, 2},
    {50, 1, 41LL, 3},
    {51, 1, 81LL, 4},
    {52, 1, 79LL, 4},
    {53, 1, 39LL, 3},
    {54, 1, 19LL, 2},
    {55, 1, 75LL, 4},
    {56, 1, 147LL, 5},
    {57, 1, 9LL, 1},
    {58, 1, 71LL, 4},
    {59, 1, 35LL, 3},
    {60, 1, 137LL, 5},
    {61, 1, 135LL, 5},
    {62, 1, 133LL, 5},
    {63, 1, 131LL, 5},
    {64, 0, 0, 6},
    {65, 1, 127LL, 5},
    {66, 1, 63LL, 4},
    {67, 1, 31LL, 3},
    {68, 1, 61LL, 4},
    {69, 1, 15LL, 2},
    {70, 1, 59LL, 4},
    {71, 1, 29LL, 3},
    {72, 1, 57LL, 4},
    {73, 1, 113LL, 5},
    {74, 1, 7LL, 1},
    {75, 1, 55LL, 4},
    {76, 1, 27LL, 3},
    {77, 1, 107LL, 5},
    {78, 1, 53LL, 4},
    {79, 1, 13LL, 2},
    {80, 1, 103LL, 5},
    {81, 1, 51LL, 4},
    {82, 1, 25LL, 3},
    {83, 1, 99LL, 5},
    {84, 1, 49LL, 4},
    {85, 1, 97LL, 5},
    {86, 1, 3LL, 0},
    {87, 1, 95LL, 5},
    {88, 1, 47LL, 4},
    {89, 1, 93LL, 5},
    {90, 1, 23LL, 3},
    {91, 1, 91LL, 5},
    {92, 1, 45LL, 4},
    {93, 1, 89LL, 5},
    {94, 1, 11LL, 2},
    {95, 1, 87LL, 5},
    {96, 1, 43LL, 4},
    {97, 1, 85LL, 5},
    {98, 1, 21LL, 3},
    {99, 1, 83LL, 5},
    {100, 1, 41LL, 4},
    {101, 1, 163LL, 6},
    {102, 1, 81LL, 5},
    {103, 1, 5LL, 1},
    {104, 1, 79LL, 5},
    {105, 1, 157LL, 6},
    {106, 1, 39LL, 4},
    {107, 1, 77LL, 5},
    {108, 1, 19LL, 3},
    {109, 1, 151LL, 6},
    {110, 1, 75LL, 5},
    {111, 1, 37LL, 4},
    {112, 1, 147LL, 6},
    {113, 1, 73LL, 5},
    {114, 1, 9LL, 2},
    {115, 1, 143LL, 6},
    {116, 1, 71LL, 5},
    {117, 1, 141LL, 6},
    {118, 1, 35LL, 4},
    {119, 1, 69LL, 5},
    {120, 1, 137LL, 6},
    {121, 1, 17LL, 3},
    {122, 1, 135LL, 6},
    {123, 1, 67LL, 5},
    {124, 1, 133LL, 6},
    {125, 1, 33LL, 4},
    {126, 1, 131LL, 6},
    {127, 1, 65LL, 5},
    {128, 0, 0, 7},
    {129, 0, 0, 7},
    {130, 0, 0, 7},
    {131, 0, 0, 7},
    {132, 0, 0, 7},
    {133, 0, 0, 7},
    {134, 0, 0, 7},
    {135, 0, 0, 7},
    {136, 0, 0, 7},
    {137, 0, 0, 7},
    {138, 0, 0, 7},
    {139, 0, 0, 7},
    {140, 0, 0, 7},
    {141, 0, 0, 7},
    {142, 0, 0, 7},
    {143, 0, 0, 7},
    {144, 0, 0, 7},
    {145, 0, 0, 7},
    {146, 0, 0, 7},
    {147, 0, 0, 7},
    {148, 0, 0, 7},
    {149, 0, 0, 7},
    {150, 0, 0, 7},
    {151, 0, 0, 7},
    {152, 0, 0, 7},
    {153, 0, 0, 7},
    {154, 0, 0, 7},
    {155, 0, 0, 7},
    {156, 0, 0, 7},
    {157, 0, 0, 7},
    {158, 0, 0, 7},
    {159, 0, 0, 7},
    {160, 0, 0, 7},
    {161, 0, 0, 7},
    {162, 0, 0, 7},
    {163, 0, 0, 7},
    {164, 0, 0, 7},
    {165, 0, 0, 7},
    {166, 0, 0, 7},
    {167, 0, 0, 7},
    {168, 0, 0, 7},
    {169, 0, 0, 7},
    {170, 0, 0, 7},
    {171, 0, 0, 7},
    {172, 0, 0, 7},
    {173, 0, 0, 7},
    {174, 0, 0, 7},
    {175, 0, 0, 7},
    {176, 0, 0, 7},
    {177, 0, 0, 7},
    {178, 0, 0, 7},
    {179, 0, 0, 7},
    {180, 0, 0, 7},
    {181, 0, 0, 7},
    {182, 0, 0, 7},
    {183, 0, 0, 7},
    {184, 0, 0, 7},
    {185, 0, 0, 7},
    {186, 0, 0, 7},
    {187, 0, 0, 7},
    {188, 0, 0, 7},
    {189, 0, 0, 7},
    {190, 0, 0, 7},
    {191, 0, 0, 7},
    {192, 0, 0, 7},
    {193, 0, 0, 7},
    {194, 0, 0, 7},
    {195, 0, 0, 7},
    {196, 0, 0, 7},
    {197, 0, 0, 7},
    {198, 0, 0, 7},
    {199, 0, 0, 7},
    {200, 0, 0, 7},
    {201, 0, 0, 7},
    {202, 0, 0, 7},
    {203, 0, 0, 7},
    {204, 0, 0, 7},
    {205, 0, 0, 7},
    {206, 0, 0, 7},
    {207, 0, 0, 7},
    {208, 0, 0, 7},
    {209, 0, 0, 7},
    {210, 0, 0, 7},
    {211, 0, 0, 7},
    {212, 0, 0, 7},
    {213, 0, 0, 7},
    {214, 0, 0, 7},
    {215, 0, 0, 7},
    {216, 0, 0, 7},
    {217, 0, 0, 7},
    {218, 0, 0, 7},
    {219, 0, 0, 7},
    {220, 0, 0, 7},
    {221, 0, 0, 7},
    {222, 0, 0, 7},
    {223, 0, 0, 7},
    {224, 0, 0, 7},
    {225, 0, 0, 7},
    {226, 0, 0, 7},
    {227, 0, 0, 7},
    {228, 0, 0, 7},
    {229, 0, 0, 7},
    {230, 0, 0, 7},
    {231, 0, 0, 7},
    {232, 0, 0, 7},
    {233, 0, 0, 7},
    {234, 0, 0, 7},
    {235, 0, 0, 7},
    {236, 0, 0, 7},
    {237, 0, 0, 7},
    {238, 0, 0, 7},
    {239, 0, 0, 7},
    {240, 0, 0, 7},
    {241, 0, 0, 7},
    {242, 0, 0, 7},
    {243, 0, 0, 7},
    {244, 0, 0, 7},
    {245, 0, 0, 7},
    {246, 0, 0, 7},
    {247, 0, 0, 7},
    {248, 0, 0, 7},
    {249, 0, 0, 7},
    {250, 0, 0, 7},
    {251, 0, 0, 7},
    {252, 0, 0, 7},
    {253, 0, 0, 7},
    {254, 0, 0, 7},
    {255, 0, 0, 7},
};
const int64_t table_u16[256][4] = {
    {256, 0, 0, 8},
    {1, 0, 0, 0},
    {2, 0, 0, 1},
    {3, 1, 43691ULL, 1},
    {4, 0, 0, 2},
    {5, 1, 52429ULL, 2},
    {6, 1, 43691ULL, 2},
    {7, 2, 9363ULL, 2},
    {8, 0, 0, 3},
    {9, 1, 58255ULL, 3},
    {10, 1, 52429ULL, 3},
    {11, 1, 47663ULL, 3},
    {12, 1, 43691ULL, 3},
    {13, 1, 20165ULL, 2},
    {14, 2, 9363ULL, 3},
    {15, 1, 34953ULL, 3},
    {16, 0, 0, 4},
    {17, 1, 61681ULL, 4},
    {18, 1, 58255ULL, 4},
    {19, 1, 55189ULL, 4},
    {20, 1, 52429ULL, 4},
    {21, 2, 34329ULL, 4},
    {22, 1, 47663ULL, 4},
    {23, 2, 25645ULL, 4},
    {24, 1, 43691ULL, 4},
    {25, 2, 18351ULL, 4},
    {26, 1, 20165ULL, 3},
    {27, 2, 12137ULL, 4},
    {28, 2, 9363ULL, 4},
    {29, 1, 18079ULL, 3},
    {30, 1, 34953ULL, 4},
    {31, 2, 2115ULL, 4},
    {32, 0, 0, 5},
    {33, 1, 63551ULL, 5},
    {34, 1, 61681ULL, 5},
    {35, 1, 59919ULL, 5},
    {36, 1, 58255ULL, 5},
    {37, 1, 7085ULL, 2},
    {38, 1, 55189ULL, 5},
    {39, 2, 42011ULL, 5},
    {40, 1, 52429ULL, 5},
    {41, 2, 36765ULL, 5},
    {42, 2, 34329ULL, 5},
    {43, 1, 48771ULL, 5},
    {44, 1, 47663ULL, 5},
    {45, 1, 11651ULL, 3},
    {46, 2, 25645ULL, 5},
    {47, 2, 23705ULL, 5},
    {48, 1, 43691ULL, 5},
    {49, 2, 20063ULL, 5},
    {50, 2, 18351ULL, 5},
    {51, 1, 41121ULL, 5},
    {52, 1, 20165ULL, 4},
    {53, 1, 39569ULL, 5},
    {54, 2, 12137ULL, 5},
    {55, 2, 10725ULL, 5},
    {56, 2, 9363ULL, 5},
    {57, 2, 8049ULL, 5},
    {58, 1, 18079ULL, 4},
    {59, 1, 35545ULL, 5},
    {60, 1, 34953ULL, 5},
    {61, 1, 8595ULL, 3},
    {62, 2, 2115ULL, 5},
    {63, 2, 1041ULL, 5},
    {64, 0, 0, 6},
    {65, 1, 4033ULL, 2},
    {66, 1, 63551ULL, 6},
    {67, 1, 31301ULL, 5},
    {68, 1, 61681ULL, 6},
    {69, 2, 56039ULL, 6},
    {70, 1, 59919ULL, 6},
    {71, 1, 59075ULL, 6},
    {72, 1, 58255ULL, 6},
    {73, 1, 57457ULL, 6},
    {74, 1, 7085ULL, 3},
    {75, 2, 46313ULL, 6},
    {76, 1, 55189ULL, 6},
    {77, 1, 6809ULL, 3},
    {78, 2, 42011ULL, 6},
    {79, 1, 53093ULL, 6},
    {80, 1, 52429ULL, 6},
    {81, 1, 25891ULL, 5},
    {82, 2, 36765ULL, 6},
    {83, 1, 25267ULL, 5},
    {84, 2, 34329ULL, 6},
    {85, 1, 49345ULL, 6},
    {86, 1, 48771ULL, 6},
    {87, 1, 48211ULL, 6},
    {88, 1, 47663ULL, 6},
    {89, 2, 28719ULL, 6},
    {90, 1, 11651ULL, 4},
    {91, 2, 26647ULL, 6},
    {92, 2, 25645ULL, 6},
    {93, 2, 24665ULL, 6},
    {94, 2, 23705ULL, 6},
    {95, 1, 44151ULL, 6},
    {96, 1, 43691ULL, 6},
    {97, 2, 20945ULL, 6},
    {98, 2, 20063ULL, 6},
    {99, 1, 42367ULL, 6},
    {100, 2, 18351ULL, 6},
    {101, 1, 5191ULL, 3},
    {102, 1, 41121ULL, 6},
    {103, 1, 20361ULL, 5},
    {104, 1, 20165ULL, 5},
    {105, 1, 19973ULL, 5},
    {106, 1, 39569ULL, 6},
    {107, 2, 12863ULL, 6},
    {108, 2, 12137ULL, 6},
    {109, 1, 2405ULL, 2},
    {110, 2, 10725ULL, 6},
    {111, 1, 37787ULL, 6},
    {112, 2, 9363ULL, 6},
    {113, 1, 18559ULL, 5},
    {114, 2, 8049ULL, 6},
    {115, 2, 7409ULL, 6},
    {116, 1, 18079ULL, 5},
    {117, 1, 35849ULL, 6},
    {118, 1, 35545ULL, 6},
    {119, 2, 4957ULL, 6},
    {120, 1, 34953ULL, 6},
    {121, 1, 4333ULL, 3},
    {122, 1, 8595ULL, 4},
    {123, 2, 2665ULL, 6},
    {124, 2, 2115ULL, 6},
    {125, 2, 1573ULL, 6},
    {126, 2, 1041ULL, 6},
    {127, 2, 517ULL, 6},
    {128, 0, 0, 7},
    {129, 1, 16257ULL, 5},
    {130, 1, 4033ULL, 3},
    {131, 1, 16009ULL, 5},
    {132, 1, 63551ULL, 7},
    {133, 1, 63073ULL, 7},
    {134, 1, 31301ULL, 6},
    {135, 1, 31069ULL, 6},
    {136, 1, 61681ULL, 7},
    {137, 1, 61231ULL, 7},
    {138, 2, 56039ULL, 7},
    {139, 1, 30175ULL, 6},
    {140, 1, 59919ULL, 7},
    {141, 1, 29747ULL, 6},
    {142, 1, 59075ULL, 7},
    {143, 1, 29331ULL, 6},
    {144, 1, 58255ULL, 7},
    {145, 1, 57853ULL, 7},
    {146, 1, 57457ULL, 7},
    {147, 1, 28533ULL, 6},
    {148, 1, 7085ULL, 4},
    {149, 1, 14075ULL, 5},
    {150, 2, 46313ULL, 7},
    {151, 1, 27777ULL, 6},
    {152, 1, 55189ULL, 7},
    {153, 1, 13707ULL, 5},
    {154, 1, 6809ULL, 4},
    {155, 2, 42705ULL, 7},
    {156, 2, 42011ULL, 7},
    {157, 1, 53431ULL, 7},
    {158, 1, 53093ULL, 7},
    {159, 1, 52759ULL, 7},
    {160, 1, 52429ULL, 7},
    {161, 2, 38671ULL, 7},
    {162, 1, 25891ULL, 6},
    {163, 1, 6433ULL, 4},
    {164, 2, 36765ULL, 7},
    {165, 2, 36145ULL, 7},
    {166, 1, 25267ULL, 6},
    {167, 2, 34927ULL, 7},
    {168, 2, 34329ULL, 7},
    {169, 1, 49637ULL, 7},
    {170, 1, 49345ULL, 7},
    {171, 2, 32577ULL, 7},
    {172, 1, 48771ULL, 7},
    {173, 2, 31443ULL, 7},
    {174, 1, 48211ULL, 7},
    {175, 1, 47935ULL, 7},
    {176, 1, 47663ULL, 7},
    {177, 2, 29251ULL, 7},
    {178, 2, 28719ULL, 7},
    {179, 1, 2929ULL, 3},
    {180, 1, 11651ULL, 5},
    {181, 1, 23173ULL, 6},
    {182, 2, 26647ULL, 7},
    {183, 1, 2865ULL, 3},
    {184, 2, 25645ULL, 7},
    {185, 1, 1417ULL, 2},
    {186, 2, 24665ULL, 7},
    {187, 1, 44859ULL, 7},
    {188, 2, 23705ULL, 7},
    {189, 2, 23233ULL, 7},
    {190, 1, 44151ULL, 7},
    {191, 1, 2745ULL, 3},
    {192, 1, 43691ULL, 7},
    {193, 2, 21393ULL, 7},
    {194, 2, 20945ULL, 7},
    {195, 1, 43019ULL, 7},
    {196, 2, 20063ULL, 7},
    {197, 1, 21291ULL, 6},
    {198, 1, 42367ULL, 7},
    {199, 1, 21077ULL, 6},
    {200, 2, 18351ULL, 7},
    {201, 1, 41735ULL, 7},
    {202, 1, 5191ULL, 4},
    {203, 2, 17111ULL, 7},
    {204, 1, 41121ULL, 7},
    {205, 2, 16305ULL, 7},
    {206, 1, 20361ULL, 6},
    {207, 1, 40525ULL, 7},
    {208, 1, 20165ULL, 6},
    {209, 1, 40137ULL, 7},
    {210, 1, 19973ULL, 6},
    {211, 1, 39757ULL, 7},
    {212, 1, 39569ULL, 7},
    {213, 2, 13231ULL, 7},
    {214, 2, 12863ULL, 7},
    {215, 1, 39017ULL, 7},
    {216, 2, 12137ULL, 7},
    {217, 2, 11779ULL, 7},
    {218, 1, 2405ULL, 3},
    {219, 2, 11073ULL, 7},
    {220, 2, 10725ULL, 7},
    {221, 1, 18979ULL, 6},
    {222, 1, 37787ULL, 7},
    {223, 2, 9699ULL, 7},
    {224, 2, 9363ULL, 7},
    {225, 1, 37283ULL, 7},
    {226, 1, 18559ULL, 6},
    {227, 2, 8373ULL, 7},
    {228, 2, 8049ULL, 7},
    {229, 1, 4579ULL, 4},
    {230, 2, 7409ULL, 7},
    {231, 2, 7093ULL, 7},
    {232, 1, 18079ULL, 6},
    {233, 1, 36003ULL, 7},
    {234, 1, 35849ULL, 7},
    {235, 2, 5857ULL, 7},
    {236, 1, 35545ULL, 7},
    {237, 1, 35395ULL, 7},
    {238, 2, 4957ULL, 7},
    {239, 1, 35099ULL, 7},
    {240, 1, 34953ULL, 7},
    {241, 1, 4351ULL, 4},
    {242, 1, 4333ULL, 4},
    {243, 2, 3507ULL, 7},
    {244, 1, 8595ULL, 5},
    {245, 2, 2943ULL, 7},
    {246, 2, 2665ULL, 7},
    {247, 1, 16981ULL, 6},
    {248, 2, 2115ULL, 7},
    {249, 2, 1843ULL, 7},
    {250, 2, 1573ULL, 7},
    {251, 1, 33421ULL, 7},
    {252, 2, 1041ULL, 7},
    {253, 1, 33157ULL, 7},
    {254, 2, 517ULL, 7},
    {255, 1, 32897ULL, 7},
};
const int64_t table_s16[256][4] = {
    {256, 1, 32769LL, 7},
    {1, 0, 0, 0},
    {2, 0, 0, 1},
    {3, 1, 21846LL, 0},
    {4, 0, 0, 2},
    {5, 1, 26215LL, 1},
    {6, 1, 10923LL, 0},
    {7, 1, 18725LL, 1},
    {8, 0, 0, 3},
    {9, 1, 7282LL, 0},
    {10, 1, 26215LL, 2},
    {11, 1, 5958LL, 0},
    {12, 1, 10923LL, 1},
    {13, 1, 20165LL, 2},
    {14, 1, 18725LL, 2},
    {15, 1, 34953LL, 3},
    {16, 0, 0, 4},
    {17, 1, 30841LL, 3},
    {18, 1, 3641LL, 0},
    {19, 1, 55189LL, 4},
    {20, 1, 26215LL, 3},
    {21, 1, 49933LL, 4},
    {22, 1, 2979LL, 0},
    {23, 1, 45591LL, 4},
    {24, 1, 10923LL, 2},
    {25, 1, 5243LL, 1},
    {26, 1, 20165LL, 3},
    {27, 1, 38837LL, 4},
    {28, 1, 18725LL, 3},
    {29, 1, 18079LL, 3},
    {30, 1, 34953LL, 4},
    {31, 1, 16913LL, 3},
    {32, 0, 0, 5},
    {33, 1, 1986LL, 0},
    {34, 1, 30841LL, 4},
    {35, 1, 3745LL, 1},
    {36, 1, 3641LL, 1},
    {37, 1, 7085LL, 2},
    {38, 1, 55189LL, 5},
    {39, 1, 26887LL, 4},
    {40, 1, 26215LL, 4},
    {41, 1, 51151LL, 5},
    {42, 1, 49933LL, 5},
    {43, 1, 12193LL, 3},
    {44, 1, 2979LL, 1},
    {45, 1, 11651LL, 3},
    {46, 1, 45591LL, 5},
    {47, 1, 44621LL, 5},
    {48, 1, 10923LL, 3},
    {49, 1, 2675LL, 1},
    {50, 1, 5243LL, 2},
    {51, 1, 41121LL, 5},
    {52, 1, 20165LL, 4},
    {53, 1, 19785LL, 4},
    {54, 1, 38837LL, 5},
    {55, 1, 38131LL, 5},
    {56, 1, 18725LL, 4},
    {57, 1, 36793LL, 5},
    {58, 1, 18079LL, 4},
    {59, 1, 17773LL, 4},
    {60, 1, 34953LL, 5},
    {61, 1, 8595LL, 3},
    {62, 1, 16913LL, 4},
    {63, 1, 33289LL, 5},
    {64, 0, 0, 6},
    {65, 1, 4033LL, 2},
    {66, 1, 993LL, 0},
    {67, 1, 31301LL, 5},
    {68, 1, 30841LL, 5},
    {69, 1, 15197LL, 4},
    {70, 1, 3745LL, 2},
    {71, 1, 14769LL, 4},
    {72, 1, 3641LL, 2},
    {73, 1, 57457LL, 6},
    {74, 1, 7085LL, 3},
    {75, 1, 55925LL, 6},
    {76, 1, 55189LL, 6},
    {77, 1, 6809LL, 3},
    {78, 1, 26887LL, 5},
    {79, 1, 26547LL, 5},
    {80, 1, 26215LL, 5},
    {81, 1, 25891LL, 5},
    {82, 1, 51151LL, 6},
    {83, 1, 25267LL, 5},
    {84, 1, 49933LL, 6},
    {85, 1, 24673LL, 5},
    {86, 1, 12193LL, 4},
    {87, 1, 48211LL, 6},
    {88, 1, 2979LL, 2},
    {89, 1, 5891LL, 3},
    {90, 1, 11651LL, 4},
    {91, 1, 11523LL, 4},
    {92, 1, 45591LL, 6},
    {93, 1, 45101LL, 6},
    {94, 1, 44621LL, 6},
    {95, 1, 44151LL, 6},
    {96, 1, 10923LL, 4},
    {97, 1, 43241LL, 6},
    {98, 1, 2675LL, 2},
    {99, 1, 662LL, 0},
    {100, 1, 5243LL, 3},
    {101, 1, 5191LL, 3},
    {102, 1, 41121LL, 6},
    {103, 1, 20361LL, 5},
    {104, 1, 20165LL, 5},
    {105, 1, 19973LL, 5},
    {106, 1, 19785LL, 5},
    {107, 1, 1225LL, 1},
    {108, 1, 38837LL, 6},
    {109, 1, 2405LL, 2},
    {110, 1, 38131LL, 6},
    {111, 1, 37787LL, 6},
    {112, 1, 18725LL, 5},
    {113, 1, 18559LL, 5},
    {114, 1, 36793LL, 6},
    {115, 1, 36473LL, 6},
    {116, 1, 18079LL, 5},
    {117, 1, 35849LL, 6},
    {118, 1, 17773LL, 5},
    {119, 1, 35247LL, 6},
    {120, 1, 34953LL, 6},
    {121, 1, 4333LL, 3},
    {122, 1, 8595LL, 4},
    {123, 1, 34101LL, 6},
    {124, 1, 16913LL, 5},
    {125, 1, 33555LL, 6},
    {126, 1, 33289LL, 6},
    {127, 1, 33027LL, 6},
    {128, 0, 0, 7},
    {129, 1, 16257LL, 5},
    {130, 1, 4033LL, 3},
    {131, 1, 16009LL, 5},
    {132, 1, 993LL, 1},
    {133, 1, 31537LL, 6},
    {134, 1, 31301LL, 6},
    {135, 1, 31069LL, 6},
    {136, 1, 30841LL, 6},
    {137, 1, 3827LL, 3},
    {138, 1, 15197LL, 5},
    {139, 1, 30175LL, 6},
    {140, 1, 3745LL, 3},
    {141, 1, 29747LL, 6},
    {142, 1, 14769LL, 5},
    {143, 1, 29331LL, 6},
    {144, 1, 3641LL, 3},
    {145, 1, 28927LL, 6},
    {146, 1, 57457LL, 7},
    {147, 1, 28533LL, 6},
    {148, 1, 7085LL, 4},
    {149, 1, 14075LL, 5},
    {150, 1, 55925LL, 7},
    {151, 1, 27777LL, 6},
    {152, 1, 55189LL, 7},
    {153, 1, 13707LL, 5},
    {154, 1, 6809LL, 4},
    {155, 1, 54121LL, 7},
    {156, 1, 26887LL, 6},
    {157, 1, 6679LL, 4},
    {158, 1, 26547LL, 6},
    {159, 1, 6595LL, 4},
    {160, 1, 26215LL, 6},
    {161, 1, 6513LL, 4},
    {162, 1, 25891LL, 6},
    {163, 1, 6433LL, 4},
    {164, 1, 51151LL, 7},
    {165, 1, 50841LL, 7},
    {166, 1, 25267LL, 6},
    {167, 1, 6279LL, 4},
    {168, 1, 49933LL, 7},
    {169, 1, 24819LL, 6},
    {170, 1, 24673LL, 6},
    {171, 1, 49057LL, 7},
    {172, 1, 12193LL, 5},
    {173, 1, 24245LL, 6},
    {174, 1, 48211LL, 7},
    {175, 1, 749LL, 1},
    {176, 1, 2979LL, 3},
    {177, 1, 23697LL, 6},
    {178, 1, 5891LL, 4},
    {179, 1, 2929LL, 3},
    {180, 1, 11651LL, 5},
    {181, 1, 23173LL, 6},
    {182, 1, 11523LL, 5},
    {183, 1, 2865LL, 3},
    {184, 1, 45591LL, 7},
    {185, 1, 1417LL, 2},
    {186, 1, 45101LL, 7},
    {187, 1, 11215LL, 5},
    {188, 1, 44621LL, 7},
    {189, 1, 44385LL, 7},
    {190, 1, 44151LL, 7},
    {191, 1, 2745LL, 3},
    {192, 1, 10923LL, 5},
    {193, 1, 43465LL, 7},
    {194, 1, 43241LL, 7},
    {195, 1, 43019LL, 7},
    {196, 1, 2675LL, 3},
    {197, 1, 21291LL, 6},
    {198, 1, 331LL, 0},
    {199, 1, 21077LL, 6},
    {200, 1, 5243LL, 4},
    {201, 1, 41735LL, 7},
    {202, 1, 5191LL, 4},
    {203, 1, 10331LL, 5},
    {204, 1, 41121LL, 7},
    {205, 1, 40921LL, 7},
    {206, 1, 20361LL, 6},
    {207, 1, 40525LL, 7},
    {208, 1, 20165LL, 6},
    {209, 1, 20069LL, 6},
    {210, 1, 19973LL, 6},
    {211, 1, 39757LL, 7},
    {212, 1, 19785LL, 6},
    {213, 1, 4923LL, 4},
    {214, 1, 1225LL, 2},
    {215, 1, 39017LL, 7},
    {216, 1, 38837LL, 7},
    {217, 1, 19329LL, 6},
    {218, 1, 2405LL, 3},
    {219, 1, 38305LL, 7},
    {220, 1, 38131LL, 7},
    {221, 1, 18979LL, 6},
    {222, 1, 37787LL, 7},
    {223, 1, 18809LL, 6},
    {224, 1, 18725LL, 6},
    {225, 1, 37283LL, 7},
    {226, 1, 18559LL, 6},
    {227, 1, 36955LL, 7},
    {228, 1, 36793LL, 7},
    {229, 1, 4579LL, 4},
    {230, 1, 36473LL, 7},
    {231, 1, 36315LL, 7},
    {232, 1, 18079LL, 6},
    {233, 1, 36003LL, 7},
    {234, 1, 35849LL, 7},
    {235, 1, 35697LL, 7},
    {236, 1, 17773LL, 6},
    {237, 1, 8849LL, 5},
    {238, 1, 35247LL, 7},
    {239, 1, 35099LL, 7},
    {240, 1, 34953LL, 7},
    {241, 1, 4351LL, 4},
    {242, 1, 4333LL, 4},
    {243, 1, 17261LL, 6},
    {244, 1, 8595LL, 5},
    {245, 1, 535LL, 1},
    {246, 1, 34101LL, 7},
    {247, 1, 16981LL, 6},
    {248, 1, 16913LL, 6},
    {249, 1, 16845LL, 6},
    {250, 1, 33555LL, 7},
    {251, 1, 33421LL, 7},
    {252, 1, 33289LL, 7},
    {253, 1, 33157LL, 7},
    {254, 1, 33027LL, 7},
    {255, 1, 32897LL, 7},
};
const int64_t table_u32[256][4] = {
    {256, 0, 0, 8},
    {1, 0, 0, 0},
    {2, 0, 0, 1},
    {3, 1, 2863311531ULL, 1},
    {4, 0, 0, 2},
    {5, 1, 3435973837ULL, 2},
    {6, 1, 2863311531ULL, 2},
    {7, 2, 613566757ULL, 2},
    {8, 0, 0, 3},
    {9, 1, 954437177ULL, 1},
    {10, 1, 3435973837ULL, 3},
    {11, 1, 3123612579ULL, 3},
    {12, 1, 2863311531ULL, 3},
    {13, 1, 1321528399ULL, 2},
    {14, 2, 613566757ULL, 3},
    {15, 1, 2290649225ULL, 3},
    {16, 0, 0, 4},
    {17, 1, 4042322161ULL, 4},
    {18, 1, 954437177ULL, 2},
    {19, 2, 2938661835ULL, 4},
    {20, 1, 3435973837ULL, 4},
    {21, 2, 2249744775ULL, 4},
    {22, 1, 3123612579ULL, 4},
    {23, 1, 2987803337ULL, 4},
    {24, 1, 2863311531ULL, 4},
    {25, 1, 1374389535ULL, 3},
    {26, 1, 1321528399ULL, 3},
    {27, 2, 795364315ULL, 4},
    {28, 2, 613566757ULL, 4},
    {29, 1, 2369637129ULL, 4},
    {30, 1, 2290649225ULL, 4},
    {31, 2, 138547333ULL, 4},
    {32, 0, 0, 5},
    {33, 1, 1041204193ULL, 3},
    {34, 1, 4042322161ULL, 5},
    {35, 2, 3558687189ULL, 5},
    {36, 1, 954437177ULL, 3},
    {37, 2, 3134165325ULL, 5},
    {38, 2, 2938661835ULL, 5},
    {39, 2, 2753184165ULL, 5},
    {40, 1, 3435973837ULL, 5},
    {41, 1, 3352169597ULL, 5},
    {42, 2, 2249744775ULL, 5},
    {43, 1, 799063683ULL, 3},
    {44, 1, 3123612579ULL, 5},
    {45, 2, 1813430637ULL, 5},
    {46, 1, 2987803337ULL, 5},
    {47, 1, 2924233053ULL, 5},
    {48, 1, 2863311531ULL, 5},
    {49, 1, 1402438301ULL, 4},
    {50, 1, 1374389535ULL, 4},
    {51, 1, 2694881441ULL, 5},
    {52, 1, 1321528399ULL, 4},
    {53, 2, 891408307ULL, 5},
    {54, 2, 795364315ULL, 5},
    {55, 2, 702812831ULL, 5},
    {56, 2, 613566757ULL, 5},
    {57, 2, 527452125ULL, 5},
    {58, 1, 2369637129ULL, 5},
    {59, 1, 582368447ULL, 3},
    {60, 1, 2290649225ULL, 5},
    {61, 1, 1126548799ULL, 4},
    {62, 2, 138547333ULL, 5},
    {63, 2, 68174085ULL, 5},
    {64, 0, 0, 6},
    {65, 1, 4228890877ULL, 6},
    {66, 1, 1041204193ULL, 4},
    {67, 1, 128207979ULL, 1},
    {68, 1, 4042322161ULL, 6},
    {69, 1, 1991868891ULL, 5},
    {70, 2, 3558687189ULL, 6},
    {71, 1, 3871519817ULL, 6},
    {72, 1, 954437177ULL, 4},
    {73, 2, 3235934265ULL, 6},
    {74, 2, 3134165325ULL, 6},
    {75, 1, 458129845ULL, 3},
    {76, 2, 2938661835ULL, 6},
    {77, 1, 892460737ULL, 4},
    {78, 2, 2753184165ULL, 6},
    {79, 1, 3479467177ULL, 6},
    {80, 1, 3435973837ULL, 6},
    {81, 1, 3393554407ULL, 6},
    {82, 1, 3352169597ULL, 6},
    {83, 1, 827945503ULL, 4},
    {84, 2, 2249744775ULL, 6},
    {85, 1, 3233857729ULL, 6},
    {86, 1, 799063683ULL, 4},
    {87, 1, 789879043ULL, 4},
    {88, 1, 3123612579ULL, 6},
    {89, 1, 3088515809ULL, 6},
    {90, 2, 1813430637ULL, 6},
    {91, 2, 1746305385ULL, 6},
    {92, 1, 2987803337ULL, 6},
    {93, 1, 2955676419ULL, 6},
    {94, 1, 2924233053ULL, 6},
    {95, 2, 1491936009ULL, 6},
    {96, 1, 2863311531ULL, 6},
    {97, 2, 1372618415ULL, 6},
    {98, 1, 1402438301ULL, 5},
    {99, 1, 2776544515ULL, 6},
    {100, 1, 1374389535ULL, 5},
    {101, 2, 1148159575ULL, 6},
    {102, 1, 2694881441ULL, 6},
    {103, 2, 1042467791ULL, 6},
    {104, 1, 1321528399ULL, 5},
    {105, 2, 940802361ULL, 6},
    {106, 2, 891408307ULL, 6},
    {107, 2, 842937507ULL, 6},
    {108, 2, 795364315ULL, 6},
    {109, 2, 748664025ULL, 6},
    {110, 2, 702812831ULL, 6},
    {111, 2, 657787785ULL, 6},
    {112, 2, 613566757ULL, 6},
    {113, 2, 570128403ULL, 6},
    {114, 2, 527452125ULL, 6},
    {115, 2, 485518043ULL, 6},
    {116, 1, 2369637129ULL, 6},
    {117, 2, 403800345ULL, 6},
    {118, 1, 582368447ULL, 4},
    {119, 1, 1154949189ULL, 5},
    {120, 1, 2290649225ULL, 6},
    {121, 2, 248469183ULL, 6},
    {122, 1, 1126548799ULL, 5},
    {123, 2, 174592167ULL, 6},
    {124, 2, 138547333ULL, 6},
    {125, 1, 274877907ULL, 3},
    {126, 2, 68174085ULL, 6},
    {127, 2, 33818641ULL, 6},
    {128, 0, 0, 7},
    {129, 1, 266354561ULL, 3},
    {130, 1, 4228890877ULL, 7},
    {131, 1, 4196609267ULL, 7},
    {132, 1, 1041204193ULL, 5},
    {133, 1, 4133502361ULL, 7},
    {134, 1, 128207979ULL, 2},
    {135, 1, 4072265289ULL, 7},
    {136, 1, 4042322161ULL, 7},
    {137, 1, 125400505ULL, 2},
    {138, 1, 1991868891ULL, 6},
    {139, 1, 1977538899ULL, 6},
    {140, 2, 3558687189ULL, 7},
    {141, 1, 974744351ULL, 5},
    {142, 1, 3871519817ULL, 7},
    {143, 1, 3844446251ULL, 7},
    {144, 1, 954437177ULL, 5},
    {145, 1, 3791419407ULL, 7},
    {146, 2, 3235934265ULL, 7},
    {147, 1, 3739835469ULL, 7},
    {148, 2, 3134165325ULL, 7},
    {149, 1, 3689636335ULL, 7},
    {150, 1, 458129845ULL, 4},
    {151, 1, 910191745ULL, 5},
    {152, 2, 2938661835ULL, 7},
    {153, 1, 3593175255ULL, 7},
    {154, 1, 892460737ULL, 5},
    {155, 1, 3546811703ULL, 7},
    {156, 2, 2753184165ULL, 7},
    {157, 1, 875407347ULL, 5},
    {158, 1, 3479467177ULL, 7},
    {159, 2, 2620200175ULL, 7},
    {160, 1, 3435973837ULL, 7},
    {161, 1, 3414632385ULL, 7},
    {162, 1, 3393554407ULL, 7},
    {163, 1, 3372735055ULL, 7},
    {164, 1, 3352169597ULL, 7},
    {165, 1, 1665926709ULL, 6},
    {166, 1, 827945503ULL, 5},
    {167, 1, 1645975491ULL, 6},
    {168, 2, 2249744775ULL, 7},
    {169, 1, 1626496491ULL, 6},
    {170, 1, 3233857729ULL, 7},
    {171, 2, 2134925265ULL, 7},
    {172, 1, 799063683ULL, 5},
    {173, 2, 2060591247ULL, 7},
    {174, 1, 789879043ULL, 5},
    {175, 1, 1570730897ULL, 6},
    {176, 1, 3123612579ULL, 7},
    {177, 2, 1916962805ULL, 7},
    {178, 1, 3088515809ULL, 7},
    {179, 2, 1847555765ULL, 7},
    {180, 2, 1813430637ULL, 7},
    {181, 1, 3037324939ULL, 7},
    {182, 2, 1746305385ULL, 7},
    {183, 1, 3004130131ULL, 7},
    {184, 1, 2987803337ULL, 7},
    {185, 2, 1648338801ULL, 7},
    {186, 1, 2955676419ULL, 7},
    {187, 1, 2939870663ULL, 7},
    {188, 1, 2924233053ULL, 7},
    {189, 2, 1522554545ULL, 7},
    {190, 2, 1491936009ULL, 7},
    {191, 1, 2878302691ULL, 7},
    {192, 1, 2863311531ULL, 7},
    {193, 1, 356059465ULL, 4},
    {194, 2, 1372618415ULL, 7},
    {195, 2, 1343553873ULL, 7},
    {196, 1, 1402438301ULL, 6},
    {197, 2, 1286310003ULL, 7},
    {198, 1, 2776544515ULL, 7},
    {199, 1, 1381296015ULL, 6},
    {200, 1, 1374389535ULL, 6},
    {201, 1, 42735993ULL, 1},
    {202, 2, 1148159575ULL, 7},
    {203, 1, 2708156719ULL, 7},
    {204, 1, 2694881441ULL, 7},
    {205, 1, 1340867839ULL, 6},
    {206, 2, 1042467791ULL, 7},
    {207, 1, 663956297ULL, 5},
    {208, 1, 1321528399ULL, 6},
    {209, 1, 2630410593ULL, 7},
    {210, 2, 940802361ULL, 7},
    {211, 1, 2605477791ULL, 7},
    {212, 2, 891408307ULL, 7},
    {213, 1, 2581013211ULL, 7},
    {214, 2, 842937507ULL, 7},
    {215, 1, 1278501893ULL, 6},
    {216, 2, 795364315ULL, 7},
    {217, 2, 771906565ULL, 7},
    {218, 2, 748664025ULL, 7},
    {219, 2, 725633745ULL, 7},
    {220, 2, 702812831ULL, 7},
    {221, 2, 680198441ULL, 7},
    {222, 2, 657787785ULL, 7},
    {223, 2, 635578121ULL, 7},
    {224, 2, 613566757ULL, 7},
    {225, 1, 2443359173ULL, 7},
    {226, 2, 570128403ULL, 7},
    {227, 2, 548696263ULL, 7},
    {228, 2, 527452125ULL, 7},
    {229, 1, 1200340205ULL, 6},
    {230, 2, 485518043ULL, 7},
    {231, 2, 464823301ULL, 7},
    {232, 1, 2369637129ULL, 7},
    {233, 2, 423966729ULL, 7},
    {234, 2, 403800345ULL, 7},
    {235, 2, 383805589ULL, 7},
    {236, 1, 582368447ULL, 5},
    {237, 2, 344322273ULL, 7},
    {238, 1, 1154949189ULL, 6},
    {239, 1, 2300233531ULL, 7},
    {240, 1, 2290649225ULL, 7},
    {241, 1, 285143057ULL, 4},
    {242, 2, 248469183ULL, 7},
    {243, 1, 2262369605ULL, 7},
    {244, 1, 1126548799ULL, 6},
    {245, 2, 192835267ULL, 7},
    {246, 2, 174592167ULL, 7},
    {247, 2, 156496785ULL, 7},
    {248, 2, 138547333ULL, 7},
    {249, 2, 120742053ULL, 7},
    {250, 1, 274877907ULL, 4},
    {251, 1, 2190262207ULL, 7},
    {252, 2, 68174085ULL, 7},
    {253, 1, 2172947881ULL, 7},
    {254, 2, 33818641ULL, 7},
    {255, 1, 2155905153ULL, 7},
};
const int64_t table_s32[256][4] = {
    {256, 1, 2147483649LL, 7},
    {1, 0, 0, 0},
    {2, 0, 0, 1},
    {3, 1, 1431655766LL, 0},
    {4, 0, 0, 2},
    {5, 1, 1717986919LL, 1},
    {6, 1, 715827883LL, 0},
    {7, 1, 2454267027LL, 2},
    {8, 0, 0, 3},
    {9, 1, 954437177LL, 1},
    {10, 1, 1717986919LL, 2},
    {11, 1, 780903145LL, 1},
    {12, 1, 715827883LL, 1},
    {13, 1, 1321528399LL, 2},
    {14, 1, 2454267027LL, 3},
    {15, 1, 2290649225LL, 3},
    {16, 0, 0, 4},
    {17, 1, 2021161081LL, 3},
    {18, 1, 954437177LL, 2},
    {19, 1, 1808407283LL, 3},
    {20, 1, 1717986919LL, 3},
    {21, 1, 818089009LL, 2},
    {22, 1, 780903145LL, 2},
    {23, 1, 2987803337LL, 4},
    {24, 1, 715827883LL, 2},
    {25, 1, 1374389535LL, 3},
    {26, 1, 1321528399LL, 3},
    {27, 1, 1272582903LL, 3},
    {28, 1, 2454267027LL, 4},
    {29, 1, 2369637129LL, 4},
    {30, 1, 2290649225LL, 4},
    {31, 1, 2216757315LL, 4},
    {32, 0, 0, 5},
    {33, 1, 1041204193LL, 3},
    {34, 1, 2021161081LL, 4},
    {35, 1, 3926827243LL, 5},
    {36, 1, 954437177LL, 3},
    {37, 1, 3714566311LL, 5},
    {38, 1, 1808407283LL, 4},
    {39, 1, 3524075731LL, 5},
    {40, 1, 1717986919LL, 4},
    {41, 1, 1676084799LL, 4},
    {42, 1, 818089009LL, 3},
    {43, 1, 799063683LL, 3},
    {44, 1, 780903145LL, 3},
    {45, 1, 3054198967LL, 5},
    {46, 1, 2987803337LL, 5},
    {47, 1, 2924233053LL, 5},
    {48, 1, 715827883LL, 3},
    {49, 1, 1402438301LL, 4},
    {50, 1, 1374389535LL, 4},
    {51, 1, 2694881441LL, 5},
    {52, 1, 1321528399LL, 4},
    {53, 1, 1296593901LL, 4},
    {54, 1, 1272582903LL, 4},
    {55, 1, 156180629LL, 1},
    {56, 1, 2454267027LL, 5},
    {57, 1, 2411209711LL, 5},
    {58, 1, 2369637129LL, 5},
    {59, 1, 582368447LL, 3},
    {60, 1, 2290649225LL, 5},
    {61, 1, 1126548799LL, 4},
    {62, 1, 2216757315LL, 5},
    {63, 1, 2181570691LL, 5},
    {64, 0, 0, 6},
    {65, 1, 2114445439LL, 5},
    {66, 1, 1041204193LL, 4},
    {67, 1, 128207979LL, 1},
    {68, 1, 2021161081LL, 5},
    {69, 1, 1991868891LL, 5},
    {70, 1, 3926827243LL, 6},
    {71, 1, 3871519817LL, 6},
    {72, 1, 954437177LL, 4},
    {73, 1, 3765450781LL, 6},
    {74, 1, 3714566311LL, 6},
    {75, 1, 458129845LL, 3},
    {76, 1, 1808407283LL, 5},
    {77, 1, 892460737LL, 4},
    {78, 1, 3524075731LL, 6},
    {79, 1, 1739733589LL, 5},
    {80, 1, 1717986919LL, 5},
    {81, 1, 424194301LL, 3},
    {82, 1, 1676084799LL, 5},
    {83, 1, 827945503LL, 4},
    {84, 1, 818089009LL, 4},
    {85, 1, 1616928865LL, 5},
    {86, 1, 799063683LL, 4},
    {87, 1, 789879043LL, 4},
    {88, 1, 780903145LL, 4},
    {89, 1, 3088515809LL, 6},
    {90, 1, 3054198967LL, 6},
    {91, 1, 3020636341LL, 6},
    {92, 1, 2987803337LL, 6},
    {93, 1, 738919105LL, 4},
    {94, 1, 2924233053LL, 6},
    {95, 1, 2893451653LL, 6},
    {96, 1, 715827883LL, 4},
    {97, 1, 354224107LL, 3},
    {98, 1, 1402438301LL, 5},
    {99, 1, 2776544515LL, 6},
    {100, 1, 1374389535LL, 5},
    {101, 1, 680390859LL, 4},
    {102, 1, 2694881441LL, 6},
    {103, 1, 333589693LL, 3},
    {104, 1, 1321528399LL, 5},
    {105, 1, 2617884829LL, 6},
    {106, 1, 1296593901LL, 5},
    {107, 1, 1284476201LL, 5},
    {108, 1, 1272582903LL, 5},
    {109, 1, 2521815661LL, 6},
    {110, 1, 156180629LL, 2},
    {111, 1, 2476377541LL, 6},
    {112, 1, 2454267027LL, 6},
    {113, 1, 1216273925LL, 5},
    {114, 1, 2411209711LL, 6},
    {115, 1, 1195121335LL, 5},
    {116, 1, 2369637129LL, 6},
    {117, 1, 2349383821LL, 6},
    {118, 1, 582368447LL, 4},
    {119, 1, 1154949189LL, 5},
    {120, 1, 2290649225LL, 6},
    {121, 1, 70991195LL, 1},
    {122, 1, 1126548799LL, 5},
    {123, 1, 558694933LL, 4},
    {124, 1, 2216757315LL, 6},
    {125, 1, 274877907LL, 3},
    {126, 1, 2181570691LL, 6},
    {127, 1, 2164392969LL, 6},
    {128, 0, 0, 7},
    {129, 1, 266354561LL, 3},
    {130, 1, 2114445439LL, 6},
    {131, 1, 1049152317LL, 5},
    {132, 1, 1041204193LL, 5},
    {133, 1, 4133502361LL, 7},
    {134, 1, 128207979LL, 2},
    {135, 1, 4072265289LL, 7},
    {136, 1, 2021161081LL, 6},
    {137, 1, 125400505LL, 2},
    {138, 1, 1991868891LL, 6},
    {139, 1, 1977538899LL, 6},
    {140, 1, 3926827243LL, 7},
    {141, 1, 974744351LL, 5},
    {142, 1, 3871519817LL, 7},
    {143, 1, 961111563LL, 5},
    {144, 1, 954437177LL, 5},
    {145, 1, 3791419407LL, 7},
    {146, 1, 3765450781LL, 7},
    {147, 1, 1869917735LL, 6},
    {148, 1, 3714566311LL, 7},
    {149, 1, 230602271LL, 3},
    {150, 1, 458129845LL, 4},
    {151, 1, 910191745LL, 5},
    {152, 1, 1808407283LL, 6},
    {153, 1, 3593175255LL, 7},
    {154, 1, 892460737LL, 5},
    {155, 1, 443351463LL, 4},
    {156, 1, 3524075731LL, 7},
    {157, 1, 875407347LL, 5},
    {158, 1, 1739733589LL, 6},
    {159, 1, 432197967LL, 4},
    {160, 1, 1717986919LL, 6},
    {161, 1, 3414632385LL, 7},
    {162, 1, 424194301LL, 4},
    {163, 1, 210795941LL, 3},
    {164, 1, 1676084799LL, 6},
    {165, 1, 1665926709LL, 6},
    {166, 1, 827945503LL, 5},
    {167, 1, 1645975491LL, 6},
    {168, 1, 818089009LL, 5},
    {169, 1, 1626496491LL, 6},
    {170, 1, 1616928865LL, 6},
    {171, 1, 3214946281LL, 7},
    {172, 1, 799063683LL, 5},
    {173, 1, 397222409LL, 4},
    {174, 1, 789879043LL, 5},
    {175, 1, 1570730897LL, 6},
    {176, 1, 780903145LL, 5},
    {177, 1, 3105965051LL, 7},
    {178, 1, 3088515809LL, 7},
    {179, 1, 3071261531LL, 7},
    {180, 1, 3054198967LL, 7},
    {181, 1, 759331235LL, 5},
    {182, 1, 3020636341LL, 7},
    {183, 1, 3004130131LL, 7},
    {184, 1, 2987803337LL, 7},
    {185, 1, 2971653049LL, 7},
    {186, 1, 738919105LL, 5},
    {187, 1, 2939870663LL, 7},
    {188, 1, 2924233053LL, 7},
    {189, 1, 2908760921LL, 7},
    {190, 1, 2893451653LL, 7},
    {191, 1, 2878302691LL, 7},
    {192, 1, 715827883LL, 5},
    {193, 1, 356059465LL, 4},
    {194, 1, 354224107LL, 4},
    {195, 1, 2819260585LL, 7},
    {196, 1, 1402438301LL, 6},
    {197, 1, 1395319325LL, 6},
    {198, 1, 2776544515LL, 7},
    {199, 1, 1381296015LL, 6},
    {200, 1, 1374389535LL, 6},
    {201, 1, 42735993LL, 1},
    {202, 1, 680390859LL, 5},
    {203, 1, 2708156719LL, 7},
    {204, 1, 2694881441LL, 7},
    {205, 1, 1340867839LL, 6},
    {206, 1, 333589693LL, 4},
    {207, 1, 663956297LL, 5},
    {208, 1, 1321528399LL, 6},
    {209, 1, 2630410593LL, 7},
    {210, 1, 2617884829LL, 7},
    {211, 1, 81421181LL, 2},
    {212, 1, 1296593901LL, 6},
    {213, 1, 2581013211LL, 7},
    {214, 1, 1284476201LL, 6},
    {215, 1, 1278501893LL, 6},
    {216, 1, 1272582903LL, 6},
    {217, 1, 2533436931LL, 7},
    {218, 1, 2521815661LL, 7},
    {219, 1, 2510300521LL, 7},
    {220, 1, 156180629LL, 3},
    {221, 1, 2487582869LL, 7},
    {222, 1, 2476377541LL, 7},
    {223, 1, 2465272709LL, 7},
    {224, 1, 2454267027LL, 7},
    {225, 1, 2443359173LL, 7},
    {226, 1, 1216273925LL, 6},
    {227, 1, 605457945LL, 5},
    {228, 1, 2411209711LL, 7},
    {229, 1, 1200340205LL, 6},
    {230, 1, 1195121335LL, 6},
    {231, 1, 2379895299LL, 7},
    {232, 1, 2369637129LL, 7},
    {233, 1, 2359467013LL, 7},
    {234, 1, 2349383821LL, 7},
    {235, 1, 2339386443LL, 7},
    {236, 1, 582368447LL, 5},
    {237, 1, 2319644785LL, 7},
    {238, 1, 1154949189LL, 6},
    {239, 1, 2300233531LL, 7},
    {240, 1, 2290649225LL, 7},
    {241, 1, 285143057LL, 4},
    {242, 1, 70991195LL, 2},
    {243, 1, 2262369605LL, 7},
    {244, 1, 1126548799LL, 6},
    {245, 1, 1121950641LL, 6},
    {246, 1, 558694933LL, 5},
    {247, 1, 2225732041LL, 7},
    {248, 1, 2216757315LL, 7},
    {249, 1, 2207854675LL, 7},
    {250, 1, 274877907LL, 4},
    {251, 1, 2190262207LL, 7},
    {252, 1, 2181570691LL, 7},
    {253, 1, 2172947881LL, 7},
    {254, 1, 2164392969LL, 7},
    {255, 1, 2155905153LL, 7},
};
const int64_t table_runtime_u8[256][4] = {
    {256, 2, 1ULL, 7},
    {1, 2, 257ULL, 0},
    {2, 2, 1ULL, 0},
    {3, 2, 86ULL, 1},
    {4, 2, 1ULL, 1},
    {5, 2, 154ULL, 2},
    {6, 2, 86ULL, 2},
    {7, 2, 37ULL, 2},
    {8, 2, 1ULL, 2},
    {9, 2, 200ULL, 3},
    {10, 2, 154ULL, 3},
    {11, 2, 117ULL, 3},
    {12, 2, 86ULL, 3},
    {13, 2, 60ULL, 3},
    {14, 2, 37ULL, 3},
    {15, 2, 18ULL, 3},
    {16, 2, 1ULL, 3},
    {17, 2, 226ULL, 4},
    {18, 2, 200ULL, 4},
    {19, 2, 176ULL, 4},
    {20, 2, 154ULL, 4},
    {21, 2, 135ULL, 4},
    {22, 2, 117ULL, 4},
    {23, 2, 101ULL, 4},
    {24, 2, 86ULL, 4},
    {25, 2, 72ULL, 4},
    {26, 2, 60ULL, 4},
    {27, 2, 48ULL, 4},
    {28, 2, 37ULL, 4},
    {29, 2, 27ULL, 4},
    {30, 2, 18ULL, 4},
    {31, 2, 9ULL, 4},
    {32, 2, 1ULL, 4},
    {33, 2, 241ULL, 5},
    {34, 2, 226ULL, 5},
    {35, 2, 213ULL, 5},
    {36, 2, 200ULL, 5},
    {37, 2, 187ULL, 5},
    {38, 2, 176ULL, 5},
    {39, 2, 165ULL, 5},
    {40, 2, 154ULL, 5},
    {41, 2, 144ULL, 5},
    {42, 2, 135ULL, 5},
    {43, 2, 126ULL, 5},
    {44, 2, 117ULL, 5},
    {45, 2, 109ULL, 5},
    {46, 2, 101ULL, 5},
    {47, 2, 93ULL, 5},
    {48, 2, 86ULL, 5},
    {49, 2, 79ULL, 5},
    {50, 2, 72ULL, 5},
    {51, 2, 66ULL, 5},
    {52, 2, 60ULL, 5},
    {53, 2, 54ULL, 5},
    {54, 2, 48ULL, 5},
    {55, 2, 42ULL, 5},
    {56, 2, 37ULL, 5},
    {57, 2, 32ULL, 5},
    {58, 2, 27ULL, 5},
    {59, 2, 22ULL, 5},
    {60, 2, 18ULL, 5},
    {61, 2, 13ULL, 5},
    {62, 2, 9ULL, 5},
    {63, 2, 5ULL, 5},
    {64, 2, 1ULL, 5},
    {65, 2, 249ULL, 6},
    {66, 2, 241ULL, 6},
    {67, 2, 234ULL, 6},
    {68, 2, 226ULL, 6},
    {69, 2, 219ULL, 6},
    {70, 2, 213ULL, 6},
    {71, 2, 206ULL, 6},
    {72, 2, 200ULL, 6},
    {73, 2, 193ULL, 6},
    {74, 2, 187ULL, 6},
    {75, 2, 181ULL, 6},
    {76, 2, 176ULL, 6},
    {77, 2, 170ULL, 6},
    {78, 2, 165ULL, 6},
    {79, 2, 159ULL, 6},
    {80, 2, 154ULL, 6},
    {81, 2, 149ULL, 6},
    {82, 2, 144ULL, 6},
    {83, 2, 139ULL, 6},
    {84, 2, 135ULL, 6},
    {85, 2, 130ULL, 6},
    {86, 2, 126ULL, 6},
    {87, 2, 121ULL, 6},
    {88, 2, 117ULL, 6},
    {89, 2, 113ULL, 6},
    {90, 2, 109ULL, 6},
    {91, 2, 105ULL, 6},
    {92, 2, 101ULL, 6},
    {93, 2, 97ULL, 6},
    {94, 2, 93ULL, 6},
    {95, 2, 89ULL, 6},
    {96, 2, 86ULL, 6},
    {97, 2, 82ULL, 6},
    {98, 2, 79ULL, 6},
    {99, 2, 75ULL, 6},
    {100, 2, 72ULL, 6},
    {101, 2, 69ULL, 6},
    {102, 2, 66ULL, 6},
    {103, 2, 63ULL, 6},
    {104, 2, 60ULL, 6},
    {105, 2, 57ULL, 6},
    {106, 2, 54ULL, 6},
    {107, 2, 51ULL, 6},
    {108, 2, 48ULL, 6},
    {109, 2, 45ULL, 6},
    {110, 2, 42ULL, 6},
    {111, 2, 40ULL, 6},
    {112, 2, 37ULL, 6},
    {113, 2, 34ULL, 6},
    {114, 2, 32ULL, 6},
    {115, 2, 29ULL, 6},
    {116, 2, 27ULL, 6},
    {117, 2, 25ULL, 6},
    {118, 2, 22ULL, 6},
    {119, 2, 20ULL, 6},
    {120, 2, 18ULL, 6},
    {121, 2, 15ULL, 6},
    {122, 2, 13ULL, 6},
    {123, 2, 11ULL, 6},
    {124, 2, 9ULL, 6},
    {125, 2, 7ULL, 6},
    {126, 2, 5ULL, 6},
    {127, 2, 3ULL, 6},
    {128, 2, 1ULL, 6},
    {129, 2, 253ULL, 7},
    {130, 2, 249ULL, 7},
    {131, 2, 245ULL, 7},
    {132, 2, 241ULL, 7},
    {133, 2, 237ULL, 7},
    {134, 2, 234ULL, 7},
    {135, 2, 230ULL, 7},
    {136, 2, 226ULL, 7},
    {137, 2, 223ULL, 7},
    {138, 2, 219ULL, 7},
    {139, 2, 216ULL, 7},
    {140, 2, 213ULL, 7},
    {141, 2, 209ULL, 7},
    {142, 2, 206ULL, 7},
    {143, 2, 203ULL, 7},
    {144, 2, 200ULL, 7},
    {145, 2, 196ULL, 7},
    {146, 2, 193ULL, 7},
    {147, 2, 190ULL, 7},
    {148, 2, 187ULL, 7},
    {149, 2, 184ULL, 7},
    {150, 2, 181ULL, 7},
    {151, 2, 179ULL, 7},
    {152, 2, 176ULL, 7},
    {153, 2, 173ULL, 7},
    {154, 2, 170ULL, 7},
    {155, 2, 167ULL, 7},
    {156, 2, 165ULL, 7},
    {157, 2, 162ULL, 7},
    {158, 2, 159ULL, 7},
    {159, 2, 157ULL, 7},
    {160, 2, 154ULL, 7},
    {161, 2, 152ULL, 7},
    {162, 2, 149ULL, 7},
    {163, 2, 147ULL, 7},
    {164, 2, 144ULL, 7},
    {165, 2, 142ULL, 7},
    {166, 2, 139ULL, 7},
    {167, 2, 137ULL, 7},
    {168, 2, 135ULL, 7},
    {169, 2, 132ULL, 7},
    {170, 2, 130ULL, 7},
    {171, 2, 128ULL, 7},
    {172, 2, 126ULL, 7},
    {173, 2, 123ULL, 7},
    {174, 2, 121ULL, 7},
    {175, 2, 119ULL, 7},
    {176, 2, 117ULL, 7},
    {177, 2, 115ULL, 7},
    {178, 2, 113ULL, 7},
    {179, 2, 111ULL, 7},
    {180, 2, 109ULL, 7},
    {181, 2, 107ULL, 7},
    {182, 2, 105ULL, 7},
    {183, 2, 103ULL, 7},
    {184, 2, 101ULL, 7},
    {185, 2, 99ULL, 7},
    {186, 2, 97ULL, 7},
    {187, 2, 95ULL, 7},
    {188, 2, 93ULL, 7},
    {189, 2, 91ULL, 7},
    {190, 2, 89ULL, 7},
    {191, 2, 88ULL, 7},
    {192, 2, 86ULL, 7},
    {193, 2, 84ULL, 7},
    {194, 2, 82ULL, 7},
    {195, 2, 81ULL, 7},
    {196, 2, 79ULL, 7},
    {197, 2, 77ULL, 7},
    {198, 2, 75ULL, 7},
    {199, 2, 74ULL, 7},
    {200, 2, 72ULL, 7},
    {201, 2, 71ULL, 7},
    {202, 2, 69ULL, 7},
    {203, 2, 67ULL, 7},
    {204, 2, 66ULL, 7},
    {205, 2, 64ULL, 7},
    {206, 2, 63ULL, 7},
    {207, 2, 61ULL, 7},
    {208, 2, 60ULL, 7},
    {209, 2, 58ULL, 7},
    {210, 2, 57ULL, 7},
    {211, 2, 55ULL, 7},
    {212, 2, 54ULL, 7},
    {213, 2, 52ULL, 7},
    {214, 2, 51ULL, 7},
    {215, 2, 49ULL, 7},
    {216, 2, 48ULL, 7},
    {217, 2, 47ULL, 7},
    {218, 2, 45ULL, 7},
    {219, 2, 44ULL, 7},
    {220, 2, 42ULL, 7},
    {221, 2, 41ULL, 7},
    {222, 2, 40ULL, 7},
    {223, 2, 38ULL, 7},
    {224, 2, 37ULL, 7},
    {225, 2, 36ULL, 7},
    {226, 2, 34ULL, 7},
    {227, 2, 33ULL, 7},
    {228, 2, 32ULL, 7},
    {229, 2, 31ULL, 7},
    {230, 2, 29ULL, 7},
    {231, 2, 28ULL, 7},
    {232, 2, 27ULL, 7},
    {233, 2, 26ULL, 7},
    {234, 2, 25ULL, 7},
    {235, 2, 23ULL, 7},
    {236, 2, 22ULL, 7},
    {237, 2, 21ULL, 7},
    {238, 2, 20ULL, 7},
    {239, 2, 19ULL, 7},
    {240, 2, 18ULL, 7},
    {241, 2, 16ULL, 7},
    {242, 2, 15ULL, 7},
    {243, 2, 14ULL, 7},
    {244, 2, 13ULL, 7},
    {245, 2, 12ULL, 7},
    {246, 2, 11ULL, 7},
    {247, 2, 10ULL, 7},
    {248, 2, 9ULL, 7},
    {249, 2, 8ULL, 7},
    {250, 2, 7ULL, 7},
    {251, 2, 6ULL, 7},
    {252, 2, 5ULL, 7},
    {253, 2, 4ULL, 7},
    {254, 2, 3ULL, 7},
    {255, 2, 2ULL, 7},
};
const int64_t table_runtime_s8[256][4] = {
    {256, 1, 2LL, 0},
    {1, 1, 257LL, 0},
    {2, 1, 129LL, 0},
    {3, 1, 86LL, 0},
    {4, 1, 129LL, 1},
    {5, 1, 103LL, 1},
    {6, 1, 43LL, 0},
    {7, 1, 147LL, 2},
    {8, 1, 129LL, 2},
    {9, 1, 57LL, 1},
    {10, 1, 103LL, 2},
    {11, 1, 187LL, 3},
    {12, 1, 43LL, 1},
    {13, 1, 79LL, 2},
    {14, 1, 147LL, 3},
    {15, 1, 137LL, 3},
    {16, 1, 129LL, 3},
    {17, 1, 121LL, 3},
    {18, 1, 57LL, 2},
    {19, 1, 27LL, 1},
    {20, 1, 103LL, 3},
    {21, 1, 49LL, 2},
    {22, 1, 187LL, 4},
    {23, 1, 179LL, 4},
    {24, 1, 43LL, 2},
    {25, 1, 41LL, 2},
    {26, 1, 79LL, 3},
    {27, 1, 19LL, 1},
    {28, 1, 147LL, 4},
    {29, 1, 71LL, 3},
    {30, 1, 137LL, 4},
    {31, 1, 133LL, 4},
    {32, 1, 129LL, 4},
    {33, 1, 125LL, 4},
    {34, 1, 121LL, 4},
    {35, 1, 59LL, 3},
    {36, 1, 57LL, 3},
    {37, 1, 111LL, 4},
    {38, 1, 27LL, 2},
    {39, 1, 211LL, 5},
    {40, 1, 103LL, 4},
    {41, 1, 25LL, 2},
    {42, 1, 49LL, 3},
    {43, 1, 6LL, 0},
    {44, 1, 47LL, 3},
    {45, 1, 23LL, 2},
    {46, 1, 45LL, 3},
    {47, 1, 11LL, 1},
    {48, 1, 43LL, 3},
    {49, 1, 21LL, 2},
    {50, 1, 41LL, 3},
    {51, 1, 81LL, 4},
    {52, 1, 79LL, 4},
    {53, 1, 39LL, 3},
    {54, 1, 19LL, 2},
    {55, 1, 75LL, 4},
    {56, 1, 147LL, 5},
    {57, 1, 9LL, 1},
    {58, 1, 71LL, 4},
    {59, 1, 35LL, 3},
    {60, 1, 137LL, 5},
    {61, 1, 135LL, 5},
    {62, 1, 133LL, 5},
    {63, 1, 131LL, 5},
    {64, 1, 129LL, 5},
    {65, 1, 127LL, 5},
    {66, 1, 63LL, 4},
    {67, 1, 31LL, 3},
    {68, 1, 61LL, 4},
    {69, 1, 15LL, 2},
    {70, 1, 59LL, 4},
    {71, 1, 29LL, 3},
    {72, 1, 57LL, 4},
    {73, 1, 113LL, 5},
    {74, 1, 7LL, 1},
    {75, 1, 55LL, 4},
    {76, 1, 27LL, 3},
    {77, 1, 107LL, 5},
    {78, 1, 53LL, 4},
    {79, 1, 13LL, 2},
    {80, 1, 103LL, 5},
    {81, 1, 51LL, 4},
    {82, 1, 25LL, 3},
    {83, 1, 99LL, 5},
    {84, 1, 49LL, 4},
    {85, 1, 97LL, 5},
    {86, 1, 3LL, 0},
    {87, 1, 95LL, 5},
    {88, 1, 47LL, 4},
    {89, 1, 93LL, 5},
    {90, 1, 23LL, 3},
    {91, 1, 91LL, 5},
    {92, 1, 45LL, 4},
    {93, 1, 89LL, 5},
    {94, 1, 11LL, 2},
    {95, 1, 87LL, 5},
    {96, 1, 43LL, 4},
    {97, 1, 85LL, 5},
    {98, 1, 21LL, 3},
    {99, 1, 83LL, 5},
    {100, 1, 41LL, 4},
    {101, 1, 163LL, 6},
    {102, 1, 81LL, 5},
    {103, 1, 5LL, 1},
    {104, 1, 79LL, 5},
    {105, 1, 157LL, 6},
    {106, 1, 39LL, 4},
    {107, 1, 77LL, 5},
    {108, 1, 19LL, 3},
    {109, 1, 151LL, 6},
    {110, 1, 75LL, 5},
    {111, 1, 37LL, 4},
    {112, 1, 147LL, 6},
    {113, 1, 73LL, 5},
    {114, 1, 9LL, 2},
    {115, 1, 143LL, 6},
    {116, 1, 71LL, 5},
    {117, 1, 141LL, 6},
    {118, 1, 35LL, 4},
    {119, 1, 69LL, 5},
    {120, 1, 137LL, 6},
    {121, 1, 17LL, 3},
    {122, 1, 135LL, 6},
    {123, 1, 67LL, 5},
    {124, 1, 133LL, 6},
    {125, 1, 33LL, 4},
    {126, 1, 131LL, 6},
    {127, 1, 65LL, 5},
    {128, 1, 129LL, 6},
    {129, 1, 2LL, 0},
    {130, 1, 2LL, 0},
    {131, 1, 2LL, 0},
    {132, 1, 2LL, 0},
    {133, 1, 2LL, 0},
    {134, 1, 2LL, 0},
    {135, 1, 2LL, 0},
    {136, 1, 2LL, 0},
    {137, 1, 2LL, 0},
    {138, 1, 2LL, 0},
    {139, 1, 2LL, 0},
    {140, 1, 2LL, 0},
    {141, 1, 2LL, 0},
    {142, 1, 2LL, 0},
    {143, 1, 2LL, 0},
    {144, 1, 2LL, 0},
    {145, 1, 2LL, 0},
    {146, 1, 2LL, 0},
    {147, 1, 2LL, 0},
    {148, 1, 2LL, 0},
    {149, 1, 2LL, 0},
    {150, 1, 2LL, 0},
    {151, 1, 2LL, 0},
    {152, 1, 2LL, 0},
    {153, 1, 2LL, 0},
    {154, 1, 2LL, 0},
    {155, 1, 2LL, 0},
    {156, 1, 2LL, 0},
    {157, 1, 2LL, 0},
    {158, 1, 2LL, 0},
    {159, 1, 2LL, 0},
    {160, 1, 2LL, 0},
    {161, 1, 2LL, 0},
    {162, 1, 2LL, 0},
    {163, 1, 2LL, 0},
    {164, 1, 2LL, 0},
    {165, 1, 2LL, 0},
    {166, 1, 2LL, 0},
    {167, 1, 2LL, 0},
    {168, 1, 2LL, 0},
    {169, 1, 2LL, 0},
    {170, 1, 2LL, 0},
    {171, 1, 2LL, 0},
    {172, 1, 2LL, 0},
    {173, 1, 2LL, 0},
    {174, 1, 2LL, 0},
    {175, 1, 2LL, 0},
    {176, 1, 2LL, 0},
    {177, 1, 2LL, 0},
    {178, 1, 2LL, 0},
    {179, 1, 2LL, 0},
    {180, 1, 2LL, 0},
    {181, 1, 2LL, 0},
    {182, 1, 2LL, 0},
    {183, 1, 2LL, 0},
    {184, 1, 2LL, 0},
    {185, 1, 2LL, 0},
    {186, 1, 2LL, 0},
    {187, 1, 2LL, 0},
    {188, 1, 2LL, 0},
    {189, 1, 2LL, 0},
    {190, 1, 2LL, 0},
    {191, 1, 2LL, 0},
    {192, 1, 2LL, 0},
    {193, 1, 2LL, 0},
    {194, 1, 2LL, 0},
    {195, 1, 2LL, 0},
    {196, 1, 2LL, 0},
    {197, 1, 2LL, 0},
    {198, 1, 2LL, 0},
    {199, 1, 2LL, 0},
    {200, 1, 2LL, 0},
    {201, 1, 2LL, 0},
    {202, 1, 2LL, 0},
    {203, 1, 2LL, 0},
    {204, 1, 2LL, 0},
    {205, 1, 2LL, 0},
    {206, 1, 2LL, 0},
    {207, 1, 2LL, 0},
    {208, 1, 2LL, 0},
    {209, 1, 2LL, 0},
    {210, 1, 2LL, 0},
    {211, 1, 2LL, 0},
    {212, 1, 2LL, 0},
    {213, 1, 2LL, 0},
    {214, 1, 2LL, 0},
    {215, 1, 2LL, 0},
    {216, 1, 2LL, 0},
    {217, 1, 2LL, 0},
    {218, 1, 2LL, 0},
    {219, 1, 2LL, 0},
    {220, 1, 2LL, 0},
    {221, 1, 2LL, 0},
    {222, 1, 2LL, 0},
    {223, 1, 2LL, 0},
    {224, 1, 2LL, 0},
    {225, 1, 2LL, 0},
    {226, 1, 2LL, 0},
    {227, 1, 2LL, 0},
    {228, 1, 2LL, 0},
    {229, 1, 2LL, 0},
    {230, 1, 2LL, 0},
    {231, 1, 2LL, 0},
    {232, 1, 2LL, 0},
    {233, 1, 2LL, 0},
    {234, 1, 2LL, 0},
    {235, 1, 2LL, 0},
    {236, 1, 2LL, 0},
    {237, 1, 2LL, 0},
    {238, 1, 2LL, 0},
    {239, 1, 2LL, 0},
    {240, 1, 2LL, 0},
    {241, 1, 2LL, 0},
    {242, 1, 2LL, 0},
    {243, 1, 2LL, 0},
    {244, 1, 2LL, 0},
    {245, 1, 2LL, 0},
    {246, 1, 2LL, 0},
    {247, 1, 2LL, 0},
    {248, 1, 2LL, 0},
    {249, 1, 2LL, 0},
    {250, 1, 2LL, 0},
    {251, 1, 2LL, 0},
    {252, 1, 2LL, 0},
    {253, 1, 2LL, 0},
    {254, 1, 2LL, 0},
    {255, 1, 2LL, 0},
};
const int64_t table_runtime_u16[256][4] = {
    {256, 2, 1ULL, 7},
    {1, 2, 65537ULL, 0},
    {2, 2, 1ULL, 0},
    {3, 2, 21846ULL, 1},
    {4, 2, 1ULL, 1},
    {5, 2, 39322ULL, 2},
    {6, 2, 21846ULL, 2},
    {7, 2, 9363ULL, 2},
    {8, 2, 1ULL, 2},
    {9, 2, 50973ULL, 3},
    {10, 2, 39322ULL, 3},
    {11, 2, 29790ULL, 3},
    {12, 2, 21846ULL, 3},
    {13, 2, 15124ULL, 3},
    {14, 2, 9363ULL, 3},
    {15, 2, 4370ULL, 3},
    {16, 2, 1ULL, 3},
    {17, 2, 57826ULL, 4},
    {18, 2, 50973ULL, 4},
    {19, 2, 44841ULL, 4},
    {20, 2, 39322ULL, 4},
    {21, 2, 34329ULL, 4},
    {22, 2, 29790ULL, 4},
    {23, 2, 25645ULL, 4},
    {24, 2, 21846ULL, 4},
    {25, 2, 18351ULL, 4},
    {26, 2, 15124ULL, 4},
    {27, 2, 12137ULL, 4},
    {28, 2, 9363ULL, 4},
    {29, 2, 6780ULL, 4},
    {30, 2, 4370ULL, 4},
    {31, 2, 2115ULL, 4},
    {32, 2, 1ULL, 4},
    {33, 2, 61565ULL, 5},
    {34, 2, 57826ULL, 5},
    {35, 2, 54302ULL, 5},
    {36, 2, 50973ULL, 5},
    {37, 2, 47824ULL, 5},
    {38, 2, 44841ULL, 5},
    {39, 2, 42011ULL, 5},
    {40, 2, 39322ULL, 5},
    {41, 2, 36765ULL, 5},
    {42, 2, 34329ULL, 5},
    {43, 2, 32006ULL, 5},
    {44, 2, 29790ULL, 5},
    {45, 2, 27671ULL, 5},
    {46, 2, 25645ULL, 5},
    {47, 2, 23705ULL, 5},
    {48, 2, 21846ULL, 5},
    {49, 2, 20063ULL, 5},
    {50, 2, 18351ULL, 5},
    {51, 2, 16706ULL, 5},
    {52, 2, 15124ULL, 5},
    {53, 2, 13602ULL, 5},
    {54, 2, 12137ULL, 5},
    {55, 2, 10725ULL, 5},
    {56, 2, 9363ULL, 5},
    {57, 2, 8049ULL, 5},
    {58, 2, 6780ULL, 5},
    {59, 2, 5554ULL, 5},
    {60, 2, 4370ULL, 5},
    {61, 2, 3224ULL, 5},
    {62, 2, 2115ULL, 5},
    {63, 2, 1041ULL, 5},
    {64, 2, 1ULL, 5},
    {65, 2, 63520ULL, 6},
    {66, 2, 61565ULL, 6},
    {67, 2, 59668ULL, 6},
    {68, 2, 57826ULL, 6},
    {69, 2, 56039ULL, 6},
    {70, 2, 54302ULL, 6},
    {71, 2, 52614ULL, 6},
    {72, 2, 50973ULL, 6},
    {73, 2, 49377ULL, 6},
    {74, 2, 47824ULL, 6},
    {75, 2, 46313ULL, 6},
    {76, 2, 44841ULL, 6},
    {77, 2, 43407ULL, 6},
    {78, 2, 42011ULL, 6},
    {79, 2, 40649ULL, 6},
    {80, 2, 39322ULL, 6},
    {81, 2, 38028ULL, 6},
    {82, 2, 36765ULL, 6},
    {83, 2, 35532ULL, 6},
    {84, 2, 34329ULL, 6},
    {85, 2, 33154ULL, 6},
    {86, 2, 32006ULL, 6},
    {87, 2, 30885ULL, 6},
    {88, 2, 29790ULL, 6},
    {89, 2, 28719ULL, 6},
    {90, 2, 27671ULL, 6},
    {91, 2, 26647ULL, 6},
    {92, 2, 25645ULL, 6},
    {93, 2, 24665ULL, 6},
    {94, 2, 23705ULL, 6},
    {95, 2, 22766ULL, 6},
    {96, 2, 21846ULL, 6},
    {97, 2, 20945ULL, 6},
    {98, 2, 20063ULL, 6},
    {99, 2, 19198ULL, 6},
    {100, 2, 18351ULL, 6},
    {101, 2, 17520ULL, 6},
    {102, 2, 16706ULL, 6},
    {103, 2, 15907ULL, 6},
    {104, 2, 15124ULL, 6},
    {105, 2, 14356ULL, 6},
    {106, 2, 13602ULL, 6},
    {107, 2, 12863ULL, 6},
    {108, 2, 12137ULL, 6},
    {109, 2, 11424ULL, 6},
    {110, 2, 10725ULL, 6},
    {111, 2, 10038ULL, 6},
    {112, 2, 9363ULL, 6},
    {113, 2, 8700ULL, 6},
    {114, 2, 8049ULL, 6},
    {115, 2, 7409ULL, 6},
    {116, 2, 6780ULL, 6},
    {117, 2, 6162ULL, 6},
    {118, 2, 5554ULL, 6},
    {119, 2, 4957ULL, 6},
    {120, 2, 4370ULL, 6},
    {121, 2, 3792ULL, 6},
    {122, 2, 3224ULL, 6},
    {123, 2, 2665ULL, 6},
    {124, 2, 2115ULL, 6},
    {125, 2, 1573ULL, 6},
    {126, 2, 1041ULL, 6},
    {127, 2, 517ULL, 6},
    {128, 2, 1ULL, 6},
    {129, 2, 64520ULL, 7},
    {130, 2, 63520ULL, 7},
    {131, 2, 62535ULL, 7},
    {132, 2, 61565ULL, 7},
    {133, 2, 60609ULL, 7},
    {134, 2, 59668ULL, 7},
    {135, 2, 58740ULL, 7},
    {136, 2, 57826ULL, 7},
    {137, 2, 56926ULL, 7},
    {138, 2, 56039ULL, 7},
    {139, 2, 55164ULL, 7},
    {140, 2, 54302ULL, 7},
    {141, 2, 53452ULL, 7},
    {142, 2, 52614ULL, 7},
    {143, 2, 51788ULL, 7},
    {144, 2, 50973ULL, 7},
    {145, 2, 50169ULL, 7},
    {146, 2, 49377ULL, 7},
    {147, 2, 48595ULL, 7},
    {148, 2, 47824ULL, 7},
    {149, 2, 47063ULL, 7},
    {150, 2, 46313ULL, 7},
    {151, 2, 45572ULL, 7},
    {152, 2, 44841ULL, 7},
    {153, 2, 44120ULL, 7},
    {154, 2, 43407ULL, 7},
    {155, 2, 42705ULL, 7},
    {156, 2, 42011ULL, 7},
    {157, 2, 41326ULL, 7},
    {158, 2, 40649ULL, 7},
    {159, 2, 39982ULL, 7},
    {160, 2, 39322ULL, 7},
    {161, 2, 38671ULL, 7},
    {162, 2, 38028ULL, 7},
    {163, 2, 37392ULL, 7},
    {164, 2, 36765ULL, 7},
    {165, 2, 36145ULL, 7},
    {166, 2, 35532ULL, 7},
    {167, 2, 34927ULL, 7},
    {168, 2, 34329ULL, 7},
    {169, 2, 33738ULL, 7},
    {170, 2, 33154ULL, 7},
    {171, 2, 32577ULL, 7},
    {172, 2, 32006ULL, 7},
    {173, 2, 31443ULL, 7},
    {174, 2, 30885ULL, 7},
    {175, 2, 30334ULL, 7},
    {176, 2, 29790ULL, 7},
    {177, 2, 29251ULL, 7},
    {178, 2, 28719ULL, 7},
    {179, 2, 28192ULL, 7},
    {180, 2, 27671ULL, 7},
    {181, 2, 27156ULL, 7},
    {182, 2, 26647ULL, 7},
    {183, 2, 26143ULL, 7},
    {184, 2, 25645ULL, 7},
    {185, 2, 25152ULL, 7},
    {186, 2, 24665ULL, 7},
    {187, 2, 24182ULL, 7},
    {188, 2, 23705ULL, 7},
    {189, 2, 23233ULL, 7},
    {190, 2, 22766ULL, 7},
    {191, 2, 22303ULL, 7},
    {192, 2, 21846ULL, 7},
    {193, 2, 21393ULL, 7},
    {194, 2, 20945ULL, 7},
    {195, 2, 20502ULL, 7},
    {196, 2, 20063ULL, 7},
    {197, 2, 19628ULL, 7},
    {198, 2, 19198ULL, 7},
    {199, 2, 18772ULL, 7},
    {200, 2, 18351ULL, 7},
    {201, 2, 17933ULL, 7},
    {202, 2, 17520ULL, 7},
    {203, 2, 17111ULL, 7},
    {204, 2, 16706ULL, 7},
    {205, 2, 16305ULL, 7},
    {206, 2, 15907ULL, 7},
    {207, 2, 15514ULL, 7},
    {208, 2, 15124ULL, 7},
    {209, 2, 14738ULL, 7},
    {210, 2, 14356ULL, 7},
    {211, 2, 13977ULL, 7},
    {212, 2, 13602ULL, 7},
    {213, 2, 13231ULL, 7},
    {214, 2, 12863ULL, 7},
    {215, 2, 12498ULL, 7},
    {216, 2, 12137ULL, 7},
    {217, 2, 11779ULL, 7},
    {218, 2, 11424ULL, 7},
    {219, 2, 11073ULL, 7},
    {220, 2, 10725ULL, 7},
    {221, 2, 10380ULL, 7},
    {222, 2, 10038ULL, 7},
    {223, 2, 9699ULL, 7},
    {224, 2, 9363ULL, 7},
    {225, 2, 9030ULL, 7},
    {226, 2, 8700ULL, 7},
    {227, 2, 8373ULL, 7},
    {228, 2, 8049ULL, 7},
    {229, 2, 7727ULL, 7},
    {230, 2, 7409ULL, 7},
    {231, 2, 7093ULL, 7},
    {232, 2, 6780ULL, 7},
    {233, 2, 6470ULL, 7},
    {234, 2, 6162ULL, 7},
    {235, 2, 5857ULL, 7},
    {236, 2, 5554ULL, 7},
    {237, 2, 5254ULL, 7},
    {238, 2, 4957ULL, 7},
    {239, 2, 4662ULL, 7},
    {240, 2, 4370ULL, 7},
    {241, 2, 4080ULL, 7},
    {242, 2, 3792ULL, 7},
    {243, 2, 3507ULL, 7},
    {244, 2, 3224ULL, 7},
    {245, 2, 2943ULL, 7},
    {246, 2, 2665ULL, 7},
    {247, 2, 2388ULL, 7},
    {248, 2, 2115ULL, 7},
    {249, 2, 1843ULL, 7},
    {250, 2, 1573ULL, 7},
    {251, 2, 1306ULL, 7},
    {252, 2, 1041ULL, 7},
    {253, 2, 778ULL, 7},
    {254, 2, 517ULL, 7},
    {255, 2, 258ULL, 7},
};
const int64_t table_runtime_s16[256][4] = {
    {256, 1, 32769LL, 7},
    {1, 1, 65537LL, 0},
    {2, 1, 32769LL, 0},
    {3, 1, 21846LL, 0},
    {4, 1, 32769LL, 1},
    {5, 1, 26215LL, 1},
    {6, 1, 10923LL, 0},
    {7, 1, 18725LL, 1},
    {8, 1, 32769LL, 2},
    {9, 1, 7282LL, 0},
    {10, 1, 26215LL, 2},
    {11, 1, 5958LL, 0},
    {12, 1, 10923LL, 1},
    {13, 1, 20165LL, 2},
    {14, 1, 18725LL, 2},
    {15, 1, 34953LL, 3},
    {16, 1, 32769LL, 3},
    {17, 1, 30841LL, 3},
    {18, 1, 3641LL, 0},
    {19, 1, 55189LL, 4},
    {20, 1, 26215LL, 3},
    {21, 1, 49933LL, 4},
    {22, 1, 2979LL, 0},
    {23, 1, 45591LL, 4},
    {24, 1, 10923LL, 2},
    {25, 1, 5243LL, 1},
    {26, 1, 20165LL, 3},
    {27, 1, 38837LL, 4},
    {28, 1, 18725LL, 3},
    {29, 1, 18079LL, 3},
    {30, 1, 34953LL, 4},
    {31, 1, 16913LL, 3},
    {32, 1, 32769LL, 4},
    {33, 1, 1986LL, 0},
    {34, 1, 30841LL, 4},
    {35, 1, 3745LL, 1},
    {36, 1, 3641LL, 1},
    {37, 1, 7085LL, 2},
    {38, 1, 55189LL, 5},
    {39, 1, 26887LL, 4},
    {40, 1, 26215LL, 4},
    {41, 1, 51151LL, 5},
    {42, 1, 49933LL, 5},
    {43, 1, 12193LL, 3},
    {44, 1, 2979LL, 1},
    {45, 1, 11651LL, 3},
    {46, 1, 45591LL, 5},
    {47, 1, 44621LL, 5},
    {48, 1, 10923LL, 3},
    {49, 1, 2675LL, 1},
    {50, 1, 5243LL, 2},
    {51, 1, 41121LL, 5},
    {52, 1, 20165LL, 4},
    {53, 1, 19785LL, 4},
    {54, 1, 38837LL, 5},
    {55, 1, 38131LL, 5},
    {56, 1, 18725LL, 4},
    {57, 1, 36793LL, 5},
    {58, 1, 18079LL, 4},
    {59, 1, 17773LL, 4},
    {60, 1, 34953LL, 5},
    {61, 1, 8595LL, 3},
    {62, 1, 16913LL, 4},
    {63, 1, 33289LL, 5},
    {64, 1, 32769LL, 5},
    {65, 1, 4033LL, 2},
    {66, 1, 993LL, 0},
    {67, 1, 31301LL, 5},
    {68, 1, 30841LL, 5},
    {69, 1, 15197LL, 4},
    {70, 1, 3745LL, 2},
    {71, 1, 14769LL, 4},
    {72, 1, 3641LL, 2},
    {73, 1, 57457LL, 6},
    {74, 1, 7085LL, 3},
    {75, 1, 55925LL, 6},
    {76, 1, 55189LL, 6},
    {77, 1, 6809LL, 3},
    {78, 1, 26887LL, 5},
    {79, 1, 26547LL, 5},
    {80, 1, 26215LL, 5},
    {81, 1, 25891LL, 5},
    {82, 1, 51151LL, 6},
    {83, 1, 25267LL, 5},
    {84, 1, 49933LL, 6},
    {85, 1, 24673LL, 5},
    {86, 1, 12193LL, 4},
    {87, 1, 48211LL, 6},
    {88, 1, 2979LL, 2},
    {89, 1, 5891LL, 3},
    {90, 1, 11651LL, 4},
    {91, 1, 11523LL, 4},
    {92, 1, 45591LL, 6},
    {93, 1, 45101LL, 6},
    {94, 1, 44621LL, 6},
    {95, 1, 44151LL, 6},
    {96, 1, 10923LL, 4},
    {97, 1, 43241LL, 6},
    {98, 1, 2675LL, 2},
    {99, 1, 662LL, 0},
    {100, 1, 5243LL, 3},
    {101, 1, 5191LL, 3},
    {102, 1, 41121LL, 6},
    {103, 1, 20361LL, 5},
    {104, 1, 20165LL, 5},
    {105, 1, 19973LL, 5},
    {106, 1, 19785LL, 5},
    {107, 1, 1225LL, 1},
    {108, 1, 38837LL, 6},
    {109, 1, 2405LL, 2},
    {110, 1, 38131LL, 6},
    {111, 1, 37787LL, 6},
    {112, 1, 18725LL, 5},
    {113, 1, 18559LL, 5},
    {114, 1, 36793LL, 6},
    {115, 1, 36473LL, 6},
    {116, 1, 18079LL, 5},
    {117, 1, 35849LL, 6},
    {118, 1, 17773LL, 5},
    {119, 1, 35247LL, 6},
    {120, 1, 34953LL, 6},
    {121, 1, 4333LL, 3},
    {122, 1, 8595LL, 4},
    {123, 1, 34101LL, 6},
    {124, 1, 16913LL, 5},
    {125, 1, 33555LL, 6},
    {126, 1, 33289LL, 6},
    {127, 1, 33027LL, 6},
    {128, 1, 32769LL, 6},
    {129, 1, 16257LL, 5},
    {130, 1, 4033LL, 3},
    {131, 1, 16009LL, 5},
    {132, 1, 993LL, 1},
    {133, 1, 31537LL, 6},
    {134, 1, 31301LL, 6},
    {135, 1, 31069LL, 6},
    {136, 1, 30841LL, 6},
    {137, 1, 3827LL, 3},
    {138, 1, 15197LL, 5},
    {139, 1, 30175LL, 6},
    {140, 1, 3745LL, 3},
    {141, 1, 29747LL, 6},
    {142, 1, 14769LL, 5},
    {143, 1, 29331LL, 6},
    {144, 1, 3641LL, 3},
    {145, 1, 28927LL, 6},
    {146, 1, 57457LL, 7},
    {147, 1, 28533LL, 6},
    {148, 1, 7085LL, 4},
    {149, 1, 14075LL, 5},
    {150, 1, 55925LL, 7},
    {151, 1, 27777LL, 6},
    {152, 1, 55189LL, 7},
    {153, 1, 13707LL, 5},
    {154, 1, 6809LL, 4},
    {155, 1, 54121LL, 7},
    {156, 1, 26887LL, 6},
    {157, 1, 6679LL, 4},
    {158, 1, 26547LL, 6},
    {159, 1, 6595LL, 4},
    {160, 1, 26215LL, 6},
    {161, 1, 6513LL, 4},
    {162, 1, 25891LL, 6},
    {163, 1, 6433LL, 4},
    {164, 1, 51151LL, 7},
    {165, 1, 50841LL, 7},
    {166, 1, 25267LL, 6},
    {167, 1, 6279LL, 4},
    {168, 1, 49933LL, 7},
    {169, 1, 24819LL, 6},
    {170, 1, 24673LL, 6},
    {171, 1, 49057LL, 7},
    {172, 1, 12193LL, 5},
    {173, 1, 24245LL, 6},
    {174, 1, 48211LL, 7},
    {175, 1, 749LL, 1},
    {176, 1, 2979LL, 3},
    {177, 1, 23697LL, 6},
    {178, 1, 5891LL, 4},
    {179, 1, 2929LL, 3},
    {180, 1, 11651LL, 5},
    {181, 1, 23173LL, 6},
    {182, 1, 11523LL, 5},
    {183, 1, 2865LL, 3},
    {184, 1, 45591LL, 7},
    {185, 1, 1417LL, 2},
    {186, 1, 45101LL, 7},
    {187, 1, 11215LL, 5},
    {188, 1, 44621LL, 7},
    {189, 1, 44385LL, 7},
    {190, 1, 44151LL, 7},
    {191, 1, 2745LL, 3},
    {192, 1, 10923LL, 5},
    {193, 1, 43465LL, 7},
    {194, 1, 43241LL, 7},
    {195, 1, 43019LL, 7},
    {196, 1, 2675LL, 3},
    {197, 1, 21291LL, 6},
    {198, 1, 331LL, 0},
    {199, 1, 21077LL, 6},
    {200, 1, 5243LL, 4},
    {201, 1, 41735LL, 7},
    {202, 1, 5191LL, 4},
    {203, 1, 10331LL, 5},
    {204, 1, 41121LL, 7},
    {205, 1, 40921LL, 7},
    {206, 1, 20361LL, 6},
    {207, 1, 40525LL, 7},
    {208, 1, 20165LL, 6},
    {209, 1, 20069LL, 6},
    {210, 1, 19973LL, 6},
    {211, 1, 39757LL, 7},
    {212, 1, 19785LL, 6},
    {213, 1, 4923LL, 4},
    {214, 1, 1225LL, 2},
    {215, 1, 39017LL, 7},
    {216, 1, 38837LL, 7},
    {217, 1, 19329LL, 6},
    {218, 1, 2405LL, 3},
    {219, 1, 38305LL, 7},
    {220, 1, 38131LL, 7},
    {221, 1, 18979LL, 6},
    {222, 1, 37787LL, 7},
    {223, 1, 18809LL, 6},
    {224, 1, 18725LL, 6},
    {225, 1, 37283LL, 7},
    {226, 1, 18559LL, 6},
    {227, 1, 36955LL, 7},
    {228, 1, 36793LL, 7},
    {229, 1, 4579LL, 4},
    {230, 1, 36473LL, 7},
    {231, 1, 36315LL, 7},
    {232, 1, 18079LL, 6},
    {233, 1, 36003LL, 7},
    {234, 1, 35849LL, 7},
    {235, 1, 35697LL, 7},
    {236, 1, 17773LL, 6},
    {237, 1, 8849LL, 5},
    {238, 1, 35247LL, 7},
    {239, 1, 35099LL, 7},
    {240, 1, 34953LL, 7},
    {241, 1, 4351LL, 4},
    {242, 1, 4333LL, 4},
    {243, 1, 17261LL, 6},
    {244, 1, 8595LL, 5},
    {245, 1, 535LL, 1},
    {246, 1, 34101LL, 7},
    {247, 1, 16981LL, 6},
    {248, 1, 16913LL, 6},
    {249, 1, 16845LL, 6},
    {250, 1, 33555LL, 7},
    {251, 1, 33421LL, 7},
    {252, 1, 33289LL, 7},
    {253, 1, 33157LL, 7},
    {254, 1, 33027LL, 7},
    {255, 1, 32897LL, 7},
};
const int64_t table_runtime_u32[256][4] = {
    {256, 2, 1ULL, 7},
    {1, 2, 4294967297ULL, 0},
    {2, 2, 1ULL, 0},
    {3, 2, 1431655766ULL, 1},
    {4, 2, 1ULL, 1},
    {5, 2, 2576980378ULL, 2},
    {6, 2, 1431655766ULL, 2},
    {7, 2, 613566757ULL, 2},
    {8, 2, 1ULL, 2},
    {9, 2, 3340530120ULL, 3},
    {10, 2, 2576980378ULL, 3},
    {11, 2, 1952257862ULL, 3},
    {12, 2, 1431655766ULL, 3},
    {13, 2, 991146300ULL, 3},
    {14, 2, 613566757ULL, 3},
    {15, 2, 286331154ULL, 3},
    {16, 2, 1ULL, 3},
    {17, 2, 3789677026ULL, 4},
    {18, 2, 3340530120ULL, 4},
    {19, 2, 2938661835ULL, 4},
    {20, 2, 2576980378ULL, 4},
    {21, 2, 2249744775ULL, 4},
    {22, 2, 1952257862ULL, 4},
    {23, 2, 1680639377ULL, 4},
    {24, 2, 1431655766ULL, 4},
    {25, 2, 1202590843ULL, 4},
    {26, 2, 991146300ULL, 4},
    {27, 2, 795364315ULL, 4},
    {28, 2, 613566757ULL, 4},
    {29, 2, 444306962ULL, 4},
    {30, 2, 286331154ULL, 4},
    {31, 2, 138547333ULL, 4},
    {32, 2, 1ULL, 4},
    {33, 2, 4034666248ULL, 5},
    {34, 2, 3789677026ULL, 5},
    {35, 2, 3558687189ULL, 5},
    {36, 2, 3340530120ULL, 5},
    {37, 2, 3134165325ULL, 5},
    {38, 2, 2938661835ULL, 5},
    {39, 2, 2753184165ULL, 5},
    {40, 2, 2576980378ULL, 5},
    {41, 2, 2409371898ULL, 5},
    {42, 2, 2249744775ULL, 5},
    {43, 2, 2097542168ULL, 5},
    {44, 2, 1952257862ULL, 5},
    {45, 2, 1813430637ULL, 5},
    {46, 2, 1680639377ULL, 5},
    {47, 2, 1553498810ULL, 5},
    {48, 2, 1431655766ULL, 5},
    {49, 2, 1314785907ULL, 5},
    {50, 2, 1202590843ULL, 5},
    {51, 2, 1094795586ULL, 5},
    {52, 2, 991146300ULL, 5},
    {53, 2, 891408307ULL, 5},
    {54, 2, 795364315ULL, 5},
    {55, 2, 702812831ULL, 5},
    {56, 2, 613566757ULL, 5},
    {57, 2, 527452125ULL, 5},
    {58, 2, 444306962ULL, 5},
    {59, 2, 363980280ULL, 5},
    {60, 2, 286331154ULL, 5},
    {61, 2, 211227900ULL, 5},
    {62, 2, 138547333ULL, 5},
    {63, 2, 68174085ULL, 5},
    {64, 2, 1ULL, 5},
    {65, 2, 4162814457ULL, 6},
    {66, 2, 4034666248ULL, 6},
    {67, 2, 3910343360ULL, 6},
    {68, 2, 3789677026ULL, 6},
    {69, 2, 3672508268ULL, 6},
    {70, 2, 3558687189ULL, 6},
    {71, 2, 3448072337ULL, 6},
    {72, 2, 3340530120ULL, 6},
    {73, 2, 3235934265ULL, 6},
    {74, 2, 3134165325ULL, 6},
    {75, 2, 3035110223ULL, 6},
    {76, 2, 2938661835ULL, 6},
    {77, 2, 2844718599ULL, 6},
    {78, 2, 2753184165ULL, 6},
    {79, 2, 2663967058ULL, 6},
    {80, 2, 2576980378ULL, 6},
    {81, 2, 2492141518ULL, 6},
    {82, 2, 2409371898ULL, 6},
    {83, 2, 2328596727ULL, 6},
    {84, 2, 2249744775ULL, 6},
    {85, 2, 2172748162ULL, 6},
    {86, 2, 2097542168ULL, 6},
    {87, 2, 2024065048ULL, 6},
    {88, 2, 1952257862ULL, 6},
    {89, 2, 1882064321ULL, 6},
    {90, 2, 1813430637ULL, 6},
    {91, 2, 1746305385ULL, 6},
    {92, 2, 1680639377ULL, 6},
    {93, 2, 1616385542ULL, 6},
    {94, 2, 1553498810ULL, 6},
    {95, 2, 1491936009ULL, 6},
    {96, 2, 1431655766ULL, 6},
    {97, 2, 1372618415ULL, 6},
    {98, 2, 1314785907ULL, 6},
    {99, 2, 1258121734ULL, 6},
    {100, 2, 1202590843ULL, 6},
    {101, 2, 1148159575ULL, 6},
    {102, 2, 1094795586ULL, 6},
    {103, 2, 1042467791ULL, 6},
    {104, 2, 991146300ULL, 6},
    {105, 2, 940802361ULL, 6},
    {106, 2, 891408307ULL, 6},
    {107, 2, 842937507ULL, 6},
    {108, 2, 795364315ULL, 6},
    {109, 2, 748664025ULL, 6},
    {110, 2, 702812831ULL, 6},
    {111, 2, 657787785ULL, 6},
    {112, 2, 613566757ULL, 6},
    {113, 2, 570128403ULL, 6},
    {114, 2, 527452125ULL, 6},
    {115, 2, 485518043ULL, 6},
    {116, 2, 444306962ULL, 6},
    {117, 2, 403800345ULL, 6},
    {118, 2, 363980280ULL, 6},
    {119, 2, 324829460ULL, 6},
    {120, 2, 286331154ULL, 6},
    {121, 2, 248469183ULL, 6},
    {122, 2, 211227900ULL, 6},
    {123, 2, 174592167ULL, 6},
    {124, 2, 138547333ULL, 6},
    {125, 2, 103079216ULL, 6},
    {126, 2, 68174085ULL, 6},
    {127, 2, 33818641ULL, 6},
    {128, 2, 1ULL, 6},
    {129, 2, 4228378656ULL, 7},
    {130, 2, 4162814457ULL, 7},
    {131, 2, 4098251237ULL, 7},
    {132, 2, 4034666248ULL, 7},
    {133, 2, 3972037425ULL, 7},
    {134, 2, 3910343360ULL, 7},
    {135, 2, 3849563281ULL, 7},
    {136, 2, 3789677026ULL, 7},
    {137, 2, 3730665024ULL, 7},
    {138, 2, 3672508268ULL, 7},
    {139, 2, 3615188300ULL, 7},
    {140, 2, 3558687189ULL, 7},
    {141, 2, 3502987511ULL, 7},
    {142, 2, 3448072337ULL, 7},
    {143, 2, 3393925206ULL, 7},
    {144, 2, 3340530120ULL, 7},
    {145, 2, 3287871517ULL, 7},
    {146, 2, 3235934265ULL, 7},
    {147, 2, 3184703642ULL, 7},
    {148, 2, 3134165325ULL, 7},
    {149, 2, 3084305374ULL, 7},
    {150, 2, 3035110223ULL, 7},
    {151, 2, 2986566663ULL, 7},
    {152, 2, 2938661835ULL, 7},
    {153, 2, 2891383213ULL, 7},
    {154, 2, 2844718599ULL, 7},
    {155, 2, 2798656110ULL, 7},
    {156, 2, 2753184165ULL, 7},
    {157, 2, 2708291480ULL, 7},
    {158, 2, 2663967058ULL, 7},
    {159, 2, 2620200175ULL, 7},
    {160, 2, 2576980378ULL, 7},
    {161, 2, 2534297473ULL, 7},
    {162, 2, 2492141518ULL, 7},
    {163, 2, 2450502814ULL, 7},
    {164, 2, 2409371898ULL, 7},
    {165, 2, 2368739540ULL, 7},
    {166, 2, 2328596727ULL, 7},
    {167, 2, 2288934667ULL, 7},
    {168, 2, 2249744775ULL, 7},
    {169, 2, 2211018668ULL, 7},
    {170, 2, 2172748162ULL, 7},
    {171, 2, 2134925265ULL, 7},
    {172, 2, 2097542168ULL, 7},
    {173, 2, 2060591247ULL, 7},
    {174, 2, 2024065048ULL, 7},
    {175, 2, 1987956292ULL, 7},
    {176, 2, 1952257862ULL, 7},
    {177, 2, 1916962805ULL, 7},
    {178, 2, 1882064321ULL, 7},
    {179, 2, 1847555765ULL, 7},
    {180, 2, 1813430637ULL, 7},
    {181, 2, 1779682582ULL, 7},
    {182, 2, 1746305385ULL, 7},
    {183, 2, 1713292966ULL, 7},
    {184, 2, 1680639377ULL, 7},
    {185, 2, 1648338801ULL, 7},
    {186, 2, 1616385542ULL, 7},
    {187, 2, 1584774030ULL, 7},
    {188, 2, 1553498810ULL, 7},
    {189, 2, 1522554545ULL, 7},
    {190, 2, 1491936009ULL, 7},
    {191, 2, 1461638086ULL, 7},
    {192, 2, 1431655766ULL, 7},
    {193, 2, 1401984144ULL, 7},
    {194, 2, 1372618415ULL, 7},
    {195, 2, 1343553873ULL, 7},
    {196, 2, 1314785907ULL, 7},
    {197, 2, 1286310003ULL, 7},
    {198, 2, 1258121734ULL, 7},
    {199, 2, 1230216764ULL, 7},
    {200, 2, 1202590843ULL, 7},
    {201, 2, 1175239808ULL, 7},
    {202, 2, 1148159575ULL, 7},
    {203, 2, 1121346142ULL, 7},
    {204, 2, 1094795586ULL, 7},
    {205, 2, 1068504060ULL, 7},
    {206, 2, 1042467791ULL, 7},
    {207, 2, 1016683080ULL, 7},
    {208, 2, 991146300ULL, 7},
    {209, 2, 965853890ULL, 7},
    {210, 2, 940802361ULL, 7},
    {211, 2, 915988286ULL, 7},
    {212, 2, 891408307ULL, 7},
    {213, 2, 867059126ULL, 7},
    {214, 2, 842937507ULL, 7},
    {215, 2, 819040276ULL, 7},
    {216, 2, 795364315ULL, 7},
    {217, 2, 771906565ULL, 7},
    {218, 2, 748664025ULL, 7},
    {219, 2, 725633745ULL, 7},
    {220, 2, 702812831ULL, 7},
    {221, 2, 680198441ULL, 7},
    {222, 2, 657787785ULL, 7},
    {223, 2, 635578121ULL, 7},
    {224, 2, 613566757ULL, 7},
    {225, 2, 591751050ULL, 7},
    {226, 2, 570128403ULL, 7},
    {227, 2, 548696263ULL, 7},
    {228, 2, 527452125ULL, 7},
    {229, 2, 506393524ULL, 7},
    {230, 2, 485518043ULL, 7},
    {231, 2, 464823301ULL, 7},
    {232, 2, 444306962ULL, 7},
    {233, 2, 423966729ULL, 7},
    {234, 2, 403800345ULL, 7},
    {235, 2, 383805589ULL, 7},
    {236, 2, 363980280ULL, 7},
    {237, 2, 344322273ULL, 7},
    {238, 2, 324829460ULL, 7},
    {239, 2, 305499766ULL, 7},
    {240, 2, 286331154ULL, 7},
    {241, 2, 267321616ULL, 7},
    {242, 2, 248469183ULL, 7},
    {243, 2, 229771913ULL, 7},
    {244, 2, 211227900ULL, 7},
    {245, 2, 192835267ULL, 7},
    {246, 2, 174592167ULL, 7},
    {247, 2, 156496785ULL, 7},
    {248, 2, 138547333ULL, 7},
    {249, 2, 120742053ULL, 7},
    {250, 2, 103079216ULL, 7},
    {251, 2, 85557118ULL, 7},
    {252, 2, 68174085ULL, 7},
    {253, 2, 50928466ULL, 7},
    {254, 2, 33818641ULL, 7},
    {255, 2, 16843010ULL, 7},
};
const int64_t table_runtime_s32[256][4] = {
    {256, 1, 2147483649LL, 7},
    {1, 1, 4294967297LL, 0},
    {2, 1, 2147483649LL, 0},
    {3, 1, 1431655766LL, 0},
    {4, 1, 2147483649LL, 1},
    {5, 1, 1717986919LL, 1},
    {6, 1, 715827883LL, 0},
    {7, 1, 2454267027LL, 2},
    {8, 1, 2147483649LL, 2},
    {9, 1, 954437177LL, 1},
    {10, 1, 1717986919LL, 2},
    {11, 1, 780903145LL, 1},
    {12, 1, 715827883LL, 1},
    {13, 1, 1321528399LL, 2},
    {14, 1, 2454267027LL, 3},
    {15, 1, 2290649225LL, 3},
    {16, 1, 2147483649LL, 3},
    {17, 1, 2021161081LL, 3},
    {18, 1, 954437177LL, 2},
    {19, 1, 1808407283LL, 3},
    {20, 1, 1717986919LL, 3},
    {21, 1, 818089009LL, 2},
    {22, 1, 780903145LL, 2},
    {23, 1, 2987803337LL, 4},
    {24, 1, 715827883LL, 2},
    {25, 1, 1374389535LL, 3},
    {26, 1, 1321528399LL, 3},
    {27, 1, 1272582903LL, 3},
    {28, 1, 2454267027LL, 4},
    {29, 1, 2369637129LL, 4},
    {30, 1, 2290649225LL, 4},
    {31, 1, 2216757315LL, 4},
    {32, 1, 2147483649LL, 4},
    {33, 1, 1041204193LL, 3},
    {34, 1, 2021161081LL, 4},
    {35, 1, 3926827243LL, 5},
    {36, 1, 954437177LL, 3},
    {37, 1, 3714566311LL, 5},
    {38, 1, 1808407283LL, 4},
    {39, 1, 3524075731LL, 5},
    {40, 1, 1717986919LL, 4},
    {41, 1, 1676084799LL, 4},
    {42, 1, 818089009LL, 3},
    {43, 1, 799063683LL, 3},
    {44, 1, 780903145LL, 3},
    {45, 1, 3054198967LL, 5},
    {46, 1, 2987803337LL, 5},
    {47, 1, 2924233053LL, 5},
    {48, 1, 715827883LL, 3},
    {49, 1, 1402438301LL, 4},
    {50, 1, 1374389535LL, 4},
    {51, 1, 2694881441LL, 5},
    {52, 1, 1321528399LL, 4},
    {53, 1, 1296593901LL, 4},
    {54, 1, 1272582903LL, 4},
    {55, 1, 156180629LL, 1},
    {56, 1, 2454267027LL, 5},
    {57, 1, 2411209711LL, 5},
    {58, 1, 2369637129LL, 5},
    {59, 1, 582368447LL, 3},
    {60, 1, 2290649225LL, 5},
    {61, 1, 1126548799LL, 4},
    {62, 1, 2216757315LL, 5},
    {63, 1, 2181570691LL, 5},
    {64, 1, 2147483649LL, 5},
    {65, 1, 2114445439LL, 5},
    {66, 1, 1041204193LL, 4},
    {67, 1, 128207979LL, 1},
    {68, 1, 2021161081LL, 5},
    {69, 1, 1991868891LL, 5},
    {70, 1, 3926827243LL, 6},
    {71, 1, 3871519817LL, 6},
    {72, 1, 954437177LL, 4},
    {73, 1, 3765450781LL, 6},
    {74, 1, 3714566311LL, 6},
    {75, 1, 458129845LL, 3},
    {76, 1, 1808407283LL, 5},
    {77, 1, 892460737LL, 4},
    {78, 1, 3524075731LL, 6},
    {79, 1, 1739733589LL, 5},
    {80, 1, 1717986919LL, 5},
    {81, 1, 424194301LL, 3},
    {82, 1, 1676084799LL, 5},
    {83, 1, 827945503LL, 4},
    {84, 1, 818089009LL, 4},
    {85, 1, 1616928865LL, 5},
    {86, 1, 799063683LL, 4},
    {87, 1, 789879043LL, 4},
    {88, 1, 780903145LL, 4},
    {89, 1, 3088515809LL, 6},
    {90, 1, 3054198967LL, 6},
    {91, 1, 3020636341LL, 6},
    {92, 1, 2987803337LL, 6},
    {93, 1, 738919105LL, 4},
    {94, 1, 2924233053LL, 6},
    {95, 1, 2893451653LL, 6},
    {96, 1, 715827883LL, 4},
    {97, 1, 354224107LL, 3},
    {98, 1, 1402438301LL, 5},
    {99, 1, 2776544515LL, 6},
    {100, 1, 1374389535LL, 5},
    {101, 1, 680390859LL, 4},
    {102, 1, 2694881441LL, 6},
    {103, 1, 333589693LL, 3},
    {104, 1, 1321528399LL, 5},
    {105, 1, 2617884829LL, 6},
    {106, 1, 1296593901LL, 5},
    {107, 1, 1284476201LL, 5},
    {108, 1, 1272582903LL, 5},
    {109, 1, 2521815661LL, 6},
    {110, 1, 156180629LL, 2},
    {111, 1, 2476377541LL, 6},
    {112, 1, 2454267027LL, 6},
    {113, 1, 1216273925LL, 5},
    {114, 1, 2411209711LL, 6},
    {115, 1, 1195121335LL, 5},
    {116, 1, 2369637129LL, 6},
    {117, 1, 2349383821LL, 6},
    {118, 1, 582368447LL, 4},
    {119, 1, 1154949189LL, 5},
    {120, 1, 2290649225LL, 6},
    {121, 1, 70991195LL, 1},
    {122, 1, 1126548799LL, 5},
    {123, 1, 558694933LL, 4},
    {124, 1, 2216757315LL, 6},
    {125, 1, 274877907LL, 3},
    {126, 1, 2181570691LL, 6},
    {127, 1, 2164392969LL, 6},
    {128, 1, 2147483649LL, 6},
    {129, 1, 266354561LL, 3},
    {130, 1, 2114445439LL, 6},
    {131, 1, 1049152317LL, 5},
    {132, 1, 1041204193LL, 5},
    {133, 1, 4133502361LL, 7},
    {134, 1, 128207979LL, 2},
    {135, 1, 4072265289LL, 7},
    {136, 1, 2021161081LL, 6},
    {137, 1, 125400505LL, 2},
    {138, 1, 1991868891LL, 6},
    {139, 1, 1977538899LL, 6},
    {140, 1, 3926827243LL, 7},
    {141, 1, 974744351LL, 5},
    {142, 1, 3871519817LL, 7},
    {143, 1, 961111563LL, 5},
    {144, 1, 954437177LL, 5},
    {145, 1, 3791419407LL, 7},
    {146, 1, 3765450781LL, 7},
    {147, 1, 1869917735LL, 6},
    {148, 1, 3714566311LL, 7},
    {149, 1, 230602271LL, 3},
    {150, 1, 458129845LL, 4},
    {151, 1, 910191745LL, 5},
    {152, 1, 1808407283LL, 6},
    {153, 1, 3593175255LL, 7},
    {154, 1, 892460737LL, 5},
    {155, 1, 443351463LL, 4},
    {156, 1, 3524075731LL, 7},
    {157, 1, 875407347LL, 5},
    {158, 1, 1739733589LL, 6},
    {159, 1, 432197967LL, 4},
    {160, 1, 1717986919LL, 6},
    {161, 1, 3414632385LL, 7},
    {162, 1, 424194301LL, 4},
    {163, 1, 210795941LL, 3},
    {164, 1, 1676084799LL, 6},
    {165, 1, 1665926709LL, 6},
    {166, 1, 827945503LL, 5},
    {167, 1, 1645975491LL, 6},
    {168, 1, 818089009LL, 5},
    {169, 1, 1626496491LL, 6},
    {170, 1, 1616928865LL, 6},
    {171, 1, 3214946281LL, 7},
    {172, 1, 799063683LL, 5},
    {173, 1, 397222409LL, 4},
    {174, 1, 789879043LL, 5},
    {175, 1, 1570730897LL, 6},
    {176, 1, 780903145LL, 5},
    {177, 1, 3105965051LL, 7},
    {178, 1, 3088515809LL, 7},
    {179, 1, 3071261531LL, 7},
    {180, 1, 3054198967LL, 7},
    {181, 1, 759331235LL, 5},
    {182, 1, 3020636341LL, 7},
    {183, 1, 3004130131LL, 7},
    {184, 1, 2987803337LL, 7},
    {185, 1, 2971653049LL, 7},
    {186, 1, 738919105LL, 5},
    {187, 1, 2939870663LL, 7},
    {188, 1, 2924233053LL, 7},
    {189, 1, 2908760921LL, 7},
    {190, 1, 2893451653LL, 7},
    {191, 1, 2878302691LL, 7},
    {192, 1, 715827883LL, 5},
    {193, 1, 356059465LL, 4},
    {194, 1, 354224107LL, 4},
    {195, 1, 2819260585LL, 7},
    {196, 1, 1402438301LL, 6},
    {197, 1, 1395319325LL, 6},
    {198, 1, 2776544515LL, 7},
    {199, 1, 1381296015LL, 6},
    {200, 1, 1374389535LL, 6},
    {201, 1, 42735993LL, 1},
    {202, 1, 680390859LL, 5},
    {203, 1, 2708156719LL, 7},
    {204, 1, 2694881441LL, 7},
    {205, 1, 1340867839LL, 6},
    {206, 1, 333589693LL, 4},
    {207, 1, 663956297LL, 5},
    {208, 1, 1321528399LL, 6},
    {209, 1, 2630410593LL, 7},
    {210, 1, 2617884829LL, 7},
    {211, 1, 81421181LL, 2},
    {212, 1, 1296593901LL, 6},
    {213, 1, 2581013211LL, 7},
    {214, 1, 1284476201LL, 6},
    {215, 1, 1278501893LL, 6},
    {216, 1, 1272582903LL, 6},
    {217, 1, 2533436931LL, 7},
    {218, 1, 2521815661LL, 7},
    {219, 1, 2510300521LL, 7},
    {220, 1, 156180629LL, 3},
    {221, 1, 2487582869LL, 7},
    {222, 1, 2476377541LL, 7},
    {223, 1, 2465272709LL, 7},
    {224, 1, 2454267027LL, 7},
    {225, 1, 2443359173LL, 7},
    {226, 1, 1216273925LL, 6},
    {227, 1, 605457945LL, 5},
    {228, 1, 2411209711LL, 7},
    {229, 1, 1200340205LL, 6},
    {230, 1, 1195121335LL, 6},
    {231, 1, 2379895299LL, 7},
    {232, 1, 2369637129LL, 7},
    {233, 1, 2359467013LL, 7},
    {234, 1, 2349383821LL, 7},
    {235, 1, 2339386443LL, 7},
    {236, 1, 582368447LL, 5},
    {237, 1, 2319644785LL, 7},
    {238, 1, 1154949189LL, 6},
    {239, 1, 2300233531LL, 7},
    {240, 1, 2290649225LL, 7},
    {241, 1, 285143057LL, 4},
    {242, 1, 70991195LL, 2},
    {243, 1, 2262369605LL, 7},
    {244, 1, 1126548799LL, 6},
    {245, 1, 1121950641LL, 6},
    {246, 1, 558694933LL, 5},
    {247, 1, 2225732041LL, 7},
    {248, 1, 2216757315LL, 7},
    {249, 1, 2207854675LL, 7},
    {250, 1, 274877907LL, 4},
    {251, 1, 2190262207LL, 7},
    {252, 1, 2181570691LL, 7},
    {253, 1, 2172947881LL, 7},
    {254, 1, 2164392969LL, 7},
    {255, 1, 2155905153LL, 7},
};
}
}
}

/* [<][>][^][v][top][bottom][index][help] */