#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},
};
}
}
}