diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 4708e0e..a8c32b3 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -10,6 +10,9 @@ add_compile_options(-fno-exceptions) include_directories(utils) include_directories(all_cases) + +include_directories(raw_code) +include_directories(short_code) include_directories(common_code) add_library(${PROJECT_NAME} @@ -18,7 +21,15 @@ add_library(${PROJECT_NAME} ffi/all_cases.cc common_code/common_code.cc common_code/serialize.cc - common_code/convert.cc + common_code/sundry.cc + raw_code/raw_code.cc + raw_code/convert.cc + raw_code/sundry.cc + raw_code/mirror.cc + short_code/convert.cc + short_code/serialize.cc + short_code/short_code.cc + short_code/sundry.cc ) add_executable(${PROJECT_NAME}_cli main.cc @@ -27,5 +38,13 @@ add_executable(${PROJECT_NAME}_cli main.cc ffi/all_cases.cc common_code/common_code.cc common_code/serialize.cc - common_code/convert.cc + common_code/sundry.cc + raw_code/raw_code.cc + raw_code/convert.cc + raw_code/sundry.cc + raw_code/mirror.cc + short_code/convert.cc + short_code/serialize.cc + short_code/short_code.cc + short_code/sundry.cc ) diff --git a/src/core/common_code/common_code.cc b/src/core/common_code/common_code.cc index 69ffd52..1b8d361 100644 --- a/src/core/common_code/common_code.cc +++ b/src/core/common_code/common_code.cc @@ -1 +1,63 @@ +#include "utility.h" #include "common_code.h" + +namespace klotski { +namespace codec { + +/// Check the validity of the original CommonCode. +bool CommonCode::check(uint64_t common_code) noexcept { + // TODO: optimization of synchronizing all_cases. + + /// M_1x1 | M_1x2 | M_2x1 | M_2x2 + /// 1 0 0 0 | 1 1 0 0 | 1 0 0 0 | 1 1 0 0 + /// 0 0 0 0 | 0 0 0 0 | 1 0 0 0 | 1 1 0 0 + /// ... | ... | ... | ... + constexpr uint32_t M_1x1 = 0b1; + constexpr uint32_t M_1x2 = 0b11; + constexpr uint32_t M_2x1 = 0b10001; + constexpr uint32_t M_2x2 = 0b110011; + + /// 2x2 address check (high 32-bit) + uint32_t head = common_code >> 32; + if (head >= 16 || (head & 0b11) == 0b11) { // check 2x2 block address + return false; // invalid common code + } + + /// check range status (low 32-bit) + int space_num = 0; + uint32_t mask = M_2x2 << head; // fill 2x2 block + auto range = range_reverse((uint32_t)common_code); // extract range + + for (int addr = 0;; range >>= 2) { // traverse every 2-bit + while ((mask >> addr) & 0b1) { + ++addr; // search next unfilled block + } + if (addr >= 20) { + return !range && space_num > 1; // range is empty and space num >= 2 + } + switch (range & 0b11) { + case 0b00: /// space + mask |= M_1x1 << addr; // fill space + ++space_num; + continue; + case 0b11: /// 1x1 block + mask |= M_1x1 << addr; // fill 1x1 block + continue; + case 0b10: /// 2x1 block + if (addr > 15 || mask >> (addr + 4) & 0b1) { + return false; // invalid address + } + mask |= M_2x1 << addr; // fill 2x1 block + continue; + case 0b01: /// 1x2 block + if ((addr & 0b11) == 0b11 || mask >> (addr + 1) & 0b1) { + return false; // invalid address + } + mask |= M_1x2 << addr; // fill 1x2 block + continue; + } + } +} + +} // namespace codec +} // namespace klotski diff --git a/src/core/common_code/common_code.h b/src/core/common_code/common_code.h index e4cae2c..19c4055 100644 --- a/src/core/common_code/common_code.h +++ b/src/core/common_code/common_code.h @@ -53,8 +53,9 @@ /// @ % % F E A 1 3 4 0 0 /// CommonCode = 0x4FEA13400 -> "4FEA134" -#include +#include #include +#include #include namespace klotski { @@ -62,33 +63,22 @@ namespace codec { class RawCode; class ShortCode; -class CommonCode; - -//typedef std::vector RawCodes; -//typedef std::vector ShortCodes; -//typedef std::vector CommonCodes; - class CommonCode { public: - /// Validity check + explicit operator uint64_t() const noexcept; static bool check(uint64_t common_code) noexcept; + friend std::ostream& operator<<(std::ostream &out, CommonCode self); - /// Operators of CommonCode - explicit operator uint64_t() const noexcept { return code_; } - friend std::ostream& operator<<(std::ostream &out, const CommonCode &self); - - /// Export functions - RawCode to_raw_code() const noexcept; - ShortCode to_short_code() const noexcept; - std::string to_string(bool shorten = false) const noexcept; - constexpr uint64_t unwrap() const noexcept { return code_; } + [[nodiscard]] uint64_t unwrap() const noexcept; + [[nodiscard]] RawCode to_raw_code() const noexcept; + [[nodiscard]] ShortCode to_short_code() const noexcept; + [[nodiscard]] std::string to_string(bool shorten = false) const noexcept; - /// CommonCode constructors +public: CommonCode() = delete; explicit CommonCode(RawCode raw_code) noexcept; explicit CommonCode(ShortCode short_code) noexcept; - /// CommonCode initializations static CommonCode unsafe_create(uint64_t common_code) noexcept; static std::optional create(uint64_t common_code) noexcept; @@ -103,39 +93,58 @@ public: static std::optional from_short_code(std::string &&short_code) noexcept; static std::optional from_short_code(const std::string &short_code) noexcept; - /// Batch conversions -// static CommonCodes convert(const RawCodes &raw_codes) noexcept; -// static CommonCodes convert(const ShortCodes &short_codes) noexcept; - - static std::string string_encode(uint64_t common_code, bool shorten) noexcept; - static std::optional string_decode(const std::string &common_code) noexcept; - private: uint64_t code_; -// static std::string string_encode(uint64_t common_code, bool shorten) noexcept; -// static std::optional string_decode(const std::string &common_code) noexcept; + static std::string string_encode(uint64_t common_code) noexcept; + static std::string string_encode_shorten(uint64_t common_code) noexcept; + static std::optional string_decode(const std::string &common_code) noexcept; }; -/// CommonCode create -//inline CommonCode CommonCode::create(uint64_t common_code) { -// return CommonCode(common_code); // with check -//} +/// CommonCode compare implements. +inline bool operator==(uint64_t c1, CommonCode c2) noexcept { + return c1 == c2.unwrap(); +} + +inline bool operator==(CommonCode c1, CommonCode c2) noexcept { + return c1.unwrap() == c2.unwrap(); +} -/// CommonCode create without check +inline bool operator<(CommonCode c1, CommonCode c2) noexcept { + return c1.unwrap() < c2.unwrap(); +} + +inline bool operator>(CommonCode c1, CommonCode c2) noexcept { + return c1.unwrap() > c2.unwrap(); +} + +/// Get the original 64-bit code. +inline uint64_t CommonCode::unwrap() const noexcept { + return code_; +} + +/// Implicit conversion to 64-bit code. +inline CommonCode::operator uint64_t() const noexcept { + return code_; +} + +/// CommonCode create without any check. inline CommonCode CommonCode::unsafe_create(uint64_t common_code) noexcept { - return *(CommonCode*)&common_code; // init directly + return *reinterpret_cast(&common_code); // init directly } -/// Compare implements -//inline bool operator==(uint64_t c1, const CommonCode &c2) noexcept { return c1 == c2.unwrap(); } -//inline bool operator==(const CommonCode &c1, uint64_t c2) noexcept { return c1.unwrap() == c2; } -//inline bool operator!=(uint64_t c1, const CommonCode &c2) noexcept { return !(c1 == c2); } -//inline bool operator!=(const CommonCode &c1, uint64_t c2) noexcept { return !(c1 == c2); } +/// CommonCode create with valid check. +inline std::optional CommonCode::create(uint64_t common_code) noexcept { + if (CommonCode::check(common_code)) { + return CommonCode::unsafe_create(common_code); + } + return std::nullopt; +} -//inline bool operator<(const CommonCode &c1, const CommonCode &c2) noexcept { return c1.unwrap() < c2.unwrap(); } -//inline bool operator>(const CommonCode &c1, const CommonCode &c2) noexcept { return c1.unwrap() > c2.unwrap(); } -//inline bool operator==(const CommonCode &c1, const CommonCode &c2) noexcept { return c1.unwrap() == c2.unwrap(); } -//inline bool operator!=(const CommonCode &c1, const CommonCode &c2) noexcept { return !(c1 == c2); } +/// Output string encoding of CommonCode. +inline std::ostream& operator<<(std::ostream &out, CommonCode self) { + out << CommonCode::string_encode(self.code_); + return out; +} } // namespace codec } // namespace klotski diff --git a/src/core/common_code/convert.cc b/src/core/common_code/convert.cc deleted file mode 100644 index 1c8d633..0000000 --- a/src/core/common_code/convert.cc +++ /dev/null @@ -1,89 +0,0 @@ -#include "common_code.h" - -namespace klotski { -namespace codec { - -//using klotski::RawCode; -//using klotski::ShortCode; -//using klotski::CommonCode; -// -//using klotski::RawCodes; -//using klotski::ShortCode; -//using klotski::CommonCodes; - -/// -------------------------- CommonCode to RawCode -------------------------- - -//RawCode CommonCode::to_raw_code() const noexcept { -// return RawCode(*this); // convert to raw code -//} - -/// ------------------------- CommonCode to ShortCode ------------------------- - -//ShortCode CommonCode::to_short_code() const noexcept { -// return ShortCode(*this); // convert to short code -//} - -/// -------------------------- RawCode to CommonCode -------------------------- - -//CommonCode CommonCode::from_raw_code(uint64_t raw_code) { -// return RawCode(raw_code).to_common_code(); -//} -// -//CommonCode CommonCode::from_raw_code(RawCode &&raw_code) noexcept { -// return raw_code.to_common_code(); -//} -// -//CommonCode CommonCode::from_raw_code(const RawCode &raw_code) noexcept { -// return raw_code.to_common_code(); -//} -// -//CommonCode::CommonCode(RawCode &&raw_code) noexcept { -// code_ = raw_code.to_common_code().code_; // convert from raw code -//} -// -//CommonCode::CommonCode(const RawCode &raw_code) noexcept { -// code_ = raw_code.to_common_code().code_; // convert from raw code -//} - -/// ------------------------- ShortCode to CommonCode ------------------------- - -//CommonCode::CommonCode(ShortCode &&short_code) noexcept { -// code_ = short_code.to_common_code().code_; // convert from short code -//} -// -//CommonCode::CommonCode(const ShortCode &short_code) noexcept { -// code_ = short_code.to_common_code().code_; // convert from short code -//} -// -//CommonCode CommonCode::from_short_code(uint32_t short_code) { -// return ShortCode(short_code).to_common_code(); -//} -// -//CommonCode CommonCode::from_short_code(ShortCode &&short_code) noexcept { -// return short_code.to_common_code(); -//} -// -//CommonCode CommonCode::from_short_code(std::string &&short_code) { -// return ShortCode(std::forward(short_code)).to_common_code(); -//} -// -//CommonCode CommonCode::from_short_code(const ShortCode &short_code) noexcept { -// return short_code.to_common_code(); -//} -// -//CommonCode CommonCode::from_short_code(const std::string &short_code) { -// return ShortCode(short_code).to_common_code(); -//} - -/// ---------------------------- Batch conversions ---------------------------- - -//CommonCodes CommonCode::convert(const RawCodes &raw_codes) noexcept { -// return {raw_codes.begin(), raw_codes.end()}; -//} -// -//CommonCodes CommonCode::convert(const ShortCodes &short_codes) noexcept { -// return {short_codes.begin(), short_codes.end()}; -//} - -} // namespace codec -} // namespace klotski diff --git a/src/core/common_code/serialize.cc b/src/core/common_code/serialize.cc index cedfc5d..db9c8eb 100644 --- a/src/core/common_code/serialize.cc +++ b/src/core/common_code/serialize.cc @@ -1,4 +1,3 @@ -#include #include "common_code.h" namespace klotski { @@ -13,7 +12,7 @@ inline static char to_hex_char(uint64_t hex_bit) { } /// Serialize CommonCode into a 9-bit length string. -static std::string normal_encode(uint64_t common_code) { +std::string CommonCode::string_encode(uint64_t common_code) noexcept { char code_str[9]; for (int i = 0; i < 9; ++i) { code_str[8 - i] = to_hex_char(common_code & 0b1111); @@ -23,7 +22,10 @@ static std::string normal_encode(uint64_t common_code) { } /// Serialize CommonCode into a variable-length string, removing the trailing zero. -static std::string shorten_encode(uint64_t common_code) { +std::string CommonCode::string_encode_shorten(uint64_t common_code) noexcept { + if (common_code == 0) { + return "0"; // special case + } int zero_start; char code_str[9]; for (int i = 0; i < 9; ++i) { @@ -38,23 +40,10 @@ static std::string shorten_encode(uint64_t common_code) { return std::string{code_str, code_str + zero_start}; } -/// Serialize CommonCode to string by shorten option. -std::string CommonCode::string_encode(uint64_t common_code, bool shorten) noexcept { - if (shorten) { - if (common_code == 0) { - return "0"; // special case - } - return shorten_encode(common_code); - } - return normal_encode(common_code); -} - /// Deserialize CommonCode from string and return std::nullopt on error. std::optional CommonCode::string_decode(const std::string &common_code) noexcept { -//uint64_t CommonCode::string_decode(const std::string &common_code) noexcept { if (common_code.length() > 9 || common_code.empty()) { return std::nullopt; // invalid string length -// return 0; } uint64_t result = 0; for (auto hex_bit : common_code) { @@ -71,9 +60,5 @@ std::optional CommonCode::string_decode(const std::string &common_code return result << (36 - common_code.length() * 4); // low-bits fill with zero } -std::string CommonCode::to_string(bool shorten) const noexcept { - return string_encode(code_, shorten); -} - } // namespace codec } // namespace klotski diff --git a/src/core/common_code/sundry.cc b/src/core/common_code/sundry.cc new file mode 100644 index 0000000..d6976d8 --- /dev/null +++ b/src/core/common_code/sundry.cc @@ -0,0 +1,96 @@ +#include "raw_code.h" +#include "short_code.h" +#include "common_code.h" + +namespace klotski { +namespace codec { + +// ----------------------------------------------------------------------------------------- // + +CommonCode::CommonCode(RawCode raw_code) noexcept { + code_ = raw_code.to_common_code().code_; +} + +CommonCode::CommonCode(ShortCode short_code) noexcept { + code_ = short_code.to_common_code().code_; +} + +// ----------------------------------------------------------------------------------------- // + +RawCode CommonCode::to_raw_code() const noexcept { + return RawCode(*this); +} + +ShortCode CommonCode::to_short_code() const noexcept { + return ShortCode(*this); +} + +std::string CommonCode::to_string(bool shorten) const noexcept { + if (!shorten) { + return string_encode(code_); // with full length + } + return string_encode_shorten(code_); // without trailing zero +} + +// ----------------------------------------------------------------------------------------- // + +std::optional CommonCode::from_string(std::string &&common_code) noexcept { + return CommonCode::from_string(common_code); +} + +std::optional CommonCode::from_string(const std::string &common_code) noexcept { + auto code = string_decode(common_code); + if (!code.has_value()) { + return std::nullopt; // invalid string + } + return CommonCode::unsafe_create(code.value()); +} + +// ----------------------------------------------------------------------------------------- // + +CommonCode CommonCode::from_raw_code(RawCode raw_code) noexcept { + return raw_code.to_common_code(); +} + +std::optional CommonCode::from_raw_code(uint64_t raw_code) noexcept { + auto code = RawCode::create(raw_code); + if (!code.has_value()) { + return std::nullopt; // invalid raw code + } + return code->to_common_code(); +} + +// ----------------------------------------------------------------------------------------- // + +CommonCode CommonCode::from_short_code(ShortCode short_code) noexcept { + return short_code.to_common_code(); +} + +std::optional CommonCode::from_short_code(uint32_t short_code) noexcept { + auto code = ShortCode::create(short_code); + if (!code.has_value()) { + return std::nullopt; // invalid short code + } + return code->to_common_code(); +} + +std::optional CommonCode::from_short_code(std::string &&short_code) noexcept { + auto code = ShortCode::from_string(std::move(short_code)); + if (!code.has_value()) { + return std::nullopt; // invalid short code + } + return code->to_common_code(); +} + +std::optional CommonCode::from_short_code(const std::string &short_code) noexcept { + auto code = ShortCode::from_string(short_code); + if (!code.has_value()) { + return std::nullopt; // invalid short code + } + return code->to_common_code(); +} + +// ----------------------------------------------------------------------------------------- // + +} // namespace codec +} // namespace klotski diff --git a/src/core/main.cc b/src/core/main.cc index 695662c..72f8dae 100644 --- a/src/core/main.cc +++ b/src/core/main.cc @@ -30,11 +30,11 @@ int main() { } } - std::vector common_codes_str; - common_codes_str.reserve(klotski::cases::ALL_CASES_NUM_); - for (auto x : common_codes) { - common_codes_str.emplace_back(CommonCode::string_encode(x, false)); - } +// std::vector common_codes_str; +// common_codes_str.reserve(klotski::cases::ALL_CASES_NUM_); +// for (auto x : common_codes) { +// common_codes_str.emplace_back(CommonCode::string_encode(x, false)); +// } auto start = clock(); @@ -46,9 +46,9 @@ int main() { // std::cout << CommonCode::string_encode(common_code, false) << std::endl; // } - for (auto &common_code_str : common_codes_str) { - CommonCode::string_decode(common_code_str); - } +// for (auto &common_code_str : common_codes_str) { +// CommonCode::string_decode(common_code_str); +// } // BasicRanges::Instance().Build(); diff --git a/src/core/raw_code/convert.cc b/src/core/raw_code/convert.cc new file mode 100644 index 0000000..d5bdb23 --- /dev/null +++ b/src/core/raw_code/convert.cc @@ -0,0 +1,65 @@ +#include "common.h" +#include "utility.h" +#include "raw_code.h" + +namespace klotski { +namespace codec { + +/// NOTE: ensure that input raw code is valid! +uint64_t RawCode::compact(uint64_t raw_code) noexcept { // raw code --> common code + int unfilled = 16; + uint64_t head = 0; // 2x2 block address + uint32_t range = 0; + for (int addr = 0; raw_code; ++addr, raw_code >>= 3) { // traverse every address + switch (raw_code & 0b111) { // low 3-bits + case BLOCK_space: + range <<= 2; // space + break; + case BLOCK_1x2: + (range <<= 2) |= 0b01; // 1x2 block + break; + case BLOCK_2x1: + (range <<= 2) |= 0b10; // 2x1 block + break; + case BLOCK_1x1: + (range <<= 2) |= 0b11; // 1x1 block + break; + case BLOCK_2x2: + (head = addr) <<= 32; // 2x2 block + default: + continue; // B_fill type + } + --unfilled; // unfilled number + } + return head | (range << (unfilled << 1)); // fill low bits as zero +} + +/// NOTE: ensure that input common code is valid! +uint64_t RawCode::extract(uint64_t common_code) noexcept { // common code --> raw code + auto code = K_MASK_2x2 << (common_code >> 32) * 3; // flag for 2x2 block + auto range = range_reverse((uint32_t)common_code); // reversed range + + for (int addr = 0; range; range >>= 2) { + /// NOTE: (code >> 65) --> (code >> 1) may cause infinite loop + while ((code >> addr) & 0b111 && addr < 60) { // check low 3-bits -> next empty address + addr += 3; // found available address + } + switch (range & 0b11) { // match low 2-bits + case 0b01: // 1x2 block + code |= K_MASK_1x2 << addr; + break; + case 0b10: // 2x1 block + code |= K_MASK_2x1 << addr; + break; + case 0b11: // 1x1 block + code |= K_MASK_1x1 << addr; + break; + case 0b00: // space + addr += 3; // next address + } + } + return code; +} + +} // namespace codec +} // namespace klotski diff --git a/src/core/raw_code/mirror.cc b/src/core/raw_code/mirror.cc new file mode 100644 index 0000000..59c1867 --- /dev/null +++ b/src/core/raw_code/mirror.cc @@ -0,0 +1,144 @@ +#include "common.h" +#include "raw_code.h" + +namespace klotski { +namespace codec { + +/// ----------------------------- Mirror Convert ------------------------------ + +RawCode RawCode::to_vertical_mirror() const noexcept { + return RawCode::unsafe_create(get_vertical_mirror(code_)); +} + +RawCode RawCode::to_horizontal_mirror() const noexcept { + return RawCode::unsafe_create(get_horizontal_mirror(code_)); +} + +/// ------------------------------ Mirror Check ------------------------------- + +bool RawCode::is_vertical_mirror() const noexcept { + return check_vertical_mirror(code_); +} + +bool RawCode::is_horizontal_mirror() const noexcept { + return check_horizontal_mirror(code_); +} + +bool RawCode::is_vertical_mirror(RawCode raw_code) const noexcept { + return raw_code.unwrap() == get_vertical_mirror(code_); +} + +bool RawCode::is_horizontal_mirror(RawCode raw_code) const noexcept { + return raw_code.unwrap() == get_horizontal_mirror(code_); +} + +/// ----------------------------- Basic Functions ----------------------------- + +/// MASK_MIRROR_H1 | MASK_MIRROR_H2 +/// 111 000 000 000 | 000 111 000 000 +/// 111 000 000 000 | 000 111 000 000 +/// 111 000 000 000 | 000 111 000 000 +/// 111 000 000 000 | 000 111 000 000 +/// 111 000 000 000 | 000 111 000 000 + +constexpr uint64_t MASK_MIRROR_H1 = 0x0'007'007'007'007'007; +constexpr uint64_t MASK_MIRROR_H2 = 0x0'038'038'038'038'038; + +/// MASK_MIRROR_V1 | MASK_MIRROR_V2 | MASK_MIRROR_V3 +/// 111 111 111 111 | 000 000 000 000 | 000 000 000 000 +/// 000 000 000 000 | 111 111 111 111 | 000 000 000 000 +/// 000 000 000 000 | 000 000 000 000 | 111 111 111 111 +/// 000 000 000 000 | 000 000 000 000 | 000 000 000 000 +/// 000 000 000 000 | 000 000 000 000 | 000 000 000 000 + +constexpr uint64_t MASK_MIRROR_V1 = 0x0'000'000'000'000'FFF; +constexpr uint64_t MASK_MIRROR_V2 = 0x0'000'000'000'FFF'000; +constexpr uint64_t MASK_MIRROR_V3 = 0x0'000'000'FFF'000'000; + +inline void vertical_fill(uint64_t &raw_code) { + uint64_t mask = 0; + for (int addr = 0; addr < 60; addr += 3) { // traverse every 3-bit + switch ((raw_code >> addr) & 0b111) { + case BLOCK_2x1: + case BLOCK_2x2: + mask |= (uint64_t)0b111 << (addr + 12); // generate fill mask + } + } + for (int addr = 0; addr < 60; addr += 3) { // traverse every 3-bit + switch ((raw_code | mask) >> addr & 0b111) { + case BLOCK_2x1: + raw_code &= ~(uint64_t(~BLOCK_2x1 & 0b111) << (addr + 12)); // fill vertical mirror + break; + case BLOCK_2x2: + raw_code &= ~(uint64_t(~BLOCK_2x2 & 0b111) << (addr + 12)); // fill vertical mirror + break; + } + } +} + +inline void horizontal_fill(uint64_t &raw_code) { + for (int addr = 0; addr < 60; addr += 3) { // traverse every 3-bit + switch ((raw_code >> addr) & 0b111) { + case BLOCK_1x2: + raw_code &= ~(uint64_t(~BLOCK_1x2 & 0b111) << (addr + 3)); // fill horizontal mirror + addr += 3; // skip next address + break; + case BLOCK_2x2: + raw_code &= ~(uint64_t(~BLOCK_2x2 & 0b111) << (addr + 3)); // fill horizontal mirror + addr += 3; // skip next address + break; + } + } +} + +inline void vertical_clear(uint64_t &raw_code) { + for (int addr = 0; addr < 60; addr += 3) { // traverse every 3-bit + switch ((raw_code >> addr) & 0b111) { + case BLOCK_2x1: + case BLOCK_2x2: + raw_code |= (uint64_t)0b111 << (addr + 12); // reset as original block + } + } +} + +inline void horizontal_clear(uint64_t &raw_code) { + for (int addr = 0; addr < 60; addr += 3) { // traverse every 3-bit + switch ((raw_code >> addr) & 0b111) { + case BLOCK_1x2: + case BLOCK_2x2: + raw_code |= (uint64_t)0b111 << (addr + 3); // reset as original block + } + } +} + +uint64_t RawCode::get_vertical_mirror(uint64_t raw_code) noexcept { + vertical_fill(raw_code); + raw_code = (raw_code & MASK_MIRROR_V3) + | ((raw_code >> 48) & MASK_MIRROR_V1) | ((raw_code >> 24) & MASK_MIRROR_V2) + | ((raw_code & MASK_MIRROR_V2) << 24) | ((raw_code & MASK_MIRROR_V1) << 48); + vertical_clear(raw_code); + return raw_code; +} + +uint64_t RawCode::get_horizontal_mirror(uint64_t raw_code) noexcept { + horizontal_fill(raw_code); + raw_code = ((raw_code >> 9) & MASK_MIRROR_H1) | ((raw_code >> 3) & MASK_MIRROR_H2) + | ((raw_code & MASK_MIRROR_H2) << 3) | ((raw_code & MASK_MIRROR_H1) << 9); // flip raw code + horizontal_clear(raw_code); + return raw_code; +} + +bool RawCode::check_vertical_mirror(uint64_t raw_code) noexcept { + vertical_fill(raw_code); + return !(MASK_MIRROR_V1 & ((raw_code >> 48) ^ raw_code)) + && !(MASK_MIRROR_V2 & ((raw_code >> 24) ^ raw_code)); +} + +bool RawCode::check_horizontal_mirror(uint64_t raw_code) noexcept { + horizontal_fill(raw_code); + return !(MASK_MIRROR_H1 & ((raw_code >> 9) ^ raw_code)) + && !(MASK_MIRROR_H2 & ((raw_code >> 3) ^ raw_code)); +} + +} // namespace codec +} // namespace klotski diff --git a/src/core/raw_code/raw_code.cc b/src/core/raw_code/raw_code.cc new file mode 100644 index 0000000..d1ec6ea --- /dev/null +++ b/src/core/raw_code/raw_code.cc @@ -0,0 +1,74 @@ +#include "common.h" +#include "raw_code.h" + +namespace klotski { +namespace codec { + +// TODO: only for debug usage. +std::ostream& operator<<(std::ostream &out, RawCode self) { + char *code; + asprintf(&code, "%015llX\n", self.code_); // code length -> 15 + out << code; + free(code); + + /// 0x0 1x2 2x1 1x1 2x2 b101 b110 fill + char map[] = {'.', '~', '|', '*', '@', '?', '?', '+'}; + for (int addr = 0; addr < 60; addr += 3) { + out << map[(self.code_ >> addr) & 0b111]; + out << " " << &"\n"[(addr & 0b11) != 0b01]; + } + return out; +} + +/// Check the validity of the original RawCode. +bool RawCode::check(uint64_t raw_code) noexcept { + /// MASK_1x1 | MASK_1x2 | MASK_2x1 | MASK_2x2 + /// 100 000 000 000 | 000 100 000 000 | 000 000 000 000 | 000 100 000 000 + /// 000 000 000 000 | 000 000 000 000 | 100 000 000 000 | 100 100 000 000 + /// ... | ... | ... | ... + /// + constexpr uint64_t MASK_1x1 = ~BLOCK_1x1 & 0b111; + constexpr uint64_t MASK_1x2 = MASK_1x1 << 3; + constexpr uint64_t MASK_2x1 = MASK_1x1 << 12; + constexpr uint64_t MASK_2x2 = MASK_1x1 << 3 | MASK_1x1 << 12 | MASK_1x1 << 15; + if (raw_code >> 60) { + return false; // high 4-bit must be zero + } + + int head_num = 0, space_num = 0; // statistics for space and 2x2 number + for (int addr = 0; addr < 20; ++addr, raw_code >>= 3) { + switch (raw_code & 0b111) { + case BLOCK_1x1: + case BLOCK_fill: + continue; // do nothing + case BLOCK_space: + ++space_num; + continue; + case BLOCK_2x1: + if (addr > 15 || (raw_code & K_MASK_2x1_) != K_MASK_2x1) { + return false; // invalid 2x1 block + } + raw_code &= ~MASK_2x1; // B_fill -> B_1x1 + continue; + case BLOCK_1x2: + if ((addr & 0b11) == 0b11 || (raw_code & K_MASK_1x2_) != K_MASK_1x2) { + return false; // invalid 1x2 block + } + raw_code &= ~MASK_1x2; // B_fill -> B_1x1 + continue; + case BLOCK_2x2: + ++head_num; + if (addr > 14 || (addr & 0b11) == 0b11 || (raw_code & K_MASK_2x2_) != K_MASK_2x2) { + return false; // invalid 2x2 block + } + raw_code &= ~MASK_2x2; // B_fill -> B_1x1 + continue; + default: + return false; // unknown flag -> 0b101 / 0b110 + } + } + return head_num == 1 && space_num >= 2; // one head and at least 2 space +} + +} // namespace codec +} // namespace klotski diff --git a/src/core/raw_code/raw_code.h b/src/core/raw_code/raw_code.h new file mode 100644 index 0000000..eef5140 --- /dev/null +++ b/src/core/raw_code/raw_code.h @@ -0,0 +1,126 @@ +#pragma once + +/// RawCode is an uncompressed coding scheme, which is used for program +/// calculation. It encodes a `5x4` chessboard as 0 ~ 19, and uses 3-bit to +/// represent each position, occupying a total of 60-bit, and stored in a +/// `uint64_t` variable. Among them, the upper 4-bit are reserved and filled +/// with `0`. +/// +/// 00 01 02 03 +/// 04 05 06 07 fill 20 slots +/// 08 09 10 11 0000 (19) (18) (17) (16) ... (03) (02) (01) (00) +/// 12 13 14 15 (4b) + (3b) * 20 => 64-bit +/// 16 17 18 19 + +/// Eg1: +/// % # # % 2x1 2x2 ... 2x1 010 100 111 010 +/// % # # % ... ... ... ... 111 111 111 111 +/// @ $ $ @ 2x1 1x2 ... 2x1 010 001 111 010 +/// @ & * @ ... 1x1 1x1 ... 111 011 011 111 +/// * & 1x1 0x0 0x0 1x1 011 000 000 011 +/// +/// | 19 18 17 16 | 15 14 13 12 | 11 10 09 08 | 07 06 05 04 | 03 02 01 00 +/// 0000 | 011 000 000 011 | 111 011 011 111 | 010 111 001 010 | 111 111 111 111 | 010 111 100 010 +/// 0000 | 0110 0000 0011 | 1110 1101 1111 | 0101 1100 1010 | 1111 1111 1111 | 0101 1110 0010 +/// 0 6 0 3 E D F 5 C A F F F 5 E 2 +/// => 0x0603'EDF5'CAFF'F5E2 + +/// Eg2: +/// * @ & % 1x1 1x1 1x1 2x1 011 011 011 010 +/// # # $ % 2x2 ... 2x1 ... 100 111 010 111 +/// # # $ ^ ... ... ... 2x1 111 111 111 010 +/// ~ ~ ^ 0x0 1x2 ... ... 000 001 111 111 +/// @ % % 0x0 1x1 1x2 ... 000 011 001 111 +/// +/// | 19 18 17 16 | 15 14 13 12 | 11 10 09 08 | 07 06 05 04 | 03 02 01 00 +/// 0000 | 111 001 011 000 | 111 111 001 000 | 010 111 111 111 | 111 010 111 100 | 010 011 011 011 +/// 0000 | 1110 0101 1000 | 1111 1100 1000 | 0101 1111 1111 | 1110 1011 1100 | 0100 1101 1011 +/// 0 E 5 8 F C 8 5 F F E B C 4 D B +/// => 0x0E58'FC85'FFEB'C4DB + +#include +#include +#include +#include + +namespace klotski { +namespace codec { + +class CommonCode; +class RawCode { +public: + explicit operator uint64_t() const noexcept; + static bool check(uint64_t raw_code) noexcept; + friend std::ostream& operator<<(std::ostream &out, RawCode self); + + [[nodiscard]] uint64_t unwrap() const noexcept; + [[nodiscard]] CommonCode to_common_code() const noexcept; + +public: + RawCode() = delete; + explicit RawCode(CommonCode common_code) noexcept; + + static RawCode unsafe_create(uint64_t raw_code) noexcept; + static std::optional create(uint64_t raw_code) noexcept; + + static RawCode from_common_code(CommonCode common_code) noexcept; + static std::optional from_common_code(uint64_t common_code) noexcept; + static std::optional from_common_code(std::string &&common_code) noexcept; + static std::optional from_common_code(const std::string &common_code) noexcept; + +private: + uint64_t code_; + static uint64_t compact(uint64_t raw_code) noexcept; + static uint64_t extract(uint64_t common_code) noexcept; + +public: + RawCode to_vertical_mirror() const noexcept; + RawCode to_horizontal_mirror() const noexcept; + + bool is_vertical_mirror() const noexcept; + bool is_horizontal_mirror() const noexcept; + bool is_vertical_mirror(RawCode raw_code) const noexcept; + bool is_horizontal_mirror(RawCode raw_code) const noexcept; + +private: + static inline bool check_vertical_mirror(uint64_t raw_code) noexcept; + static inline bool check_horizontal_mirror(uint64_t raw_code) noexcept; + + static inline uint64_t get_vertical_mirror(uint64_t raw_code) noexcept; + static inline uint64_t get_horizontal_mirror(uint64_t raw_code) noexcept; +}; + +/// RawCode compare implements. +inline bool operator==(uint64_t r1, RawCode r2) noexcept { + return r1 == r2.unwrap(); +} + +inline bool operator==(RawCode r1, RawCode r2) noexcept { + return r1.unwrap() == r2.unwrap(); +} + +/// Get the original 64-bit code. +inline uint64_t RawCode::unwrap() const noexcept { + return code_; +} + +/// Implicit conversion to 64-bit code. +inline RawCode::operator uint64_t() const noexcept { + return code_; +} + +/// RawCode create without any check. +inline RawCode RawCode::unsafe_create(uint64_t raw_code) noexcept { + return *reinterpret_cast(&raw_code); // init directly +} + +/// RawCode create with valid check. +inline std::optional RawCode::create(uint64_t raw_code) noexcept { + if (RawCode::check(raw_code)) { + return RawCode::unsafe_create(raw_code); + } + return std::nullopt; +} + +} // namespace codec +} // namespace klotski diff --git a/src/core/raw_code/sundry.cc b/src/core/raw_code/sundry.cc new file mode 100644 index 0000000..777eb97 --- /dev/null +++ b/src/core/raw_code/sundry.cc @@ -0,0 +1,52 @@ +#include "raw_code.h" +#include "common_code.h" + +namespace klotski { +namespace codec { + +// ----------------------------------------------------------------------------------------- // + +RawCode::RawCode(CommonCode common_code) noexcept { + code_ = RawCode::extract(common_code.unwrap()); +} + +// ----------------------------------------------------------------------------------------- // + +CommonCode RawCode::to_common_code() const noexcept { + return CommonCode::unsafe_create(RawCode::compact(code_)); +} + +// ----------------------------------------------------------------------------------------- // + +RawCode RawCode::from_common_code(CommonCode common_code) noexcept { + return common_code.to_raw_code(); +} + +std::optional RawCode::from_common_code(uint64_t common_code) noexcept { + auto code = CommonCode::create(common_code); + if (!code.has_value()) { + return std::nullopt; // invalid common code + } + return code->to_raw_code(); +} + +std::optional RawCode::from_common_code(std::string &&common_code) noexcept { + auto code = CommonCode::from_string(std::move(common_code)); + if (!code.has_value()) { + return std::nullopt; // invalid common code + } + return code->to_raw_code(); +} + +std::optional RawCode::from_common_code(const std::string &common_code) noexcept { + auto code = CommonCode::from_string(common_code); + if (!code.has_value()) { + return std::nullopt; // invalid common code + } + return code->to_raw_code(); +} + +// ----------------------------------------------------------------------------------------- // + +} // namespace codec +} // namespace klotski diff --git a/src/core/short_code/convert.cc b/src/core/short_code/convert.cc new file mode 100644 index 0000000..54f07a3 --- /dev/null +++ b/src/core/short_code/convert.cc @@ -0,0 +1,137 @@ +#include +#include "common.h" +#include "short_code.h" +#include "common_code.h" +#include "all_cases.h" +#include "offset/all_cases_offset.h" +#include "offset/basic_ranges_offset.h" +#include "offset/range_prefix_offset.h" + +namespace klotski { +namespace codec { + +using klotski::cases::AllCases; +using klotski::cases::BasicRanges; + +/// ------------------------- ShortCode to CommonCode ------------------------- + +//CommonCode ShortCode::to_common_code() const noexcept { +// if (ShortCode::mode() == ShortCode::NORMAL) { +// return CommonCode::unsafe_create(tiny_decode(code_)); // normal mode +// } +// return CommonCode::unsafe_create(fast_decode(code_)); // fast mode +//} + +/// ------------------------- ShortCode to CommonCode ------------------------- + +ShortCode::ShortCode(CommonCode common_code) noexcept { +// if (ShortCode::mode() == ShortCode::NORMAL) { +// code_ = tiny_encode(common_code.unwrap()); // normal mode +// } else { + code_ = fast_encode(common_code.unwrap()); // fast mode +// } +} + +//ShortCode ShortCode::from_common_code(uint64_t common_code) { +// return ShortCode(CommonCode(common_code)); +//} + +ShortCode ShortCode::from_common_code(CommonCode common_code) noexcept { + return ShortCode(std::forward(common_code)); +} + +//ShortCode ShortCode::from_common_code(std::string &&common_code) { +// return ShortCode(std::forward( +// CommonCode(std::forward(common_code)) +// )); +//} + +//ShortCode ShortCode::from_common_code(const CommonCode &common_code) noexcept { +// return ShortCode(common_code); +//} + +//ShortCode ShortCode::from_common_code(const std::string &common_code) { +// return ShortCode(CommonCode(common_code)); +//} + +/// ----------------------------- Basic Functions ----------------------------- + +/// NOTE: ensure that input common code is valid! +uint32_t ShortCode::fast_encode(uint64_t common_code) noexcept { // common code --> short code + auto head = common_code >> 32; // head index + const auto &ranges = AllCases::Instance().Fetch()[head]; // available ranges + auto offset = std::lower_bound(ranges.begin(), ranges.end(), (uint32_t)common_code) - ranges.begin(); + return ALL_CASES_OFFSET[head] + offset; // release short code +} + +/// NOTE: ensure that input short code is valid! +uint64_t ShortCode::fast_decode(uint32_t short_code) noexcept { // short code --> common code + auto offset = std::upper_bound( // using binary search + ALL_CASES_OFFSET, ALL_CASES_OFFSET + 16, short_code + ) - 1; + uint64_t head = offset - ALL_CASES_OFFSET; // head index + return (head << 32) | AllCases::Instance().Fetch()[head][short_code - *offset]; // release common code +} + +/// NOTE: ensure that input common code is valid! +uint32_t ShortCode::tiny_encode(uint64_t common_code) noexcept { // common code --> short code + /// load head index and range prefix +// uint32_t head = common_code >> 32; +// uint32_t prefix = (common_code >> 20) & 0xFFF; + + /// search for target range +// uint32_t offset = 0; +// auto index = BASIC_RANGES_OFFSET[prefix]; +// const auto &basic_ranges = BasicRanges::fetch(); +// auto target = Common::range_reverse((uint32_t)common_code); // target range +// for (; index < basic_ranges.size(); ++index) { +// auto broken_offset = Common::check_range(head, basic_ranges[index]); +// if (!broken_offset) { // valid case +// if (basic_ranges[index] == target) { +// break; // found target range +// } +// ++offset; // record sub offset +// } else { +// auto delta = (uint32_t)1 << (32 - broken_offset * 2); // delta to next possible range +// auto next_min = (Common::range_reverse(basic_ranges[index]) & ~(delta - 1)) + delta; +// while (Common::range_reverse(basic_ranges[++index]) < next_min); // located next range +// --index; +// } +// } +// return ALL_CASES_OFFSET[head] + RANGE_PREFIX_OFFSET[head][prefix] + offset; +} + +/// NOTE: ensure that input short code is valid! +uint64_t ShortCode::tiny_decode(uint32_t short_code) noexcept { // short code --> common code + /// match head index +// auto offset = std::upper_bound( // binary search +// ALL_CASES_OFFSET, ALL_CASES_OFFSET + 16, short_code +// ) - 1; +// auto head = offset - ALL_CASES_OFFSET; // head index +// short_code -= *offset; + + /// match range prefix +// offset = std::upper_bound( // binary search +// RANGE_PREFIX_OFFSET[head], RANGE_PREFIX_OFFSET[head] + 4096, short_code +// ) - 1; +// auto prefix = offset - RANGE_PREFIX_OFFSET[head]; // range prefix +// short_code -= *offset; + + /// search for target range +// auto index = BASIC_RANGES_OFFSET[prefix]; +// const auto &basic_ranges = BasicRanges::fetch(); +// for (; index < basic_ranges.size(); ++index) { // traverse basic ranges +// auto broken_offset = Common::check_range(head, basic_ranges[index]); +// if (!broken_offset && !short_code--) { // valid case -> short code approximate +// break; +// } +// auto delta = (uint32_t)1 << (32 - broken_offset * 2); // delta to next possible range +// auto next_min = (Common::range_reverse(basic_ranges[index]) & ~(delta - 1)) + delta; +// while (Common::range_reverse(basic_ranges[++index]) < next_min); // located next range +// --index; +// } +// return (uint64_t)head << 32 | Common::range_reverse(basic_ranges[index]); +} + +} // namespace codec +} // namespace klotski diff --git a/src/core/short_code/offset/all_cases_offset.h b/src/core/short_code/offset/all_cases_offset.h new file mode 100644 index 0000000..60a35e9 --- /dev/null +++ b/src/core/short_code/offset/all_cases_offset.h @@ -0,0 +1,18 @@ +#pragma once + +/// This is the head index, the offset (0 ~ 29334498) in all cases is obtained +/// according to the `head` (0 ~ 15). In other words, the short code range can be +/// obtained according to the position of the 2x2 block. + +#include + +namespace klotski { + +const uint32_t ALL_CASES_OFFSET[16] = { + 0, 2942906, 5203298, 8146204, + 8146204, 10468254, 12345199, 14667249, + 14667249, 16989299, 18866244, 21188294, + 21188294, 24131200, 26391592, 29334498, +}; + +} // namespace klotski diff --git a/src/core/short_code/offset/basic_ranges_offset.h b/src/core/short_code/offset/basic_ranges_offset.h new file mode 100644 index 0000000..3c7ad66 --- /dev/null +++ b/src/core/short_code/offset/basic_ranges_offset.h @@ -0,0 +1,526 @@ +#pragma once + +/// This is the index for basic ranges, and its position (0 ~ 7311920) in all +/// basic ranges is located according to the first 12-bit (0 ~ 4095) of the +/// 32-bit `range`. + +#include + +namespace klotski { + +const uint32_t BASIC_RANGES_OFFSET[4096] = { + 0, 18272, 24960, 31648, 49920, 56608, 59056, 61504, + 68192, 74880, 77328, 79776, 86464, 104736, 111424, 118112, + 136384, 143072, 145520, 147968, 154656, 157104, 158000, 158896, + 161344, 163792, 164688, 165584, 168032, 174720, 177168, 179616, + 186304, 192992, 195440, 197888, 204576, 207024, 207920, 208816, + 211264, 213712, 214608, 215504, 217952, 224640, 227088, 229536, + 236224, 254496, 261184, 267872, 286144, 292832, 295280, 297728, + 304416, 311104, 313552, 316000, 322688, 340960, 347648, 354336, + 372608, 379296, 381744, 384192, 390880, 393328, 394224, 395120, + 397568, 400016, 400912, 401808, 404256, 410944, 413392, 415840, + 422528, 424976, 425872, 426768, 429216, 430112, 430440, 430768, + 431664, 432560, 432888, 433216, 434112, 436560, 437456, 438352, + 440800, 443248, 444144, 445040, 447488, 448384, 448712, 449040, + 449936, 450832, 451160, 451488, 452384, 454832, 455728, 456624, + 459072, 465760, 468208, 470656, 477344, 479792, 480688, 481584, + 484032, 486480, 487376, 488272, 490720, 497408, 499856, 502304, + 508992, 515680, 518128, 520576, 527264, 529712, 530608, 531504, + 533952, 536400, 537296, 538192, 540640, 547328, 549776, 552224, + 558912, 561360, 562256, 563152, 565600, 566496, 566824, 567152, + 568048, 568944, 569272, 569600, 570496, 572944, 573840, 574736, + 577184, 579632, 580528, 581424, 583872, 584768, 585096, 585424, + 586320, 587216, 587544, 587872, 588768, 591216, 592112, 593008, + 595456, 602144, 604592, 607040, 613728, 616176, 617072, 617968, + 620416, 622864, 623760, 624656, 627104, 633792, 636240, 638688, + 645376, 663648, 670336, 677024, 695296, 701984, 704432, 706880, + 713568, 720256, 722704, 725152, 731840, 750112, 756800, 763488, + 781760, 788448, 790896, 793344, 800032, 802480, 803376, 804272, + 806720, 809168, 810064, 810960, 813408, 820096, 822544, 824992, + 831680, 838368, 840816, 843264, 849952, 852400, 853296, 854192, + 856640, 859088, 859984, 860880, 863328, 870016, 872464, 874912, + 881600, 899872, 906560, 913248, 931520, 938208, 940656, 943104, + 949792, 956480, 958928, 961376, 968064, 986336, 993024, 999712, + 1017984, 1024672, 1027120, 1029568, 1036256, 1038704, 1039600, 1040496, + 1042944, 1045392, 1046288, 1047184, 1049632, 1056320, 1058768, 1061216, + 1067904, 1070352, 1071248, 1072144, 1074592, 1075488, 1075816, 1076144, + 1077040, 1077936, 1078264, 1078592, 1079488, 1081936, 1082832, 1083728, + 1086176, 1088624, 1089520, 1090416, 1092864, 1093760, 1094088, 1094416, + 1095312, 1096208, 1096536, 1096864, 1097760, 1100208, 1101104, 1102000, + 1104448, 1111136, 1113584, 1116032, 1122720, 1125168, 1126064, 1126960, + 1129408, 1131856, 1132752, 1133648, 1136096, 1142784, 1145232, 1147680, + 1154368, 1156816, 1157712, 1158608, 1161056, 1161952, 1162280, 1162608, + 1163504, 1164400, 1164728, 1165056, 1165952, 1168400, 1169296, 1170192, + 1172640, 1173536, 1173864, 1174192, 1175088, 1175416, 1175515, 1175614, + 1175899, 1176227, 1176326, 1176425, 1176710, 1177606, 1177891, 1178176, + 1178987, 1179883, 1180211, 1180539, 1181435, 1181763, 1181862, 1181961, + 1182246, 1182574, 1182673, 1182772, 1183057, 1183953, 1184238, 1184523, + 1185334, 1187782, 1188678, 1189574, 1192022, 1192918, 1193203, 1193488, + 1194299, 1195195, 1195480, 1195765, 1196576, 1199024, 1199835, 1200646, + 1202923, 1205371, 1206267, 1207163, 1209611, 1210507, 1210835, 1211163, + 1212059, 1212955, 1213283, 1213611, 1214507, 1216955, 1217851, 1218747, + 1221195, 1222091, 1222419, 1222747, 1223643, 1223971, 1224070, 1224169, + 1224454, 1224782, 1224881, 1224980, 1225265, 1226161, 1226446, 1226731, + 1227542, 1228438, 1228766, 1229094, 1229990, 1230318, 1230417, 1230516, + 1230801, 1231129, 1231228, 1231327, 1231612, 1232508, 1232793, 1233078, + 1233889, 1236337, 1237233, 1238129, 1240577, 1241473, 1241758, 1242043, + 1242854, 1243750, 1244035, 1244320, 1245131, 1247579, 1248390, 1249201, + 1251478, 1258166, 1260614, 1263062, 1269750, 1272198, 1273094, 1273990, + 1276438, 1278886, 1279782, 1280678, 1283126, 1289814, 1292262, 1294710, + 1301398, 1303846, 1304742, 1305638, 1308086, 1308982, 1309267, 1309552, + 1310363, 1311259, 1311544, 1311829, 1312640, 1315088, 1315899, 1316710, + 1318987, 1321435, 1322331, 1323227, 1325675, 1326571, 1326856, 1327141, + 1327952, 1328848, 1329133, 1329418, 1330229, 1332677, 1333488, 1334299, + 1336576, 1343264, 1345712, 1348160, 1354848, 1357296, 1358107, 1358918, + 1361195, 1363643, 1364454, 1365265, 1367542, 1374230, 1376507, 1378784, + 1385131, 1391819, 1394267, 1396715, 1403403, 1405851, 1406747, 1407643, + 1410091, 1412539, 1413435, 1414331, 1416779, 1423467, 1425915, 1428363, + 1435051, 1437499, 1438395, 1439291, 1441739, 1442635, 1442963, 1443291, + 1444187, 1445083, 1445411, 1445739, 1446635, 1449083, 1449979, 1450875, + 1453323, 1455771, 1456667, 1457563, 1460011, 1460907, 1461235, 1461563, + 1462459, 1463355, 1463683, 1464011, 1464907, 1467355, 1468251, 1469147, + 1471595, 1478283, 1480731, 1483179, 1489867, 1492315, 1493211, 1494107, + 1496555, 1499003, 1499899, 1500795, 1503243, 1509931, 1512379, 1514827, + 1521515, 1523963, 1524859, 1525755, 1528203, 1529099, 1529427, 1529755, + 1530651, 1531547, 1531875, 1532203, 1533099, 1535547, 1536443, 1537339, + 1539787, 1540683, 1541011, 1541339, 1542235, 1542563, 1542662, 1542761, + 1543046, 1543374, 1543473, 1543572, 1543857, 1544753, 1545038, 1545323, + 1546134, 1547030, 1547358, 1547686, 1548582, 1548910, 1549009, 1549108, + 1549393, 1549721, 1549820, 1549919, 1550204, 1551100, 1551385, 1551670, + 1552481, 1554929, 1555825, 1556721, 1559169, 1560065, 1560350, 1560635, + 1561446, 1562342, 1562627, 1562912, 1563723, 1566171, 1566982, 1567793, + 1570070, 1572518, 1573414, 1574310, 1576758, 1577654, 1577982, 1578310, + 1579206, 1580102, 1580430, 1580758, 1581654, 1584102, 1584998, 1585894, + 1588342, 1589238, 1589566, 1589894, 1590790, 1591118, 1591217, 1591316, + 1591601, 1591929, 1592028, 1592127, 1592412, 1593308, 1593593, 1593878, + 1594689, 1595585, 1595913, 1596241, 1597137, 1597465, 1597564, 1597663, + 1597948, 1598276, 1598375, 1598474, 1598759, 1599655, 1599940, 1600225, + 1601036, 1603484, 1604380, 1605276, 1607724, 1608620, 1608905, 1609190, + 1610001, 1610897, 1611182, 1611467, 1612278, 1614726, 1615537, 1616348, + 1618625, 1625313, 1627761, 1630209, 1636897, 1639345, 1640241, 1641137, + 1643585, 1646033, 1646929, 1647825, 1650273, 1656961, 1659409, 1661857, + 1668545, 1670993, 1671889, 1672785, 1675233, 1676129, 1676414, 1676699, + 1677510, 1678406, 1678691, 1678976, 1679787, 1682235, 1683046, 1683857, + 1686134, 1688582, 1689478, 1690374, 1692822, 1693718, 1694003, 1694288, + 1695099, 1695995, 1696280, 1696565, 1697376, 1699824, 1700635, 1701446, + 1703723, 1710411, 1712859, 1715307, 1721995, 1724443, 1725254, 1726065, + 1728342, 1730790, 1731601, 1732412, 1734689, 1741377, 1743654, 1745931, + 1752278, 1770550, 1777238, 1783926, 1802198, 1808886, 1811334, 1813782, + 1820470, 1827158, 1829606, 1832054, 1838742, 1857014, 1863702, 1870390, + 1888662, 1895350, 1897798, 1900246, 1906934, 1909382, 1910278, 1911174, + 1913622, 1916070, 1916966, 1917862, 1920310, 1926998, 1929446, 1931894, + 1938582, 1945270, 1947718, 1950166, 1956854, 1959302, 1960198, 1961094, + 1963542, 1965990, 1966886, 1967782, 1970230, 1976918, 1979366, 1981814, + 1988502, 2006774, 2013462, 2020150, 2038422, 2045110, 2047558, 2050006, + 2056694, 2063382, 2065830, 2068278, 2074966, 2093238, 2099926, 2106614, + 2124886, 2131574, 2134022, 2136470, 2143158, 2145606, 2146502, 2147398, + 2149846, 2152294, 2153190, 2154086, 2156534, 2163222, 2165670, 2168118, + 2174806, 2177254, 2178150, 2179046, 2181494, 2182390, 2182675, 2182960, + 2183771, 2184667, 2184952, 2185237, 2186048, 2188496, 2189307, 2190118, + 2192395, 2194843, 2195739, 2196635, 2199083, 2199979, 2200264, 2200549, + 2201360, 2202256, 2202541, 2202826, 2203637, 2206085, 2206896, 2207707, + 2209984, 2216672, 2219120, 2221568, 2228256, 2230704, 2231515, 2232326, + 2234603, 2237051, 2237862, 2238673, 2240950, 2247638, 2249915, 2252192, + 2258539, 2265227, 2267675, 2270123, 2276811, 2279259, 2280155, 2281051, + 2283499, 2285947, 2286843, 2287739, 2290187, 2296875, 2299323, 2301771, + 2308459, 2310907, 2311803, 2312699, 2315147, 2316043, 2316328, 2316613, + 2317424, 2318320, 2318605, 2318890, 2319701, 2322149, 2322960, 2323771, + 2326048, 2328496, 2329392, 2330288, 2332736, 2333632, 2333917, 2334202, + 2335013, 2335909, 2336194, 2336479, 2337290, 2339738, 2340549, 2341360, + 2343637, 2350325, 2352773, 2355221, 2361909, 2364357, 2365168, 2365979, + 2368256, 2370704, 2371515, 2372326, 2374603, 2381291, 2383568, 2385845, + 2392192, 2410464, 2417152, 2423840, 2442112, 2448800, 2451248, 2453696, + 2460384, 2467072, 2469520, 2471968, 2478656, 2496928, 2503616, 2510304, + 2528576, 2535264, 2537712, 2540160, 2546848, 2549296, 2550107, 2550918, + 2553195, 2555643, 2556454, 2557265, 2559542, 2566230, 2568507, 2570784, + 2577131, 2583819, 2586267, 2588715, 2595403, 2597851, 2598662, 2599473, + 2601750, 2604198, 2605009, 2605820, 2608097, 2614785, 2617062, 2619339, + 2625686, 2643958, 2650646, 2657334, 2675606, 2682294, 2684571, 2686848, + 2693195, 2699883, 2702160, 2704437, 2710784, 2729056, 2735403, 2741750, + 2759339, 2766027, 2768475, 2770923, 2777611, 2780059, 2780955, 2781851, + 2784299, 2786747, 2787643, 2788539, 2790987, 2797675, 2800123, 2802571, + 2809259, 2811707, 2812603, 2813499, 2815947, 2816843, 2817171, 2817499, + 2818395, 2819291, 2819619, 2819947, 2820843, 2823291, 2824187, 2825083, + 2827531, 2829979, 2830875, 2831771, 2834219, 2835115, 2835443, 2835771, + 2836667, 2837563, 2837891, 2838219, 2839115, 2841563, 2842459, 2843355, + 2845803, 2852491, 2854939, 2857387, 2864075, 2866523, 2867419, 2868315, + 2870763, 2873211, 2874107, 2875003, 2877451, 2884139, 2886587, 2889035, + 2895723, 2898171, 2899067, 2899963, 2902411, 2903307, 2903635, 2903963, + 2904859, 2905755, 2906083, 2906411, 2907307, 2909755, 2910651, 2911547, + 2913995, 2914891, 2915219, 2915547, 2916443, 2916771, 2916870, 2916969, + 2917254, 2917582, 2917681, 2917780, 2918065, 2918961, 2919246, 2919531, + 2920342, 2921238, 2921566, 2921894, 2922790, 2923118, 2923217, 2923316, + 2923601, 2923929, 2924028, 2924127, 2924412, 2925308, 2925593, 2925878, + 2926689, 2929137, 2930033, 2930929, 2933377, 2934273, 2934558, 2934843, + 2935654, 2936550, 2936835, 2937120, 2937931, 2940379, 2941190, 2942001, + 2944278, 2946726, 2947622, 2948518, 2950966, 2951862, 2952190, 2952518, + 2953414, 2954310, 2954638, 2954966, 2955862, 2958310, 2959206, 2960102, + 2962550, 2963446, 2963774, 2964102, 2964998, 2965326, 2965425, 2965524, + 2965809, 2966137, 2966236, 2966335, 2966620, 2967516, 2967801, 2968086, + 2968897, 2969793, 2970121, 2970449, 2971345, 2971673, 2971772, 2971871, + 2972156, 2972484, 2972583, 2972682, 2972967, 2973863, 2974148, 2974433, + 2975244, 2977692, 2978588, 2979484, 2981932, 2982828, 2983113, 2983398, + 2984209, 2985105, 2985390, 2985675, 2986486, 2988934, 2989745, 2990556, + 2992833, 2999521, 3001969, 3004417, 3011105, 3013553, 3014449, 3015345, + 3017793, 3020241, 3021137, 3022033, 3024481, 3031169, 3033617, 3036065, + 3042753, 3045201, 3046097, 3046993, 3049441, 3050337, 3050622, 3050907, + 3051718, 3052614, 3052899, 3053184, 3053995, 3056443, 3057254, 3058065, + 3060342, 3062790, 3063686, 3064582, 3067030, 3067926, 3068211, 3068496, + 3069307, 3070203, 3070488, 3070773, 3071584, 3074032, 3074843, 3075654, + 3077931, 3084619, 3087067, 3089515, 3096203, 3098651, 3099462, 3100273, + 3102550, 3104998, 3105809, 3106620, 3108897, 3115585, 3117862, 3120139, + 3126486, 3128934, 3129830, 3130726, 3133174, 3134070, 3134398, 3134726, + 3135622, 3136518, 3136846, 3137174, 3138070, 3140518, 3141414, 3142310, + 3144758, 3145654, 3145982, 3146310, 3147206, 3147534, 3147633, 3147732, + 3148017, 3148345, 3148444, 3148543, 3148828, 3149724, 3150009, 3150294, + 3151105, 3152001, 3152329, 3152657, 3153553, 3153881, 3153980, 3154079, + 3154364, 3154692, 3154791, 3154890, 3155175, 3156071, 3156356, 3156641, + 3157452, 3159900, 3160796, 3161692, 3164140, 3165036, 3165321, 3165606, + 3166417, 3167313, 3167598, 3167883, 3168694, 3171142, 3171953, 3172764, + 3175041, 3175937, 3176265, 3176593, 3177489, 3177817, 3177916, 3178015, + 3178300, 3178628, 3178727, 3178826, 3179111, 3180007, 3180292, 3180577, + 3181388, 3181716, 3181815, 3181914, 3182199, 3182298, 3182315, 3182332, + 3182390, 3182489, 3182506, 3182523, 3182581, 3182866, 3182924, 3182982, + 3183173, 3183501, 3183600, 3183699, 3183984, 3184083, 3184100, 3184117, + 3184175, 3184274, 3184291, 3184308, 3184366, 3184651, 3184709, 3184767, + 3184958, 3185854, 3186139, 3186424, 3187235, 3187520, 3187578, 3187636, + 3187827, 3188112, 3188170, 3188228, 3188419, 3189230, 3189421, 3189612, + 3190204, 3191100, 3191428, 3191756, 3192652, 3192980, 3193079, 3193178, + 3193463, 3193791, 3193890, 3193989, 3194274, 3195170, 3195455, 3195740, + 3196551, 3196879, 3196978, 3197077, 3197362, 3197461, 3197478, 3197495, + 3197553, 3197652, 3197669, 3197686, 3197744, 3198029, 3198087, 3198145, + 3198336, 3198664, 3198763, 3198862, 3199147, 3199246, 3199263, 3199280, + 3199338, 3199437, 3199454, 3199471, 3199529, 3199814, 3199872, 3199930, + 3200121, 3201017, 3201302, 3201587, 3202398, 3202683, 3202741, 3202799, + 3202990, 3203275, 3203333, 3203391, 3203582, 3204393, 3204584, 3204775, + 3205367, 3207815, 3208711, 3209607, 3212055, 3212951, 3213236, 3213521, + 3214332, 3215228, 3215513, 3215798, 3216609, 3219057, 3219868, 3220679, + 3222956, 3223852, 3224137, 3224422, 3225233, 3225518, 3225576, 3225634, + 3225825, 3226110, 3226168, 3226226, 3226417, 3227228, 3227419, 3227610, + 3228202, 3229098, 3229383, 3229668, 3230479, 3230764, 3230822, 3230880, + 3231071, 3231356, 3231414, 3231472, 3231663, 3232474, 3232665, 3232856, + 3233448, 3235896, 3236707, 3237518, 3239795, 3240606, 3240797, 3240988, + 3241580, 3242391, 3242582, 3242773, 3243365, 3245642, 3246234, 3246826, + 3248611, 3251059, 3251955, 3252851, 3255299, 3256195, 3256523, 3256851, + 3257747, 3258643, 3258971, 3259299, 3260195, 3262643, 3263539, 3264435, + 3266883, 3267779, 3268107, 3268435, 3269331, 3269659, 3269758, 3269857, + 3270142, 3270470, 3270569, 3270668, 3270953, 3271849, 3272134, 3272419, + 3273230, 3274126, 3274454, 3274782, 3275678, 3276006, 3276105, 3276204, + 3276489, 3276817, 3276916, 3277015, 3277300, 3278196, 3278481, 3278766, + 3279577, 3282025, 3282921, 3283817, 3286265, 3287161, 3287446, 3287731, + 3288542, 3289438, 3289723, 3290008, 3290819, 3293267, 3294078, 3294889, + 3297166, 3298062, 3298390, 3298718, 3299614, 3299942, 3300041, 3300140, + 3300425, 3300753, 3300852, 3300951, 3301236, 3302132, 3302417, 3302702, + 3303513, 3303841, 3303940, 3304039, 3304324, 3304423, 3304440, 3304457, + 3304515, 3304614, 3304631, 3304648, 3304706, 3304991, 3305049, 3305107, + 3305298, 3305626, 3305725, 3305824, 3306109, 3306208, 3306225, 3306242, + 3306300, 3306399, 3306416, 3306433, 3306491, 3306776, 3306834, 3306892, + 3307083, 3307979, 3308264, 3308549, 3309360, 3309645, 3309703, 3309761, + 3309952, 3310237, 3310295, 3310353, 3310544, 3311355, 3311546, 3311737, + 3312329, 3313225, 3313553, 3313881, 3314777, 3315105, 3315204, 3315303, + 3315588, 3315916, 3316015, 3316114, 3316399, 3317295, 3317580, 3317865, + 3318676, 3319004, 3319103, 3319202, 3319487, 3319586, 3319603, 3319620, + 3319678, 3319777, 3319794, 3319811, 3319869, 3320154, 3320212, 3320270, + 3320461, 3320789, 3320888, 3320987, 3321272, 3321371, 3321388, 3321405, + 3321463, 3321562, 3321579, 3321596, 3321654, 3321939, 3321997, 3322055, + 3322246, 3323142, 3323427, 3323712, 3324523, 3324808, 3324866, 3324924, + 3325115, 3325400, 3325458, 3325516, 3325707, 3326518, 3326709, 3326900, + 3327492, 3329940, 3330836, 3331732, 3334180, 3335076, 3335361, 3335646, + 3336457, 3337353, 3337638, 3337923, 3338734, 3341182, 3341993, 3342804, + 3345081, 3345977, 3346262, 3346547, 3347358, 3347643, 3347701, 3347759, + 3347950, 3348235, 3348293, 3348351, 3348542, 3349353, 3349544, 3349735, + 3350327, 3351223, 3351508, 3351793, 3352604, 3352889, 3352947, 3353005, + 3353196, 3353481, 3353539, 3353597, 3353788, 3354599, 3354790, 3354981, + 3355573, 3358021, 3358832, 3359643, 3361920, 3362731, 3362922, 3363113, + 3363705, 3364516, 3364707, 3364898, 3365490, 3367767, 3368359, 3368951, + 3370736, 3377424, 3379872, 3382320, 3389008, 3391456, 3392352, 3393248, + 3395696, 3398144, 3399040, 3399936, 3402384, 3409072, 3411520, 3413968, + 3420656, 3423104, 3424000, 3424896, 3427344, 3428240, 3428525, 3428810, + 3429621, 3430517, 3430802, 3431087, 3431898, 3434346, 3435157, 3435968, + 3438245, 3440693, 3441589, 3442485, 3444933, 3445829, 3446114, 3446399, + 3447210, 3448106, 3448391, 3448676, 3449487, 3451935, 3452746, 3453557, + 3455834, 3462522, 3464970, 3467418, 3474106, 3476554, 3477365, 3478176, + 3480453, 3482901, 3483712, 3484523, 3486800, 3493488, 3495765, 3498042, + 3504389, 3506837, 3507733, 3508629, 3511077, 3511973, 3512258, 3512543, + 3513354, 3514250, 3514535, 3514820, 3515631, 3518079, 3518890, 3519701, + 3521978, 3522874, 3523159, 3523444, 3524255, 3524540, 3524598, 3524656, + 3524847, 3525132, 3525190, 3525248, 3525439, 3526250, 3526441, 3526632, + 3527224, 3528120, 3528405, 3528690, 3529501, 3529786, 3529844, 3529902, + 3530093, 3530378, 3530436, 3530494, 3530685, 3531496, 3531687, 3531878, + 3532470, 3534918, 3535729, 3536540, 3538817, 3539628, 3539819, 3540010, + 3540602, 3541413, 3541604, 3541795, 3542387, 3544664, 3545256, 3545848, + 3547633, 3550081, 3550977, 3551873, 3554321, 3555217, 3555502, 3555787, + 3556598, 3557494, 3557779, 3558064, 3558875, 3561323, 3562134, 3562945, + 3565222, 3566118, 3566403, 3566688, 3567499, 3567784, 3567842, 3567900, + 3568091, 3568376, 3568434, 3568492, 3568683, 3569494, 3569685, 3569876, + 3570468, 3571364, 3571649, 3571934, 3572745, 3573030, 3573088, 3573146, + 3573337, 3573622, 3573680, 3573738, 3573929, 3574740, 3574931, 3575122, + 3575714, 3578162, 3578973, 3579784, 3582061, 3582872, 3583063, 3583254, + 3583846, 3584657, 3584848, 3585039, 3585631, 3587908, 3588500, 3589092, + 3590877, 3597565, 3600013, 3602461, 3609149, 3611597, 3612408, 3613219, + 3615496, 3617944, 3618755, 3619566, 3621843, 3628531, 3630808, 3633085, + 3639432, 3641880, 3642691, 3643502, 3645779, 3646590, 3646781, 3646972, + 3647564, 3648375, 3648566, 3648757, 3649349, 3651626, 3652218, 3652810, + 3654595, 3657043, 3657854, 3658665, 3660942, 3661753, 3661944, 3662135, + 3662727, 3663538, 3663729, 3663920, 3664512, 3666789, 3667381, 3667973, + 3669758, 3676446, 3678723, 3681000, 3687347, 3689624, 3690216, 3690808, + 3692593, 3694870, 3695462, 3696054, 3697839, 3704186, 3705971, 3707756, + 3713002, 3719690, 3722138, 3724586, 3731274, 3733722, 3734618, 3735514, + 3737962, 3740410, 3741306, 3742202, 3744650, 3751338, 3753786, 3756234, + 3762922, 3765370, 3766266, 3767162, 3769610, 3770506, 3770834, 3771162, + 3772058, 3772954, 3773282, 3773610, 3774506, 3776954, 3777850, 3778746, + 3781194, 3783642, 3784538, 3785434, 3787882, 3788778, 3789106, 3789434, + 3790330, 3791226, 3791554, 3791882, 3792778, 3795226, 3796122, 3797018, + 3799466, 3806154, 3808602, 3811050, 3817738, 3820186, 3821082, 3821978, + 3824426, 3826874, 3827770, 3828666, 3831114, 3837802, 3840250, 3842698, + 3849386, 3851834, 3852730, 3853626, 3856074, 3856970, 3857298, 3857626, + 3858522, 3859418, 3859746, 3860074, 3860970, 3863418, 3864314, 3865210, + 3867658, 3868554, 3868882, 3869210, 3870106, 3870434, 3870533, 3870632, + 3870917, 3871245, 3871344, 3871443, 3871728, 3872624, 3872909, 3873194, + 3874005, 3874901, 3875229, 3875557, 3876453, 3876781, 3876880, 3876979, + 3877264, 3877592, 3877691, 3877790, 3878075, 3878971, 3879256, 3879541, + 3880352, 3882800, 3883696, 3884592, 3887040, 3887936, 3888221, 3888506, + 3889317, 3890213, 3890498, 3890783, 3891594, 3894042, 3894853, 3895664, + 3897941, 3900389, 3901285, 3902181, 3904629, 3905525, 3905853, 3906181, + 3907077, 3907973, 3908301, 3908629, 3909525, 3911973, 3912869, 3913765, + 3916213, 3917109, 3917437, 3917765, 3918661, 3918989, 3919088, 3919187, + 3919472, 3919800, 3919899, 3919998, 3920283, 3921179, 3921464, 3921749, + 3922560, 3923456, 3923784, 3924112, 3925008, 3925336, 3925435, 3925534, + 3925819, 3926147, 3926246, 3926345, 3926630, 3927526, 3927811, 3928096, + 3928907, 3931355, 3932251, 3933147, 3935595, 3936491, 3936776, 3937061, + 3937872, 3938768, 3939053, 3939338, 3940149, 3942597, 3943408, 3944219, + 3946496, 3953184, 3955632, 3958080, 3964768, 3967216, 3968112, 3969008, + 3971456, 3973904, 3974800, 3975696, 3978144, 3984832, 3987280, 3989728, + 3996416, 3998864, 3999760, 4000656, 4003104, 4004000, 4004285, 4004570, + 4005381, 4006277, 4006562, 4006847, 4007658, 4010106, 4010917, 4011728, + 4014005, 4016453, 4017349, 4018245, 4020693, 4021589, 4021874, 4022159, + 4022970, 4023866, 4024151, 4024436, 4025247, 4027695, 4028506, 4029317, + 4031594, 4038282, 4040730, 4043178, 4049866, 4052314, 4053125, 4053936, + 4056213, 4058661, 4059472, 4060283, 4062560, 4069248, 4071525, 4073802, + 4080149, 4082597, 4083493, 4084389, 4086837, 4087733, 4088061, 4088389, + 4089285, 4090181, 4090509, 4090837, 4091733, 4094181, 4095077, 4095973, + 4098421, 4099317, 4099645, 4099973, 4100869, 4101197, 4101296, 4101395, + 4101680, 4102008, 4102107, 4102206, 4102491, 4103387, 4103672, 4103957, + 4104768, 4105664, 4105992, 4106320, 4107216, 4107544, 4107643, 4107742, + 4108027, 4108355, 4108454, 4108553, 4108838, 4109734, 4110019, 4110304, + 4111115, 4113563, 4114459, 4115355, 4117803, 4118699, 4118984, 4119269, + 4120080, 4120976, 4121261, 4121546, 4122357, 4124805, 4125616, 4126427, + 4128704, 4129600, 4129928, 4130256, 4131152, 4131480, 4131579, 4131678, + 4131963, 4132291, 4132390, 4132489, 4132774, 4133670, 4133955, 4134240, + 4135051, 4135379, 4135478, 4135577, 4135862, 4135961, 4135978, 4135995, + 4136053, 4136152, 4136169, 4136186, 4136244, 4136529, 4136587, 4136645, + 4136836, 4137164, 4137263, 4137362, 4137647, 4137746, 4137763, 4137780, + 4137838, 4137937, 4137954, 4137971, 4138029, 4138314, 4138372, 4138430, + 4138621, 4139517, 4139802, 4140087, 4140898, 4141183, 4141241, 4141299, + 4141490, 4141775, 4141833, 4141891, 4142082, 4142893, 4143084, 4143275, + 4143867, 4144763, 4145091, 4145419, 4146315, 4146643, 4146742, 4146841, + 4147126, 4147454, 4147553, 4147652, 4147937, 4148833, 4149118, 4149403, + 4150214, 4150542, 4150641, 4150740, 4151025, 4151124, 4151141, 4151158, + 4151216, 4151315, 4151332, 4151349, 4151407, 4151692, 4151750, 4151808, + 4151999, 4152327, 4152426, 4152525, 4152810, 4152909, 4152926, 4152943, + 4153001, 4153100, 4153117, 4153134, 4153192, 4153477, 4153535, 4153593, + 4153784, 4154680, 4154965, 4155250, 4156061, 4156346, 4156404, 4156462, + 4156653, 4156938, 4156996, 4157054, 4157245, 4158056, 4158247, 4158438, + 4159030, 4161478, 4162374, 4163270, 4165718, 4166614, 4166899, 4167184, + 4167995, 4168891, 4169176, 4169461, 4170272, 4172720, 4173531, 4174342, + 4176619, 4177515, 4177800, 4178085, 4178896, 4179181, 4179239, 4179297, + 4179488, 4179773, 4179831, 4179889, 4180080, 4180891, 4181082, 4181273, + 4181865, 4182761, 4183046, 4183331, 4184142, 4184427, 4184485, 4184543, + 4184734, 4185019, 4185077, 4185135, 4185326, 4186137, 4186328, 4186519, + 4187111, 4189559, 4190370, 4191181, 4193458, 4194269, 4194460, 4194651, + 4195243, 4196054, 4196245, 4196436, 4197028, 4199305, 4199897, 4200489, + 4202274, 4204722, 4205618, 4206514, 4208962, 4209858, 4210186, 4210514, + 4211410, 4212306, 4212634, 4212962, 4213858, 4216306, 4217202, 4218098, + 4220546, 4221442, 4221770, 4222098, 4222994, 4223322, 4223421, 4223520, + 4223805, 4224133, 4224232, 4224331, 4224616, 4225512, 4225797, 4226082, + 4226893, 4227789, 4228117, 4228445, 4229341, 4229669, 4229768, 4229867, + 4230152, 4230480, 4230579, 4230678, 4230963, 4231859, 4232144, 4232429, + 4233240, 4235688, 4236584, 4237480, 4239928, 4240824, 4241109, 4241394, + 4242205, 4243101, 4243386, 4243671, 4244482, 4246930, 4247741, 4248552, + 4250829, 4251725, 4252053, 4252381, 4253277, 4253605, 4253704, 4253803, + 4254088, 4254416, 4254515, 4254614, 4254899, 4255795, 4256080, 4256365, + 4257176, 4257504, 4257603, 4257702, 4257987, 4258086, 4258103, 4258120, + 4258178, 4258277, 4258294, 4258311, 4258369, 4258654, 4258712, 4258770, + 4258961, 4259289, 4259388, 4259487, 4259772, 4259871, 4259888, 4259905, + 4259963, 4260062, 4260079, 4260096, 4260154, 4260439, 4260497, 4260555, + 4260746, 4261642, 4261927, 4262212, 4263023, 4263308, 4263366, 4263424, + 4263615, 4263900, 4263958, 4264016, 4264207, 4265018, 4265209, 4265400, + 4265992, 4266888, 4267216, 4267544, 4268440, 4268768, 4268867, 4268966, + 4269251, 4269579, 4269678, 4269777, 4270062, 4270958, 4271243, 4271528, + 4272339, 4272667, 4272766, 4272865, 4273150, 4273249, 4273266, 4273283, + 4273341, 4273440, 4273457, 4273474, 4273532, 4273817, 4273875, 4273933, + 4274124, 4274452, 4274551, 4274650, 4274935, 4275034, 4275051, 4275068, + 4275126, 4275225, 4275242, 4275259, 4275317, 4275602, 4275660, 4275718, + 4275909, 4276805, 4277090, 4277375, 4278186, 4278471, 4278529, 4278587, + 4278778, 4279063, 4279121, 4279179, 4279370, 4280181, 4280372, 4280563, + 4281155, 4283603, 4284499, 4285395, 4287843, 4288739, 4289024, 4289309, + 4290120, 4291016, 4291301, 4291586, 4292397, 4294845, 4295656, 4296467, + 4298744, 4299640, 4299925, 4300210, 4301021, 4301306, 4301364, 4301422, + 4301613, 4301898, 4301956, 4302014, 4302205, 4303016, 4303207, 4303398, + 4303990, 4304886, 4305171, 4305456, 4306267, 4306552, 4306610, 4306668, + 4306859, 4307144, 4307202, 4307260, 4307451, 4308262, 4308453, 4308644, + 4309236, 4311684, 4312495, 4313306, 4315583, 4316394, 4316585, 4316776, + 4317368, 4318179, 4318370, 4318561, 4319153, 4321430, 4322022, 4322614, + 4324399, 4331087, 4333535, 4335983, 4342671, 4345119, 4346015, 4346911, + 4349359, 4351807, 4352703, 4353599, 4356047, 4362735, 4365183, 4367631, + 4374319, 4376767, 4377663, 4378559, 4381007, 4381903, 4382188, 4382473, + 4383284, 4384180, 4384465, 4384750, 4385561, 4388009, 4388820, 4389631, + 4391908, 4394356, 4395252, 4396148, 4398596, 4399492, 4399777, 4400062, + 4400873, 4401769, 4402054, 4402339, 4403150, 4405598, 4406409, 4407220, + 4409497, 4416185, 4418633, 4421081, 4427769, 4430217, 4431028, 4431839, + 4434116, 4436564, 4437375, 4438186, 4440463, 4447151, 4449428, 4451705, + 4458052, 4460500, 4461396, 4462292, 4464740, 4465636, 4465921, 4466206, + 4467017, 4467913, 4468198, 4468483, 4469294, 4471742, 4472553, 4473364, + 4475641, 4476537, 4476822, 4477107, 4477918, 4478203, 4478261, 4478319, + 4478510, 4478795, 4478853, 4478911, 4479102, 4479913, 4480104, 4480295, + 4480887, 4481783, 4482068, 4482353, 4483164, 4483449, 4483507, 4483565, + 4483756, 4484041, 4484099, 4484157, 4484348, 4485159, 4485350, 4485541, + 4486133, 4488581, 4489392, 4490203, 4492480, 4493291, 4493482, 4493673, + 4494265, 4495076, 4495267, 4495458, 4496050, 4498327, 4498919, 4499511, + 4501296, 4503744, 4504640, 4505536, 4507984, 4508880, 4509165, 4509450, + 4510261, 4511157, 4511442, 4511727, 4512538, 4514986, 4515797, 4516608, + 4518885, 4519781, 4520066, 4520351, 4521162, 4521447, 4521505, 4521563, + 4521754, 4522039, 4522097, 4522155, 4522346, 4523157, 4523348, 4523539, + 4524131, 4525027, 4525312, 4525597, 4526408, 4526693, 4526751, 4526809, + 4527000, 4527285, 4527343, 4527401, 4527592, 4528403, 4528594, 4528785, + 4529377, 4531825, 4532636, 4533447, 4535724, 4536535, 4536726, 4536917, + 4537509, 4538320, 4538511, 4538702, 4539294, 4541571, 4542163, 4542755, + 4544540, 4551228, 4553676, 4556124, 4562812, 4565260, 4566071, 4566882, + 4569159, 4571607, 4572418, 4573229, 4575506, 4582194, 4584471, 4586748, + 4593095, 4595543, 4596354, 4597165, 4599442, 4600253, 4600444, 4600635, + 4601227, 4602038, 4602229, 4602420, 4603012, 4605289, 4605881, 4606473, + 4608258, 4610706, 4611517, 4612328, 4614605, 4615416, 4615607, 4615798, + 4616390, 4617201, 4617392, 4617583, 4618175, 4620452, 4621044, 4621636, + 4623421, 4630109, 4632386, 4634663, 4641010, 4643287, 4643879, 4644471, + 4646256, 4648533, 4649125, 4649717, 4651502, 4657849, 4659634, 4661419, + 4666665, 4684937, 4691625, 4698313, 4716585, 4723273, 4725721, 4728169, + 4734857, 4741545, 4743993, 4746441, 4753129, 4771401, 4778089, 4784777, + 4803049, 4809737, 4812185, 4814633, 4821321, 4823769, 4824665, 4825561, + 4828009, 4830457, 4831353, 4832249, 4834697, 4841385, 4843833, 4846281, + 4852969, 4859657, 4862105, 4864553, 4871241, 4873689, 4874585, 4875481, + 4877929, 4880377, 4881273, 4882169, 4884617, 4891305, 4893753, 4896201, + 4902889, 4921161, 4927849, 4934537, 4952809, 4959497, 4961945, 4964393, + 4971081, 4977769, 4980217, 4982665, 4989353, 5007625, 5014313, 5021001, + 5039273, 5045961, 5048409, 5050857, 5057545, 5059993, 5060889, 5061785, + 5064233, 5066681, 5067577, 5068473, 5070921, 5077609, 5080057, 5082505, + 5089193, 5091641, 5092537, 5093433, 5095881, 5096777, 5097062, 5097347, + 5098158, 5099054, 5099339, 5099624, 5100435, 5102883, 5103694, 5104505, + 5106782, 5109230, 5110126, 5111022, 5113470, 5114366, 5114651, 5114936, + 5115747, 5116643, 5116928, 5117213, 5118024, 5120472, 5121283, 5122094, + 5124371, 5131059, 5133507, 5135955, 5142643, 5145091, 5145902, 5146713, + 5148990, 5151438, 5152249, 5153060, 5155337, 5162025, 5164302, 5166579, + 5172926, 5179614, 5182062, 5184510, 5191198, 5193646, 5194542, 5195438, + 5197886, 5200334, 5201230, 5202126, 5204574, 5211262, 5213710, 5216158, + 5222846, 5225294, 5226190, 5227086, 5229534, 5230430, 5230715, 5231000, + 5231811, 5232707, 5232992, 5233277, 5234088, 5236536, 5237347, 5238158, + 5240435, 5242883, 5243779, 5244675, 5247123, 5248019, 5248304, 5248589, + 5249400, 5250296, 5250581, 5250866, 5251677, 5254125, 5254936, 5255747, + 5258024, 5264712, 5267160, 5269608, 5276296, 5278744, 5279555, 5280366, + 5282643, 5285091, 5285902, 5286713, 5288990, 5295678, 5297955, 5300232, + 5306579, 5324851, 5331539, 5338227, 5356499, 5363187, 5365635, 5368083, + 5374771, 5381459, 5383907, 5386355, 5393043, 5411315, 5418003, 5424691, + 5442963, 5449651, 5452099, 5454547, 5461235, 5463683, 5464494, 5465305, + 5467582, 5470030, 5470841, 5471652, 5473929, 5480617, 5482894, 5485171, + 5491518, 5498206, 5500654, 5503102, 5509790, 5512238, 5513049, 5513860, + 5516137, 5518585, 5519396, 5520207, 5522484, 5529172, 5531449, 5533726, + 5540073, 5558345, 5565033, 5571721, 5589993, 5596681, 5598958, 5601235, + 5607582, 5614270, 5616547, 5618824, 5625171, 5643443, 5649790, 5656137, + 5673726, 5680414, 5682862, 5685310, 5691998, 5694446, 5695342, 5696238, + 5698686, 5701134, 5702030, 5702926, 5705374, 5712062, 5714510, 5716958, + 5723646, 5726094, 5726990, 5727886, 5730334, 5731230, 5731515, 5731800, + 5732611, 5733507, 5733792, 5734077, 5734888, 5737336, 5738147, 5738958, + 5741235, 5743683, 5744579, 5745475, 5747923, 5748819, 5749104, 5749389, + 5750200, 5751096, 5751381, 5751666, 5752477, 5754925, 5755736, 5756547, + 5758824, 5765512, 5767960, 5770408, 5777096, 5779544, 5780355, 5781166, + 5783443, 5785891, 5786702, 5787513, 5789790, 5796478, 5798755, 5801032, + 5807379, 5809827, 5810723, 5811619, 5814067, 5814963, 5815248, 5815533, + 5816344, 5817240, 5817525, 5817810, 5818621, 5821069, 5821880, 5822691, + 5824968, 5825864, 5826149, 5826434, 5827245, 5827530, 5827588, 5827646, + 5827837, 5828122, 5828180, 5828238, 5828429, 5829240, 5829431, 5829622, + 5830214, 5831110, 5831395, 5831680, 5832491, 5832776, 5832834, 5832892, + 5833083, 5833368, 5833426, 5833484, 5833675, 5834486, 5834677, 5834868, + 5835460, 5837908, 5838719, 5839530, 5841807, 5842618, 5842809, 5843000, + 5843592, 5844403, 5844594, 5844785, 5845377, 5847654, 5848246, 5848838, + 5850623, 5853071, 5853967, 5854863, 5857311, 5858207, 5858492, 5858777, + 5859588, 5860484, 5860769, 5861054, 5861865, 5864313, 5865124, 5865935, + 5868212, 5869108, 5869393, 5869678, 5870489, 5870774, 5870832, 5870890, + 5871081, 5871366, 5871424, 5871482, 5871673, 5872484, 5872675, 5872866, + 5873458, 5874354, 5874639, 5874924, 5875735, 5876020, 5876078, 5876136, + 5876327, 5876612, 5876670, 5876728, 5876919, 5877730, 5877921, 5878112, + 5878704, 5881152, 5881963, 5882774, 5885051, 5885862, 5886053, 5886244, + 5886836, 5887647, 5887838, 5888029, 5888621, 5890898, 5891490, 5892082, + 5893867, 5900555, 5903003, 5905451, 5912139, 5914587, 5915398, 5916209, + 5918486, 5920934, 5921745, 5922556, 5924833, 5931521, 5933798, 5936075, + 5942422, 5944870, 5945681, 5946492, 5948769, 5949580, 5949771, 5949962, + 5950554, 5951365, 5951556, 5951747, 5952339, 5954616, 5955208, 5955800, + 5957585, 5960033, 5960844, 5961655, 5963932, 5964743, 5964934, 5965125, + 5965717, 5966528, 5966719, 5966910, 5967502, 5969779, 5970371, 5970963, + 5972748, 5979436, 5981713, 5983990, 5990337, 5992614, 5993206, 5993798, + 5995583, 5997860, 5998452, 5999044, 6000829, 6007176, 6008961, 6010746, + 6015992, 6022680, 6025128, 6027576, 6034264, 6036712, 6037608, 6038504, + 6040952, 6043400, 6044296, 6045192, 6047640, 6054328, 6056776, 6059224, + 6065912, 6068360, 6069256, 6070152, 6072600, 6073496, 6073781, 6074066, + 6074877, 6075773, 6076058, 6076343, 6077154, 6079602, 6080413, 6081224, + 6083501, 6085949, 6086845, 6087741, 6090189, 6091085, 6091370, 6091655, + 6092466, 6093362, 6093647, 6093932, 6094743, 6097191, 6098002, 6098813, + 6101090, 6107778, 6110226, 6112674, 6119362, 6121810, 6122621, 6123432, + 6125709, 6128157, 6128968, 6129779, 6132056, 6138744, 6141021, 6143298, + 6149645, 6152093, 6152989, 6153885, 6156333, 6157229, 6157514, 6157799, + 6158610, 6159506, 6159791, 6160076, 6160887, 6163335, 6164146, 6164957, + 6167234, 6168130, 6168415, 6168700, 6169511, 6169796, 6169854, 6169912, + 6170103, 6170388, 6170446, 6170504, 6170695, 6171506, 6171697, 6171888, + 6172480, 6173376, 6173661, 6173946, 6174757, 6175042, 6175100, 6175158, + 6175349, 6175634, 6175692, 6175750, 6175941, 6176752, 6176943, 6177134, + 6177726, 6180174, 6180985, 6181796, 6184073, 6184884, 6185075, 6185266, + 6185858, 6186669, 6186860, 6187051, 6187643, 6189920, 6190512, 6191104, + 6192889, 6195337, 6196233, 6197129, 6199577, 6200473, 6200758, 6201043, + 6201854, 6202750, 6203035, 6203320, 6204131, 6206579, 6207390, 6208201, + 6210478, 6211374, 6211659, 6211944, 6212755, 6213040, 6213098, 6213156, + 6213347, 6213632, 6213690, 6213748, 6213939, 6214750, 6214941, 6215132, + 6215724, 6216620, 6216905, 6217190, 6218001, 6218286, 6218344, 6218402, + 6218593, 6218878, 6218936, 6218994, 6219185, 6219996, 6220187, 6220378, + 6220970, 6223418, 6224229, 6225040, 6227317, 6228128, 6228319, 6228510, + 6229102, 6229913, 6230104, 6230295, 6230887, 6233164, 6233756, 6234348, + 6236133, 6242821, 6245269, 6247717, 6254405, 6256853, 6257664, 6258475, + 6260752, 6263200, 6264011, 6264822, 6267099, 6273787, 6276064, 6278341, + 6284688, 6287136, 6287947, 6288758, 6291035, 6291846, 6292037, 6292228, + 6292820, 6293631, 6293822, 6294013, 6294605, 6296882, 6297474, 6298066, + 6299851, 6302299, 6303110, 6303921, 6306198, 6307009, 6307200, 6307391, + 6307983, 6308794, 6308985, 6309176, 6309768, 6312045, 6312637, 6313229, + 6315014, 6321702, 6323979, 6326256, 6332603, 6334880, 6335472, 6336064, + 6337849, 6340126, 6340718, 6341310, 6343095, 6349442, 6351227, 6353012, + 6358258, 6376530, 6383218, 6389906, 6408178, 6414866, 6417314, 6419762, + 6426450, 6433138, 6435586, 6438034, 6444722, 6462994, 6469682, 6476370, + 6494642, 6501330, 6503778, 6506226, 6512914, 6515362, 6516173, 6516984, + 6519261, 6521709, 6522520, 6523331, 6525608, 6532296, 6534573, 6536850, + 6543197, 6549885, 6552333, 6554781, 6561469, 6563917, 6564728, 6565539, + 6567816, 6570264, 6571075, 6571886, 6574163, 6580851, 6583128, 6585405, + 6591752, 6610024, 6616712, 6623400, 6641672, 6648360, 6650637, 6652914, + 6659261, 6665949, 6668226, 6670503, 6676850, 6695122, 6701469, 6707816, + 6725405, 6732093, 6734541, 6736989, 6743677, 6746125, 6746936, 6747747, + 6750024, 6752472, 6753283, 6754094, 6756371, 6763059, 6765336, 6767613, + 6773960, 6776408, 6777219, 6778030, 6780307, 6781118, 6781309, 6781500, + 6782092, 6782903, 6783094, 6783285, 6783877, 6786154, 6786746, 6787338, + 6789123, 6791571, 6792382, 6793193, 6795470, 6796281, 6796472, 6796663, + 6797255, 6798066, 6798257, 6798448, 6799040, 6801317, 6801909, 6802501, + 6804286, 6810974, 6813251, 6815528, 6821875, 6824152, 6824744, 6825336, + 6827121, 6829398, 6829990, 6830582, 6832367, 6838714, 6840499, 6842284, + 6847530, 6854218, 6856666, 6859114, 6865802, 6868250, 6869061, 6869872, + 6872149, 6874597, 6875408, 6876219, 6878496, 6885184, 6887461, 6889738, + 6896085, 6898533, 6899344, 6900155, 6902432, 6903243, 6903434, 6903625, + 6904217, 6905028, 6905219, 6905410, 6906002, 6908279, 6908871, 6909463, + 6911248, 6913696, 6914507, 6915318, 6917595, 6918406, 6918597, 6918788, + 6919380, 6920191, 6920382, 6920573, 6921165, 6923442, 6924034, 6924626, + 6926411, 6933099, 6935376, 6937653, 6944000, 6946277, 6946869, 6947461, + 6949246, 6951523, 6952115, 6952707, 6954492, 6960839, 6962624, 6964409, + 6969655, 6987927, 6994615, 7001303, 7019575, 7026263, 7028540, 7030817, + 7037164, 7043852, 7046129, 7048406, 7054753, 7073025, 7079372, 7085719, + 7103308, 7109996, 7112273, 7114550, 7120897, 7123174, 7123766, 7124358, + 7126143, 7128420, 7129012, 7129604, 7131389, 7137736, 7139521, 7141306, + 7146552, 7153240, 7155517, 7157794, 7164141, 7166418, 7167010, 7167602, + 7169387, 7171664, 7172256, 7172848, 7174633, 7180980, 7182765, 7184550, + 7189796, 7208068, 7214415, 7220762, 7238351, 7244698, 7246483, 7248268, + 7253514, 7259861, 7261646, 7263431, 7268677, 7286266, 7291512, 7296758, +}; + +} // namespace klotski diff --git a/src/core/short_code/offset/range_prefix/offset_0x0.inc b/src/core/short_code/offset/range_prefix/offset_0x0.inc new file mode 100644 index 0000000..3ad904b --- /dev/null +++ b/src/core/short_code/offset/range_prefix/offset_0x0.inc @@ -0,0 +1,256 @@ + 0, 9527, 12991, 16067, 25594, 29058, 30527, 31657, 35121, 38525, 39766, 41041, 44445, 53972, 57436, 60512, + 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, + 70039, 73445, 74914, 76019, 79425, 80894, 80894, 81362, 82831, 84047, 84573, 85031, 86247, 89653, 91122, 92227, + 95633, 105160, 108624, 111700, 121227, 124691, 126160, 127290, 130754, 134158, 135399, 136674, 140078, 149605, 153069, 156145, + 165672, 169136, 170605, 171735, 175199, 176668, 176668, 177194, 178663, 179763, 180231, 180639, 181739, 185203, 186672, 187802, + 191266, 192735, 192735, 193261, 194730, 195256, 195450, 195673, 196199, 196667, 196667, 196861, 197329, 198798, 198798, 199324, + 200793, 202034, 202560, 202956, 204197, 204723, 204723, 204912, 205438, 205894, 206088, 206257, 206713, 207954, 208480, 208876, + 210117, 213581, 215050, 216180, 219644, 221113, 221113, 221639, 223108, 224208, 224676, 225084, 226184, 229648, 231117, 232247, + 235711, 239175, 239175, 240275, 243739, 245208, 245208, 245734, 247203, 248444, 248444, 248900, 250141, 253605, 253605, 254705, + 258169, 258169, 258169, 258169, 258169, 258169, 258169, 258169, 258169, 258169, 258169, 258169, 258169, 258169, 258169, 258169, + 258169, 259638, 259638, 260106, 261575, 262101, 262295, 262518, 263044, 263570, 263570, 263764, 264290, 265759, 265759, 266227, + 267696, 271160, 271160, 272260, 275724, 277193, 277193, 277719, 279188, 280429, 280429, 280885, 282126, 285590, 285590, 286690, + 290154, 299681, 303145, 306221, 315748, 319212, 320681, 321811, 325275, 328679, 329920, 331195, 334599, 344126, 347590, 350666, + 360193, 360193, 360193, 360193, 360193, 360193, 360193, 360193, 360193, 360193, 360193, 360193, 360193, 360193, 360193, 360193, + 360193, 363599, 365068, 366173, 369579, 371048, 371048, 371516, 372985, 374201, 374727, 375185, 376401, 379807, 381276, 382381, + 385787, 395314, 398778, 401854, 411381, 414845, 416314, 417444, 420908, 424312, 425553, 426828, 430232, 439759, 443223, 446299, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 459290, 460759, 461889, 465353, 466822, 466822, 467348, 468817, 469917, 470385, 470793, 471893, 475357, 476826, 477956, + 481420, 482889, 482889, 483415, 484884, 485410, 485604, 485827, 486353, 486821, 486821, 487015, 487483, 488952, 488952, 489478, + 490947, 492188, 492714, 493110, 494351, 494877, 494877, 495066, 495592, 496048, 496242, 496411, 496867, 498108, 498634, 499030, + 500271, 503735, 505204, 506334, 509798, 511267, 511267, 511793, 513262, 514362, 514830, 515238, 516338, 519802, 521271, 522401, + 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, + 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, + 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, + 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, + 525865, 527334, 527334, 527860, 529329, 529329, 529329, 529329, 529329, 529797, 529797, 529961, 530429, 531898, 531898, 532424, + 533893, 534419, 534613, 534836, 535362, 535362, 535362, 535362, 535362, 535551, 535612, 535682, 535856, 536382, 536559, 536760, + 537254, 537780, 537780, 537969, 538495, 538495, 538495, 538495, 538495, 538689, 538689, 538750, 538927, 539453, 539453, 539627, + 540121, 541590, 541590, 542116, 543585, 543585, 543585, 543585, 543585, 544053, 544053, 544206, 544647, 546116, 546116, 546610, + 548008, 551472, 552941, 554071, 557535, 559004, 559004, 559530, 560999, 562099, 562567, 562975, 564075, 567539, 569008, 570138, + 573602, 575071, 575071, 575597, 577066, 577592, 577769, 577970, 578464, 578932, 578932, 579109, 579550, 581019, 581019, 581513, + 582911, 584152, 584678, 585074, 586315, 586841, 586841, 587015, 587509, 587965, 588142, 588298, 588730, 589971, 590465, 590843, + 592037, 595501, 596970, 598100, 601564, 603033, 603033, 603527, 604925, 606025, 606466, 606853, 607915, 611379, 612777, 613863, + 617224, 626751, 630215, 633291, 642818, 646282, 647751, 648881, 652345, 655749, 656990, 658265, 661669, 671196, 674660, 677736, + 687263, 687263, 687263, 687263, 687263, 687263, 687263, 687263, 687263, 687263, 687263, 687263, 687263, 687263, 687263, 687263, + 687263, 690669, 692138, 693243, 696649, 698118, 698118, 698586, 700055, 701271, 701797, 702255, 703471, 706877, 708346, 709451, + 712857, 722384, 725848, 728924, 738451, 741915, 743384, 744514, 747978, 751382, 752623, 753898, 757302, 766829, 770293, 773369, + 782896, 786360, 787829, 788959, 792423, 793892, 793892, 794418, 795887, 796987, 797455, 797863, 798963, 802427, 803896, 805026, + 808490, 809959, 809959, 810485, 811954, 812480, 812657, 812858, 813352, 813820, 813820, 813997, 814438, 815907, 815907, 816401, + 817799, 819040, 819566, 819962, 821203, 821729, 821729, 821903, 822397, 822853, 823030, 823186, 823618, 824859, 825353, 825731, + 826925, 830389, 831858, 832988, 836452, 837921, 837921, 838415, 839813, 840913, 841354, 841741, 842803, 846267, 847665, 848751, + 852112, 855576, 855576, 856676, 860140, 861609, 861609, 862135, 863604, 864845, 864845, 865301, 866542, 870006, 870006, 871106, + 874570, 874570, 874570, 874570, 874570, 874570, 874570, 874570, 874570, 874570, 874570, 874570, 874570, 874570, 874570, 874570, + 874570, 876039, 876039, 876507, 877976, 878502, 878679, 878880, 879374, 879900, 879900, 880077, 880571, 882040, 882040, 882481, + 883879, 887343, 887343, 888443, 891907, 893376, 893376, 893870, 895268, 896509, 896509, 896941, 898135, 901599, 901599, 902661, + 906022, 915549, 919013, 922089, 931616, 935080, 936549, 937679, 941143, 944547, 945788, 947063, 950467, 959994, 963458, 966534, + 976061, 976061, 976061, 976061, 976061, 976061, 976061, 976061, 976061, 976061, 976061, 976061, 976061, 976061, 976061, 976061, + 976061, 979467, 980936, 982041, 985447, 986916, 986916, 987357, 988755, 989971, 990465, 990898, 992071, 995477, 996875, 997940, +1001248, 1010775, 1014239, 1017315, 1026842, 1030306, 1031704, 1032790, 1036151, 1039555, 1040749, 1041970, 1045277, 1054804, 1058165, 1061155, +1070464, 1073928, 1075397, 1076527, 1079991, 1081460, 1081460, 1081986, 1083455, 1084555, 1085023, 1085431, 1086531, 1089995, 1091464, 1092594, +1096058, 1097527, 1097527, 1098053, 1099522, 1100048, 1100242, 1100465, 1100991, 1101459, 1101459, 1101653, 1102121, 1103590, 1103590, 1104116, +1105585, 1106826, 1107352, 1107748, 1108989, 1109515, 1109515, 1109704, 1110230, 1110686, 1110880, 1111049, 1111505, 1112746, 1113272, 1113668, +1114909, 1118373, 1119842, 1120972, 1124436, 1125905, 1125905, 1126431, 1127900, 1129000, 1129468, 1129876, 1130976, 1134440, 1135909, 1137039, +1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, +1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, +1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, +1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, 1140503, +1140503, 1141972, 1141972, 1142440, 1143909, 1144435, 1144629, 1144852, 1145378, 1145846, 1145846, 1146015, 1146483, 1147952, 1147952, 1148420, +1149889, 1150415, 1150609, 1150832, 1151358, 1151358, 1151358, 1151358, 1151358, 1151522, 1151584, 1151646, 1151799, 1152325, 1152502, 1152703, +1153197, 1153723, 1153723, 1153887, 1154413, 1154607, 1154669, 1154730, 1154907, 1155101, 1155101, 1155163, 1155340, 1155866, 1155866, 1156019, +1156513, 1157982, 1157982, 1158450, 1159919, 1160445, 1160622, 1160823, 1161317, 1161785, 1161785, 1161941, 1162382, 1163851, 1163851, 1164292, +1165690, 1169154, 1170623, 1171753, 1175217, 1176686, 1176686, 1177212, 1178681, 1179781, 1180249, 1180657, 1181757, 1185221, 1186690, 1187820, +1191284, 1192753, 1192753, 1193279, 1194748, 1195274, 1195451, 1195652, 1196146, 1196614, 1196614, 1196791, 1197232, 1198701, 1198701, 1199195, +1200593, 1201834, 1202360, 1202756, 1203997, 1204523, 1204523, 1204697, 1205191, 1205647, 1205824, 1205980, 1206412, 1207653, 1208147, 1208525, +1209719, 1213183, 1214652, 1215782, 1219246, 1220715, 1220715, 1221209, 1222607, 1223707, 1224148, 1224535, 1225597, 1229061, 1230459, 1231545, +1234906, 1236375, 1236375, 1236901, 1238370, 1238896, 1239090, 1239313, 1239839, 1240307, 1240307, 1240501, 1240969, 1242438, 1242438, 1242964, +1244433, 1244959, 1245153, 1245376, 1245902, 1245902, 1245902, 1245902, 1245902, 1246091, 1246152, 1246222, 1246396, 1246922, 1247099, 1247300, +1247794, 1248262, 1248262, 1248426, 1248894, 1249088, 1249088, 1249158, 1249335, 1249504, 1249504, 1249566, 1249722, 1250190, 1250190, 1250343, +1250784, 1252253, 1252253, 1252779, 1254248, 1254774, 1254951, 1255152, 1255646, 1256114, 1256114, 1256291, 1256732, 1258201, 1258201, 1258695, +1260093, 1260619, 1260813, 1261036, 1261562, 1261562, 1261562, 1261562, 1261562, 1261751, 1261812, 1261882, 1262056, 1262582, 1262759, 1262960, +1263454, 1263648, 1263710, 1263771, 1263948, 1264010, 1264024, 1264037, 1264079, 1264149, 1264163, 1264178, 1264224, 1264401, 1264443, 1264485, +1264616, 1264780, 1264842, 1264904, 1265057, 1265057, 1265057, 1265057, 1265057, 1265118, 1265132, 1265146, 1265188, 1265341, 1265383, 1265425, +1265542, 1266068, 1266245, 1266446, 1266940, 1266940, 1266940, 1266940, 1266940, 1267114, 1267156, 1267202, 1267332, 1267826, 1267957, 1268102, +1268494, 1269020, 1269020, 1269209, 1269735, 1269929, 1269991, 1270052, 1270229, 1270393, 1270393, 1270454, 1270607, 1271133, 1271133, 1271307, +1271801, 1271995, 1272057, 1272118, 1272295, 1272295, 1272295, 1272295, 1272295, 1272356, 1272370, 1272383, 1272425, 1272602, 1272644, 1272686, +1272817, 1273011, 1273011, 1273072, 1273249, 1273311, 1273325, 1273338, 1273380, 1273442, 1273442, 1273456, 1273498, 1273675, 1273675, 1273717, +1273848, 1274374, 1274374, 1274548, 1275042, 1275219, 1275261, 1275303, 1275434, 1275587, 1275587, 1275629, 1275746, 1276240, 1276240, 1276370, +1276762, 1278231, 1278231, 1278757, 1280226, 1280752, 1280929, 1281130, 1281624, 1282092, 1282092, 1282269, 1282710, 1284179, 1284179, 1284673, +1286071, 1286597, 1286774, 1286975, 1287469, 1287469, 1287469, 1287469, 1287469, 1287643, 1287685, 1287731, 1287861, 1288355, 1288486, 1288631, +1289023, 1289491, 1289491, 1289644, 1290085, 1290262, 1290262, 1290308, 1290439, 1290595, 1290595, 1290637, 1290755, 1291196, 1291196, 1291313, +1291667, 1293136, 1293136, 1293630, 1295028, 1295522, 1295653, 1295798, 1296190, 1296631, 1296631, 1296762, 1297116, 1298514, 1298514, 1298906, +1300068, 1301537, 1301537, 1302063, 1303532, 1303532, 1303532, 1303532, 1303532, 1304000, 1304000, 1304164, 1304632, 1306101, 1306101, 1306627, +1308096, 1308622, 1308816, 1309039, 1309565, 1309565, 1309565, 1309565, 1309565, 1309754, 1309815, 1309885, 1310059, 1310585, 1310762, 1310963, +1311457, 1311983, 1311983, 1312172, 1312698, 1312698, 1312698, 1312698, 1312698, 1312892, 1312892, 1312953, 1313130, 1313656, 1313656, 1313830, +1314324, 1315793, 1315793, 1316319, 1317788, 1317788, 1317788, 1317788, 1317788, 1318256, 1318256, 1318409, 1318850, 1320319, 1320319, 1320813, +1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, +1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, +1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, +1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, 1322211, +1322211, 1322737, 1322931, 1323154, 1323680, 1323680, 1323680, 1323680, 1323680, 1323874, 1323874, 1323944, 1324121, 1324647, 1324824, 1325025, +1325519, 1325713, 1325775, 1325836, 1326013, 1326075, 1326089, 1326102, 1326144, 1326214, 1326228, 1326243, 1326289, 1326466, 1326508, 1326550, +1326681, 1326875, 1326937, 1326998, 1327175, 1327175, 1327175, 1327175, 1327175, 1327237, 1327251, 1327264, 1327306, 1327483, 1327525, 1327567, +1327698, 1328224, 1328401, 1328602, 1329096, 1329096, 1329096, 1329096, 1329096, 1329273, 1329273, 1329319, 1329450, 1329944, 1330075, 1330220, +1330612, 1332081, 1332081, 1332607, 1334076, 1334076, 1334076, 1334076, 1334076, 1334544, 1334544, 1334697, 1335138, 1336607, 1336607, 1337101, +1338499, 1339025, 1339202, 1339403, 1339897, 1339897, 1339897, 1339897, 1339897, 1340071, 1340113, 1340159, 1340289, 1340783, 1340914, 1341059, +1341451, 1341977, 1341977, 1342151, 1342645, 1342645, 1342645, 1342645, 1342645, 1342822, 1342822, 1342864, 1342995, 1343489, 1343489, 1343619, +1344011, 1345480, 1345480, 1345974, 1347372, 1347372, 1347372, 1347372, 1347372, 1347813, 1347813, 1347930, 1348284, 1349682, 1349682, 1350074, +1351236, 1354700, 1356169, 1357299, 1360763, 1362232, 1362232, 1362758, 1364227, 1365327, 1365795, 1366203, 1367303, 1370767, 1372236, 1373366, +1376830, 1378299, 1378299, 1378825, 1380294, 1380820, 1380997, 1381198, 1381692, 1382160, 1382160, 1382337, 1382778, 1384247, 1384247, 1384741, +1386139, 1387380, 1387906, 1388302, 1389543, 1390069, 1390069, 1390243, 1390737, 1391193, 1391370, 1391526, 1391958, 1393199, 1393693, 1394071, +1395265, 1398729, 1400198, 1401328, 1404792, 1406261, 1406261, 1406755, 1408153, 1409253, 1409694, 1410081, 1411143, 1414607, 1416005, 1417091, +1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, +1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, +1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, +1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, 1420452, +1420452, 1421921, 1421921, 1422389, 1423858, 1424384, 1424561, 1424762, 1425256, 1425724, 1425724, 1425880, 1426321, 1427790, 1427790, 1428231, +1429629, 1430155, 1430332, 1430533, 1431027, 1431027, 1431027, 1431027, 1431027, 1431180, 1431222, 1431264, 1431381, 1431875, 1432006, 1432151, +1432543, 1433069, 1433069, 1433222, 1433716, 1433893, 1433935, 1433977, 1434108, 1434285, 1434285, 1434327, 1434458, 1434952, 1434952, 1435069, +1435461, 1436930, 1436930, 1437371, 1438769, 1439263, 1439394, 1439539, 1439931, 1440372, 1440372, 1440490, 1440844, 1442242, 1442242, 1442596, +1443758, 1447222, 1448691, 1449821, 1453285, 1454754, 1454754, 1455248, 1456646, 1457746, 1458187, 1458574, 1459636, 1463100, 1464498, 1465584, +1468945, 1470414, 1470414, 1470908, 1472306, 1472800, 1472931, 1473076, 1473468, 1473909, 1473909, 1474040, 1474394, 1475792, 1475792, 1476184, +1477346, 1478587, 1479081, 1479459, 1480653, 1481147, 1481147, 1481277, 1481669, 1482101, 1482232, 1482350, 1482700, 1483894, 1484286, 1484598, +1485614, 1489078, 1490476, 1491562, 1494923, 1496321, 1496321, 1496713, 1497875, 1498937, 1499291, 1499607, 1500519, 1503880, 1505042, 1505968, +1508920, 1512384, 1513853, 1514983, 1518447, 1519916, 1519916, 1520442, 1521911, 1523011, 1523479, 1523887, 1524987, 1528451, 1529920, 1531050, +1534514, 1535983, 1535983, 1536509, 1537978, 1538504, 1538698, 1538921, 1539447, 1539915, 1539915, 1540109, 1540577, 1542046, 1542046, 1542572, +1544041, 1545282, 1545808, 1546204, 1547445, 1547971, 1547971, 1548160, 1548686, 1549142, 1549336, 1549505, 1549961, 1551202, 1551728, 1552124, +1553365, 1556829, 1558298, 1559428, 1562892, 1564361, 1564361, 1564887, 1566356, 1567456, 1567924, 1568332, 1569432, 1572896, 1574365, 1575495, +1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, +1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, +1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, +1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, 1578959, +1578959, 1580428, 1580428, 1580896, 1582365, 1582891, 1583085, 1583308, 1583834, 1584302, 1584302, 1584471, 1584939, 1586408, 1586408, 1586876, +1588345, 1588871, 1589065, 1589288, 1589814, 1589814, 1589814, 1589814, 1589814, 1589978, 1590040, 1590102, 1590255, 1590781, 1590958, 1591159, +1591653, 1592179, 1592179, 1592343, 1592869, 1593063, 1593125, 1593186, 1593363, 1593557, 1593557, 1593619, 1593796, 1594322, 1594322, 1594475, +1594969, 1596438, 1596438, 1596906, 1598375, 1598901, 1599078, 1599279, 1599773, 1600241, 1600241, 1600397, 1600838, 1602307, 1602307, 1602748, +1604146, 1607610, 1609079, 1610209, 1613673, 1615142, 1615142, 1615668, 1617137, 1618237, 1618705, 1619113, 1620213, 1623677, 1625146, 1626276, +1629740, 1631209, 1631209, 1631735, 1633204, 1633730, 1633907, 1634108, 1634602, 1635070, 1635070, 1635247, 1635688, 1637157, 1637157, 1637651, +1639049, 1640290, 1640816, 1641212, 1642453, 1642979, 1642979, 1643153, 1643647, 1644103, 1644280, 1644436, 1644868, 1646109, 1646603, 1646981, +1648175, 1651639, 1653108, 1654238, 1657702, 1659171, 1659171, 1659665, 1661063, 1662163, 1662604, 1662991, 1664053, 1667517, 1668915, 1670001, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1674831, 1674831, 1675357, 1676826, 1677352, 1677546, 1677769, 1678295, 1678763, 1678763, 1678957, 1679425, 1680894, 1680894, 1681420, +1682889, 1683415, 1683609, 1683832, 1684358, 1684358, 1684358, 1684358, 1684358, 1684547, 1684608, 1684678, 1684852, 1685378, 1685555, 1685756, +1686250, 1686718, 1686718, 1686882, 1687350, 1687544, 1687544, 1687614, 1687791, 1687960, 1687960, 1688022, 1688178, 1688646, 1688646, 1688799, +1689240, 1690709, 1690709, 1691235, 1692704, 1693230, 1693407, 1693608, 1694102, 1694570, 1694570, 1694747, 1695188, 1696657, 1696657, 1697151, +1698549, 1699075, 1699269, 1699492, 1700018, 1700018, 1700018, 1700018, 1700018, 1700207, 1700268, 1700338, 1700512, 1701038, 1701215, 1701416, +1701910, 1702104, 1702166, 1702227, 1702404, 1702466, 1702480, 1702493, 1702535, 1702605, 1702619, 1702634, 1702680, 1702857, 1702899, 1702941, +1703072, 1703236, 1703298, 1703360, 1703513, 1703513, 1703513, 1703513, 1703513, 1703574, 1703588, 1703602, 1703644, 1703797, 1703839, 1703881, +1703998, 1704524, 1704701, 1704902, 1705396, 1705396, 1705396, 1705396, 1705396, 1705570, 1705612, 1705658, 1705788, 1706282, 1706413, 1706558, +1706950, 1707476, 1707476, 1707665, 1708191, 1708385, 1708447, 1708508, 1708685, 1708849, 1708849, 1708910, 1709063, 1709589, 1709589, 1709763, +1710257, 1710451, 1710513, 1710574, 1710751, 1710751, 1710751, 1710751, 1710751, 1710812, 1710826, 1710839, 1710881, 1711058, 1711100, 1711142, +1711273, 1711467, 1711467, 1711528, 1711705, 1711767, 1711781, 1711794, 1711836, 1711898, 1711898, 1711912, 1711954, 1712131, 1712131, 1712173, +1712304, 1712830, 1712830, 1713004, 1713498, 1713675, 1713717, 1713759, 1713890, 1714043, 1714043, 1714085, 1714202, 1714696, 1714696, 1714826, +1715218, 1716687, 1716687, 1717213, 1718682, 1719208, 1719385, 1719586, 1720080, 1720548, 1720548, 1720725, 1721166, 1722635, 1722635, 1723129, +1724527, 1725053, 1725230, 1725431, 1725925, 1725925, 1725925, 1725925, 1725925, 1726099, 1726141, 1726187, 1726317, 1726811, 1726942, 1727087, +1727479, 1727947, 1727947, 1728100, 1728541, 1728718, 1728718, 1728764, 1728895, 1729051, 1729051, 1729093, 1729211, 1729652, 1729652, 1729769, +1730123, 1731592, 1731592, 1732086, 1733484, 1733978, 1734109, 1734254, 1734646, 1735087, 1735087, 1735218, 1735572, 1736970, 1736970, 1737362, +1738524, 1741988, 1743457, 1744587, 1748051, 1749520, 1749520, 1750046, 1751515, 1752615, 1753083, 1753491, 1754591, 1758055, 1759524, 1760654, +1764118, 1765587, 1765587, 1766113, 1767582, 1768108, 1768285, 1768486, 1768980, 1769448, 1769448, 1769625, 1770066, 1771535, 1771535, 1772029, +1773427, 1774668, 1775194, 1775590, 1776831, 1777357, 1777357, 1777531, 1778025, 1778481, 1778658, 1778814, 1779246, 1780487, 1780981, 1781359, +1782553, 1786017, 1787486, 1788616, 1792080, 1793549, 1793549, 1794043, 1795441, 1796541, 1796982, 1797369, 1798431, 1801895, 1803293, 1804379, +1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, +1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, +1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, +1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, +1807740, 1809209, 1809209, 1809677, 1811146, 1811672, 1811849, 1812050, 1812544, 1813012, 1813012, 1813168, 1813609, 1815078, 1815078, 1815519, +1816917, 1817443, 1817620, 1817821, 1818315, 1818315, 1818315, 1818315, 1818315, 1818468, 1818510, 1818552, 1818669, 1819163, 1819294, 1819439, +1819831, 1820357, 1820357, 1820510, 1821004, 1821181, 1821223, 1821265, 1821396, 1821573, 1821573, 1821615, 1821746, 1822240, 1822240, 1822357, +1822749, 1824218, 1824218, 1824659, 1826057, 1826551, 1826682, 1826827, 1827219, 1827660, 1827660, 1827778, 1828132, 1829530, 1829530, 1829884, +1831046, 1834510, 1835979, 1837109, 1840573, 1842042, 1842042, 1842536, 1843934, 1845034, 1845475, 1845862, 1846924, 1850388, 1851786, 1852872, +1856233, 1857702, 1857702, 1858196, 1859594, 1860088, 1860219, 1860364, 1860756, 1861197, 1861197, 1861328, 1861682, 1863080, 1863080, 1863472, +1864634, 1865875, 1866369, 1866747, 1867941, 1868435, 1868435, 1868565, 1868957, 1869389, 1869520, 1869638, 1869988, 1871182, 1871574, 1871886, +1872902, 1876366, 1877764, 1878850, 1882211, 1883609, 1883609, 1884001, 1885163, 1886225, 1886579, 1886895, 1887807, 1891168, 1892330, 1893256, +1896208, 1905735, 1909199, 1912275, 1921802, 1925266, 1926735, 1927865, 1931329, 1934733, 1935974, 1937249, 1940653, 1950180, 1953644, 1956720, +1966247, 1966247, 1966247, 1966247, 1966247, 1966247, 1966247, 1966247, 1966247, 1966247, 1966247, 1966247, 1966247, 1966247, 1966247, 1966247, +1966247, 1969653, 1971122, 1972227, 1975633, 1977102, 1977102, 1977570, 1979039, 1980255, 1980781, 1981239, 1982455, 1985861, 1987330, 1988435, +1991841, 2001368, 2004832, 2007908, 2017435, 2020899, 2022368, 2023498, 2026962, 2030366, 2031607, 2032882, 2036286, 2045813, 2049277, 2052353, +2061880, 2065344, 2066813, 2067943, 2071407, 2072876, 2072876, 2073402, 2074871, 2075971, 2076439, 2076847, 2077947, 2081411, 2082880, 2084010, +2087474, 2088943, 2088943, 2089469, 2090938, 2091464, 2091641, 2091842, 2092336, 2092804, 2092804, 2092981, 2093422, 2094891, 2094891, 2095385, +2096783, 2098024, 2098550, 2098946, 2100187, 2100713, 2100713, 2100887, 2101381, 2101837, 2102014, 2102170, 2102602, 2103843, 2104337, 2104715, +2105909, 2109373, 2110842, 2111972, 2115436, 2116905, 2116905, 2117399, 2118797, 2119897, 2120338, 2120725, 2121787, 2125251, 2126649, 2127735, +2131096, 2134560, 2134560, 2135660, 2139124, 2140593, 2140593, 2141119, 2142588, 2143829, 2143829, 2144285, 2145526, 2148990, 2148990, 2150090, +2153554, 2153554, 2153554, 2153554, 2153554, 2153554, 2153554, 2153554, 2153554, 2153554, 2153554, 2153554, 2153554, 2153554, 2153554, 2153554, +2153554, 2155023, 2155023, 2155491, 2156960, 2157486, 2157663, 2157864, 2158358, 2158884, 2158884, 2159061, 2159555, 2161024, 2161024, 2161465, +2162863, 2166327, 2166327, 2167427, 2170891, 2172360, 2172360, 2172854, 2174252, 2175493, 2175493, 2175925, 2177119, 2180583, 2180583, 2181645, +2185006, 2194533, 2197997, 2201073, 2210600, 2214064, 2215533, 2216663, 2220127, 2223531, 2224772, 2226047, 2229451, 2238978, 2242442, 2245518, +2255045, 2255045, 2255045, 2255045, 2255045, 2255045, 2255045, 2255045, 2255045, 2255045, 2255045, 2255045, 2255045, 2255045, 2255045, 2255045, +2255045, 2258451, 2259920, 2261025, 2264431, 2265900, 2265900, 2266341, 2267739, 2268955, 2269449, 2269882, 2271055, 2274461, 2275859, 2276924, +2280232, 2289759, 2293223, 2296299, 2305826, 2309290, 2310688, 2311774, 2315135, 2318539, 2319733, 2320954, 2324261, 2333788, 2337149, 2340139, +2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, +2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, +2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, +2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, +2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, +2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, +2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, +2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, +2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, +2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, +2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, +2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, +2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, +2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, +2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, +2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, 2349448, +2349448, 2352912, 2354381, 2355511, 2358975, 2360444, 2360444, 2360970, 2362439, 2363539, 2364007, 2364415, 2365515, 2368979, 2370448, 2371578, +2375042, 2376511, 2376511, 2377037, 2378506, 2379032, 2379209, 2379410, 2379904, 2380372, 2380372, 2380549, 2380990, 2382459, 2382459, 2382953, +2384351, 2385592, 2386118, 2386514, 2387755, 2388281, 2388281, 2388455, 2388949, 2389405, 2389582, 2389738, 2390170, 2391411, 2391905, 2392283, +2393477, 2396941, 2398410, 2399540, 2403004, 2404473, 2404473, 2404967, 2406365, 2407465, 2407906, 2408293, 2409355, 2412819, 2414217, 2415303, +2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, +2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, +2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, +2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, 2418664, +2418664, 2420133, 2420133, 2420659, 2422128, 2422128, 2422128, 2422128, 2422128, 2422596, 2422596, 2422749, 2423190, 2424659, 2424659, 2425153, +2426551, 2427077, 2427254, 2427455, 2427949, 2427949, 2427949, 2427949, 2427949, 2428123, 2428165, 2428211, 2428341, 2428835, 2428966, 2429111, +2429503, 2430029, 2430029, 2430203, 2430697, 2430697, 2430697, 2430697, 2430697, 2430874, 2430874, 2430916, 2431047, 2431541, 2431541, 2431671, +2432063, 2433532, 2433532, 2434026, 2435424, 2435424, 2435424, 2435424, 2435424, 2435865, 2435865, 2435982, 2436336, 2437734, 2437734, 2438126, +2439288, 2442752, 2444221, 2445351, 2448815, 2450284, 2450284, 2450778, 2452176, 2453276, 2453717, 2454104, 2455166, 2458630, 2460028, 2461114, +2464475, 2465944, 2465944, 2466438, 2467836, 2468330, 2468461, 2468606, 2468998, 2469439, 2469439, 2469570, 2469924, 2471322, 2471322, 2471714, +2472876, 2474117, 2474611, 2474989, 2476183, 2476677, 2476677, 2476807, 2477199, 2477631, 2477762, 2477880, 2478230, 2479424, 2479816, 2480128, +2481144, 2484608, 2486006, 2487092, 2490453, 2491851, 2491851, 2492243, 2493405, 2494467, 2494821, 2495137, 2496049, 2499410, 2500572, 2501498, +2504450, 2513977, 2517441, 2520517, 2530044, 2533508, 2534977, 2536107, 2539571, 2542975, 2544216, 2545491, 2548895, 2558422, 2561886, 2564962, +2574489, 2574489, 2574489, 2574489, 2574489, 2574489, 2574489, 2574489, 2574489, 2574489, 2574489, 2574489, 2574489, 2574489, 2574489, 2574489, +2574489, 2577895, 2579364, 2580469, 2583875, 2585344, 2585344, 2585785, 2587183, 2588399, 2588893, 2589326, 2590499, 2593905, 2595303, 2596368, +2599676, 2609203, 2612667, 2615743, 2625270, 2628734, 2630132, 2631218, 2634579, 2637983, 2639177, 2640398, 2643705, 2653232, 2656593, 2659583, +2668892, 2672356, 2673825, 2674955, 2678419, 2679888, 2679888, 2680382, 2681780, 2682880, 2683321, 2683708, 2684770, 2688234, 2689632, 2690718, +2694079, 2695548, 2695548, 2696042, 2697440, 2697934, 2698065, 2698210, 2698602, 2699043, 2699043, 2699174, 2699528, 2700926, 2700926, 2701318, +2702480, 2703721, 2704215, 2704593, 2705787, 2706281, 2706281, 2706411, 2706803, 2707235, 2707366, 2707484, 2707834, 2709028, 2709420, 2709732, +2710748, 2714212, 2715610, 2716696, 2720057, 2721455, 2721455, 2721847, 2723009, 2724071, 2724425, 2724741, 2725653, 2729014, 2730176, 2731102, +2734054, 2737518, 2737518, 2738618, 2742082, 2743551, 2743551, 2744045, 2745443, 2746684, 2746684, 2747116, 2748310, 2751774, 2751774, 2752836, +2756197, 2756197, 2756197, 2756197, 2756197, 2756197, 2756197, 2756197, 2756197, 2756197, 2756197, 2756197, 2756197, 2756197, 2756197, 2756197, +2756197, 2757666, 2757666, 2758107, 2759505, 2759999, 2760130, 2760275, 2760667, 2761161, 2761161, 2761292, 2761684, 2763082, 2763082, 2763436, +2764598, 2768062, 2768062, 2769124, 2772485, 2773883, 2773883, 2774275, 2775437, 2776631, 2776631, 2776981, 2777997, 2781358, 2781358, 2782270, +2785222, 2794749, 2798213, 2801289, 2810816, 2814280, 2815678, 2816764, 2820125, 2823529, 2824723, 2825944, 2829251, 2838778, 2842139, 2845129, +2854438, 2854438, 2854438, 2854438, 2854438, 2854438, 2854438, 2854438, 2854438, 2854438, 2854438, 2854438, 2854438, 2854438, 2854438, 2854438, +2854438, 2857844, 2859242, 2860307, 2863615, 2865013, 2865013, 2865367, 2866529, 2867702, 2868094, 2868444, 2869447, 2872755, 2873917, 2874830, +2877744, 2887271, 2890632, 2893622, 2902931, 2906292, 2907454, 2908380, 2911332, 2914639, 2915655, 2916686, 2919600, 2928909, 2931861, 2934505, diff --git a/src/core/short_code/offset/range_prefix/offset_0x1.inc b/src/core/short_code/offset/range_prefix/offset_0x1.inc new file mode 100644 index 0000000..e7ac95c --- /dev/null +++ b/src/core/short_code/offset/range_prefix/offset_0x1.inc @@ -0,0 +1,256 @@ + 0, 9527, 12991, 16067, 25594, 29058, 30527, 31657, 35121, 38525, 39766, 41041, 44445, 53972, 57436, 60512, + 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, + 70039, 73445, 74914, 76019, 79425, 80894, 80894, 81362, 82831, 84047, 84573, 85031, 86247, 89653, 91122, 92227, + 95633, 105160, 108624, 111700, 121227, 124691, 126160, 127290, 130754, 134158, 135399, 136674, 140078, 149605, 153069, 156145, + 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, + 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, + 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, + 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, 165672, + 165672, 169136, 170605, 171735, 175199, 176668, 176668, 177194, 178663, 179763, 180231, 180639, 181739, 185203, 186672, 187802, + 191266, 191266, 191266, 191266, 191266, 191266, 191266, 191266, 191266, 191266, 191266, 191266, 191266, 191266, 191266, 191266, + 191266, 192735, 192735, 193203, 194672, 195198, 195392, 195615, 196141, 196609, 196609, 196778, 197246, 198715, 198715, 199183, + 200652, 204116, 205585, 206715, 210179, 211648, 211648, 212174, 213643, 214743, 215211, 215619, 216719, 220183, 221652, 222782, + 226246, 235773, 239237, 242313, 251840, 255304, 256773, 257903, 261367, 264771, 266012, 267287, 270691, 280218, 283682, 286758, + 296285, 296285, 296285, 296285, 296285, 296285, 296285, 296285, 296285, 296285, 296285, 296285, 296285, 296285, 296285, 296285, + 296285, 299691, 301160, 302265, 305671, 307140, 307140, 307608, 309077, 310293, 310819, 311277, 312493, 315899, 317368, 318473, + 321879, 331406, 334870, 337946, 347473, 350937, 352406, 353536, 357000, 360404, 361645, 362920, 366324, 375851, 379315, 382391, + 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, + 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, + 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, + 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, + 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, + 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, + 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, + 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, + 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, + 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, + 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, + 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, + 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, + 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, + 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, + 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, 391918, + 391918, 395382, 396851, 397981, 401445, 402914, 402914, 403440, 404909, 406009, 406477, 406885, 407985, 411449, 412918, 414048, + 417512, 418981, 418981, 419507, 420976, 421502, 421696, 421919, 422445, 422913, 422913, 423107, 423575, 425044, 425044, 425570, + 427039, 428280, 428806, 429202, 430443, 430969, 430969, 431158, 431684, 432140, 432334, 432503, 432959, 434200, 434726, 435122, + 436363, 439827, 441296, 442426, 445890, 447359, 447359, 447885, 449354, 450454, 450922, 451330, 452430, 455894, 457363, 458493, + 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, + 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, + 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, + 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, 461957, + 461957, 463426, 463426, 463952, 465421, 465947, 466141, 466364, 466890, 467358, 467358, 467552, 468020, 469489, 469489, 470015, + 471484, 472010, 472204, 472427, 472953, 472953, 472953, 472953, 472953, 473142, 473203, 473273, 473447, 473973, 474150, 474351, + 474845, 475313, 475313, 475477, 475945, 476139, 476139, 476209, 476386, 476555, 476555, 476617, 476773, 477241, 477241, 477394, + 477835, 479304, 479304, 479830, 481299, 481825, 482002, 482203, 482697, 483165, 483165, 483342, 483783, 485252, 485252, 485746, + 487144, 490608, 492077, 493207, 496671, 498140, 498140, 498666, 500135, 501235, 501703, 502111, 503211, 506675, 508144, 509274, + 512738, 514207, 514207, 514733, 516202, 516728, 516905, 517106, 517600, 518068, 518068, 518245, 518686, 520155, 520155, 520649, + 522047, 523288, 523814, 524210, 525451, 525977, 525977, 526151, 526645, 527101, 527278, 527434, 527866, 529107, 529601, 529979, + 531173, 534637, 536106, 537236, 540700, 542169, 542169, 542663, 544061, 545161, 545602, 545989, 547051, 550515, 551913, 552999, + 556360, 565887, 569351, 572427, 581954, 585418, 586887, 588017, 591481, 594885, 596126, 597401, 600805, 610332, 613796, 616872, + 626399, 626399, 626399, 626399, 626399, 626399, 626399, 626399, 626399, 626399, 626399, 626399, 626399, 626399, 626399, 626399, + 626399, 629805, 631274, 632379, 635785, 637254, 637254, 637722, 639191, 640407, 640933, 641391, 642607, 646013, 647482, 648587, + 651993, 661520, 664984, 668060, 677587, 681051, 682520, 683650, 687114, 690518, 691759, 693034, 696438, 705965, 709429, 712505, + 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, + 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, + 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, + 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, 722032, + 722032, 725496, 726965, 728095, 731559, 733028, 733028, 733554, 735023, 736123, 736591, 736999, 738099, 741563, 743032, 744162, + 747626, 747626, 747626, 747626, 747626, 747626, 747626, 747626, 747626, 747626, 747626, 747626, 747626, 747626, 747626, 747626, + 747626, 749095, 749095, 749563, 751032, 751558, 751735, 751936, 752430, 752898, 752898, 753054, 753495, 754964, 754964, 755405, + 756803, 760267, 761736, 762866, 766330, 767799, 767799, 768293, 769691, 770791, 771232, 771619, 772681, 776145, 777543, 778629, + 781990, 791517, 794981, 798057, 807584, 811048, 812517, 813647, 817111, 820515, 821756, 823031, 826435, 835962, 839426, 842502, + 852029, 852029, 852029, 852029, 852029, 852029, 852029, 852029, 852029, 852029, 852029, 852029, 852029, 852029, 852029, 852029, + 852029, 855435, 856904, 858009, 861415, 862884, 862884, 863325, 864723, 865939, 866433, 866866, 868039, 871445, 872843, 873908, + 877216, 886743, 890207, 893283, 902810, 906274, 907672, 908758, 912119, 915523, 916717, 917938, 921245, 930772, 934133, 937123, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, 946432, + 946432, 949896, 951365, 952495, 955959, 957428, 957428, 957954, 959423, 960523, 960991, 961399, 962499, 965963, 967432, 968562, + 972026, 973495, 973495, 974021, 975490, 976016, 976210, 976433, 976959, 977427, 977427, 977621, 978089, 979558, 979558, 980084, + 981553, 982794, 983320, 983716, 984957, 985483, 985483, 985672, 986198, 986654, 986848, 987017, 987473, 988714, 989240, 989636, + 990877, 994341, 995810, 996940, 1000404, 1001873, 1001873, 1002399, 1003868, 1004968, 1005436, 1005844, 1006944, 1010408, 1011877, 1013007, +1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, +1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, +1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, +1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, 1016471, +1016471, 1017940, 1017940, 1018408, 1019877, 1020403, 1020597, 1020820, 1021346, 1021814, 1021814, 1021983, 1022451, 1023920, 1023920, 1024388, +1025857, 1026383, 1026577, 1026800, 1027326, 1027326, 1027326, 1027326, 1027326, 1027490, 1027552, 1027614, 1027767, 1028293, 1028470, 1028671, +1029165, 1029691, 1029691, 1029855, 1030381, 1030575, 1030637, 1030698, 1030875, 1031069, 1031069, 1031131, 1031308, 1031834, 1031834, 1031987, +1032481, 1033950, 1033950, 1034418, 1035887, 1036413, 1036590, 1036791, 1037285, 1037753, 1037753, 1037909, 1038350, 1039819, 1039819, 1040260, +1041658, 1045122, 1046591, 1047721, 1051185, 1052654, 1052654, 1053180, 1054649, 1055749, 1056217, 1056625, 1057725, 1061189, 1062658, 1063788, +1067252, 1068721, 1068721, 1069247, 1070716, 1071242, 1071419, 1071620, 1072114, 1072582, 1072582, 1072759, 1073200, 1074669, 1074669, 1075163, +1076561, 1077802, 1078328, 1078724, 1079965, 1080491, 1080491, 1080665, 1081159, 1081615, 1081792, 1081948, 1082380, 1083621, 1084115, 1084493, +1085687, 1089151, 1090620, 1091750, 1095214, 1096683, 1096683, 1097177, 1098575, 1099675, 1100116, 1100503, 1101565, 1105029, 1106427, 1107513, +1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, +1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, +1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, +1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, +1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, +1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, +1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, +1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, +1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, +1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, +1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, +1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, +1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, +1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, +1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, +1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, 1110874, +1110874, 1112343, 1112343, 1112869, 1114338, 1114864, 1115058, 1115281, 1115807, 1116275, 1116275, 1116469, 1116937, 1118406, 1118406, 1118932, +1120401, 1120927, 1121121, 1121344, 1121870, 1121870, 1121870, 1121870, 1121870, 1122059, 1122120, 1122190, 1122364, 1122890, 1123067, 1123268, +1123762, 1124230, 1124230, 1124394, 1124862, 1125056, 1125056, 1125126, 1125303, 1125472, 1125472, 1125534, 1125690, 1126158, 1126158, 1126311, +1126752, 1128221, 1128221, 1128747, 1130216, 1130742, 1130919, 1131120, 1131614, 1132082, 1132082, 1132259, 1132700, 1134169, 1134169, 1134663, +1136061, 1136587, 1136781, 1137004, 1137530, 1137530, 1137530, 1137530, 1137530, 1137719, 1137780, 1137850, 1138024, 1138550, 1138727, 1138928, +1139422, 1139616, 1139678, 1139739, 1139916, 1139978, 1139992, 1140005, 1140047, 1140117, 1140131, 1140146, 1140192, 1140369, 1140411, 1140453, +1140584, 1140748, 1140810, 1140872, 1141025, 1141025, 1141025, 1141025, 1141025, 1141086, 1141100, 1141114, 1141156, 1141309, 1141351, 1141393, +1141510, 1142036, 1142213, 1142414, 1142908, 1142908, 1142908, 1142908, 1142908, 1143082, 1143124, 1143170, 1143300, 1143794, 1143925, 1144070, +1144462, 1144988, 1144988, 1145177, 1145703, 1145897, 1145959, 1146020, 1146197, 1146361, 1146361, 1146422, 1146575, 1147101, 1147101, 1147275, +1147769, 1147963, 1148025, 1148086, 1148263, 1148263, 1148263, 1148263, 1148263, 1148324, 1148338, 1148351, 1148393, 1148570, 1148612, 1148654, +1148785, 1148979, 1148979, 1149040, 1149217, 1149279, 1149293, 1149306, 1149348, 1149410, 1149410, 1149424, 1149466, 1149643, 1149643, 1149685, +1149816, 1150342, 1150342, 1150516, 1151010, 1151187, 1151229, 1151271, 1151402, 1151555, 1151555, 1151597, 1151714, 1152208, 1152208, 1152338, +1152730, 1154199, 1154199, 1154725, 1156194, 1156720, 1156897, 1157098, 1157592, 1158060, 1158060, 1158237, 1158678, 1160147, 1160147, 1160641, +1162039, 1162565, 1162742, 1162943, 1163437, 1163437, 1163437, 1163437, 1163437, 1163611, 1163653, 1163699, 1163829, 1164323, 1164454, 1164599, +1164991, 1165459, 1165459, 1165612, 1166053, 1166230, 1166230, 1166276, 1166407, 1166563, 1166563, 1166605, 1166723, 1167164, 1167164, 1167281, +1167635, 1169104, 1169104, 1169598, 1170996, 1171490, 1171621, 1171766, 1172158, 1172599, 1172599, 1172730, 1173084, 1174482, 1174482, 1174874, +1176036, 1179500, 1180969, 1182099, 1185563, 1187032, 1187032, 1187558, 1189027, 1190127, 1190595, 1191003, 1192103, 1195567, 1197036, 1198166, +1201630, 1203099, 1203099, 1203625, 1205094, 1205620, 1205797, 1205998, 1206492, 1206960, 1206960, 1207137, 1207578, 1209047, 1209047, 1209541, +1210939, 1212180, 1212706, 1213102, 1214343, 1214869, 1214869, 1215043, 1215537, 1215993, 1216170, 1216326, 1216758, 1217999, 1218493, 1218871, +1220065, 1223529, 1224998, 1226128, 1229592, 1231061, 1231061, 1231555, 1232953, 1234053, 1234494, 1234881, 1235943, 1239407, 1240805, 1241891, +1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, +1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, +1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, +1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, 1245252, +1245252, 1246721, 1246721, 1247189, 1248658, 1249184, 1249361, 1249562, 1250056, 1250524, 1250524, 1250680, 1251121, 1252590, 1252590, 1253031, +1254429, 1254955, 1255132, 1255333, 1255827, 1255827, 1255827, 1255827, 1255827, 1255980, 1256022, 1256064, 1256181, 1256675, 1256806, 1256951, +1257343, 1257869, 1257869, 1258022, 1258516, 1258693, 1258735, 1258777, 1258908, 1259085, 1259085, 1259127, 1259258, 1259752, 1259752, 1259869, +1260261, 1261730, 1261730, 1262171, 1263569, 1264063, 1264194, 1264339, 1264731, 1265172, 1265172, 1265290, 1265644, 1267042, 1267042, 1267396, +1268558, 1272022, 1273491, 1274621, 1278085, 1279554, 1279554, 1280048, 1281446, 1282546, 1282987, 1283374, 1284436, 1287900, 1289298, 1290384, +1293745, 1295214, 1295214, 1295708, 1297106, 1297600, 1297731, 1297876, 1298268, 1298709, 1298709, 1298840, 1299194, 1300592, 1300592, 1300984, +1302146, 1303387, 1303881, 1304259, 1305453, 1305947, 1305947, 1306077, 1306469, 1306901, 1307032, 1307150, 1307500, 1308694, 1309086, 1309398, +1310414, 1313878, 1315276, 1316362, 1319723, 1321121, 1321121, 1321513, 1322675, 1323737, 1324091, 1324407, 1325319, 1328680, 1329842, 1330768, +1333720, 1343247, 1346711, 1349787, 1359314, 1362778, 1364247, 1365377, 1368841, 1372245, 1373486, 1374761, 1378165, 1387692, 1391156, 1394232, +1403759, 1403759, 1403759, 1403759, 1403759, 1403759, 1403759, 1403759, 1403759, 1403759, 1403759, 1403759, 1403759, 1403759, 1403759, 1403759, +1403759, 1407165, 1408634, 1409739, 1413145, 1414614, 1414614, 1415082, 1416551, 1417767, 1418293, 1418751, 1419967, 1423373, 1424842, 1425947, +1429353, 1438880, 1442344, 1445420, 1454947, 1458411, 1459880, 1461010, 1464474, 1467878, 1469119, 1470394, 1473798, 1483325, 1486789, 1489865, +1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, +1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, +1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, +1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, 1499392, +1499392, 1502856, 1504325, 1505455, 1508919, 1510388, 1510388, 1510914, 1512383, 1513483, 1513951, 1514359, 1515459, 1518923, 1520392, 1521522, +1524986, 1524986, 1524986, 1524986, 1524986, 1524986, 1524986, 1524986, 1524986, 1524986, 1524986, 1524986, 1524986, 1524986, 1524986, 1524986, +1524986, 1526455, 1526455, 1526923, 1528392, 1528918, 1529095, 1529296, 1529790, 1530258, 1530258, 1530414, 1530855, 1532324, 1532324, 1532765, +1534163, 1537627, 1539096, 1540226, 1543690, 1545159, 1545159, 1545653, 1547051, 1548151, 1548592, 1548979, 1550041, 1553505, 1554903, 1555989, +1559350, 1568877, 1572341, 1575417, 1584944, 1588408, 1589877, 1591007, 1594471, 1597875, 1599116, 1600391, 1603795, 1613322, 1616786, 1619862, +1629389, 1629389, 1629389, 1629389, 1629389, 1629389, 1629389, 1629389, 1629389, 1629389, 1629389, 1629389, 1629389, 1629389, 1629389, 1629389, +1629389, 1632795, 1634264, 1635369, 1638775, 1640244, 1640244, 1640685, 1642083, 1643299, 1643793, 1644226, 1645399, 1648805, 1650203, 1651268, +1654576, 1664103, 1667567, 1670643, 1680170, 1683634, 1685032, 1686118, 1689479, 1692883, 1694077, 1695298, 1698605, 1708132, 1711493, 1714483, +1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, +1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, +1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, +1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, +1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, +1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, +1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, +1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, +1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, +1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, +1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, +1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, +1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, +1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, +1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, +1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, 1723792, +1723792, 1727256, 1728725, 1729855, 1733319, 1734788, 1734788, 1735314, 1736783, 1737883, 1738351, 1738759, 1739859, 1743323, 1744792, 1745922, +1749386, 1750855, 1750855, 1751381, 1752850, 1753376, 1753553, 1753754, 1754248, 1754716, 1754716, 1754893, 1755334, 1756803, 1756803, 1757297, +1758695, 1759936, 1760462, 1760858, 1762099, 1762625, 1762625, 1762799, 1763293, 1763749, 1763926, 1764082, 1764514, 1765755, 1766249, 1766627, +1767821, 1771285, 1772754, 1773884, 1777348, 1778817, 1778817, 1779311, 1780709, 1781809, 1782250, 1782637, 1783699, 1787163, 1788561, 1789647, +1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, +1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, +1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, +1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, 1793008, +1793008, 1794477, 1794477, 1795003, 1796472, 1796998, 1797175, 1797376, 1797870, 1798338, 1798338, 1798515, 1798956, 1800425, 1800425, 1800919, +1802317, 1802843, 1803020, 1803221, 1803715, 1803715, 1803715, 1803715, 1803715, 1803889, 1803931, 1803977, 1804107, 1804601, 1804732, 1804877, +1805269, 1805737, 1805737, 1805890, 1806331, 1806508, 1806508, 1806554, 1806685, 1806841, 1806841, 1806883, 1807001, 1807442, 1807442, 1807559, +1807913, 1809382, 1809382, 1809876, 1811274, 1811768, 1811899, 1812044, 1812436, 1812877, 1812877, 1813008, 1813362, 1814760, 1814760, 1815152, +1816314, 1819778, 1821247, 1822377, 1825841, 1827310, 1827310, 1827804, 1829202, 1830302, 1830743, 1831130, 1832192, 1835656, 1837054, 1838140, +1841501, 1842970, 1842970, 1843464, 1844862, 1845356, 1845487, 1845632, 1846024, 1846465, 1846465, 1846596, 1846950, 1848348, 1848348, 1848740, +1849902, 1851143, 1851637, 1852015, 1853209, 1853703, 1853703, 1853833, 1854225, 1854657, 1854788, 1854906, 1855256, 1856450, 1856842, 1857154, +1858170, 1861634, 1863032, 1864118, 1867479, 1868877, 1868877, 1869269, 1870431, 1871493, 1871847, 1872163, 1873075, 1876436, 1877598, 1878524, +1881476, 1891003, 1894467, 1897543, 1907070, 1910534, 1912003, 1913133, 1916597, 1920001, 1921242, 1922517, 1925921, 1935448, 1938912, 1941988, +1951515, 1951515, 1951515, 1951515, 1951515, 1951515, 1951515, 1951515, 1951515, 1951515, 1951515, 1951515, 1951515, 1951515, 1951515, 1951515, +1951515, 1954921, 1956390, 1957495, 1960901, 1962370, 1962370, 1962811, 1964209, 1965425, 1965919, 1966352, 1967525, 1970931, 1972329, 1973394, +1976702, 1986229, 1989693, 1992769, 2002296, 2005760, 2007158, 2008244, 2011605, 2015009, 2016203, 2017424, 2020731, 2030258, 2033619, 2036609, +2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, +2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, +2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, +2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, 2045918, +2045918, 2049382, 2050851, 2051981, 2055445, 2056914, 2056914, 2057408, 2058806, 2059906, 2060347, 2060734, 2061796, 2065260, 2066658, 2067744, +2071105, 2071105, 2071105, 2071105, 2071105, 2071105, 2071105, 2071105, 2071105, 2071105, 2071105, 2071105, 2071105, 2071105, 2071105, 2071105, +2071105, 2072574, 2072574, 2073015, 2074413, 2074907, 2075038, 2075183, 2075575, 2076016, 2076016, 2076134, 2076488, 2077886, 2077886, 2078240, +2079402, 2082866, 2084264, 2085350, 2088711, 2090109, 2090109, 2090501, 2091663, 2092725, 2093079, 2093395, 2094307, 2097668, 2098830, 2099756, +2102708, 2112235, 2115699, 2118775, 2128302, 2131766, 2133164, 2134250, 2137611, 2141015, 2142209, 2143430, 2146737, 2156264, 2159625, 2162615, +2171924, 2171924, 2171924, 2171924, 2171924, 2171924, 2171924, 2171924, 2171924, 2171924, 2171924, 2171924, 2171924, 2171924, 2171924, 2171924, +2171924, 2175330, 2176728, 2177793, 2181101, 2182499, 2182499, 2182853, 2184015, 2185188, 2185580, 2185930, 2186933, 2190241, 2191403, 2192316, +2195230, 2204757, 2208118, 2211108, 2220417, 2223778, 2224940, 2225866, 2228818, 2232125, 2233141, 2234172, 2237086, 2246395, 2249347, 2251991, diff --git a/src/core/short_code/offset/range_prefix/offset_0x2.inc b/src/core/short_code/offset/range_prefix/offset_0x2.inc new file mode 100644 index 0000000..276ef81 --- /dev/null +++ b/src/core/short_code/offset/range_prefix/offset_0x2.inc @@ -0,0 +1,256 @@ + 0, 9527, 12991, 16067, 25594, 29058, 30527, 31657, 35121, 38525, 39766, 41041, 44445, 53972, 57436, 60512, + 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, 70039, + 70039, 73503, 74972, 76102, 79566, 79566, 79566, 79566, 79566, 80807, 81333, 81729, 82970, 86434, 87903, 89033, + 92497, 102024, 105488, 108564, 118091, 121555, 123024, 124154, 127618, 131022, 132263, 133538, 136942, 146469, 149933, 153009, + 162536, 166000, 167469, 168599, 172063, 173532, 173532, 174058, 175527, 176627, 177095, 177503, 178603, 182067, 183536, 184666, + 188130, 189599, 189599, 190125, 191594, 192120, 192314, 192537, 193063, 193531, 193531, 193725, 194193, 195662, 195662, 196188, + 197657, 198898, 199424, 199820, 201061, 201587, 201587, 201776, 202302, 202758, 202952, 203121, 203577, 204818, 205344, 205740, + 206981, 210445, 211914, 213044, 216508, 217977, 217977, 218503, 219972, 221072, 221540, 221948, 223048, 226512, 227981, 229111, + 232575, 236039, 237508, 238638, 242102, 243571, 243571, 244097, 245566, 246666, 247134, 247542, 248642, 252106, 253575, 254705, + 258169, 258169, 258169, 258169, 258169, 258169, 258169, 258169, 258169, 258169, 258169, 258169, 258169, 258169, 258169, 258169, + 258169, 259638, 259638, 260164, 261633, 262159, 262353, 262576, 263102, 263570, 263570, 263764, 264232, 265701, 265701, 266227, + 267696, 271160, 272629, 273759, 277223, 278692, 278692, 279218, 280687, 281787, 282255, 282663, 283763, 287227, 288696, 289826, + 293290, 302817, 306281, 309357, 318884, 322348, 323817, 324947, 328411, 331815, 333056, 334331, 337735, 347262, 350726, 353802, + 363329, 363329, 363329, 363329, 363329, 363329, 363329, 363329, 363329, 363329, 363329, 363329, 363329, 363329, 363329, 363329, + 363329, 366793, 368262, 369392, 372856, 372856, 372856, 372856, 372856, 374097, 374623, 375019, 376260, 379724, 381193, 382323, + 385787, 395314, 398778, 401854, 411381, 414845, 416314, 417444, 420908, 424312, 425553, 426828, 430232, 439759, 443223, 446299, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, 455826, + 455826, 459290, 460759, 461889, 465353, 466822, 466822, 467348, 468817, 469917, 470385, 470793, 471893, 475357, 476826, 477956, + 481420, 482889, 482889, 483415, 484884, 485410, 485604, 485827, 486353, 486821, 486821, 487015, 487483, 488952, 488952, 489478, + 490947, 492188, 492714, 493110, 494351, 494877, 494877, 495066, 495592, 496048, 496242, 496411, 496867, 498108, 498634, 499030, + 500271, 503735, 505204, 506334, 509798, 511267, 511267, 511793, 513262, 514362, 514830, 515238, 516338, 519802, 521271, 522401, + 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, + 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, + 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, + 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, 525865, + 525865, 527334, 527334, 527860, 529329, 529855, 530049, 530272, 530798, 531266, 531266, 531460, 531928, 533397, 533397, 533923, + 535392, 535918, 536112, 536335, 536861, 536861, 536861, 536861, 536861, 537050, 537111, 537181, 537355, 537881, 538058, 538259, + 538753, 539221, 539221, 539385, 539853, 540047, 540047, 540117, 540294, 540463, 540463, 540525, 540681, 541149, 541149, 541302, + 541743, 543212, 543212, 543738, 545207, 545733, 545910, 546111, 546605, 547073, 547073, 547250, 547691, 549160, 549160, 549654, + 551052, 554516, 555985, 557115, 560579, 562048, 562048, 562574, 564043, 565143, 565611, 566019, 567119, 570583, 572052, 573182, + 576646, 578115, 578115, 578641, 580110, 580636, 580813, 581014, 581508, 581976, 581976, 582153, 582594, 584063, 584063, 584557, + 585955, 587196, 587722, 588118, 589359, 589885, 589885, 590059, 590553, 591009, 591186, 591342, 591774, 593015, 593509, 593887, + 595081, 598545, 600014, 601144, 604608, 606077, 606077, 606571, 607969, 609069, 609510, 609897, 610959, 614423, 615821, 616907, + 620268, 629795, 633259, 636335, 645862, 649326, 650795, 651925, 655389, 658793, 660034, 661309, 664713, 674240, 677704, 680780, + 690307, 690307, 690307, 690307, 690307, 690307, 690307, 690307, 690307, 690307, 690307, 690307, 690307, 690307, 690307, 690307, + 690307, 693771, 695240, 696370, 699834, 699834, 699834, 699834, 699834, 701075, 701601, 701997, 703238, 706702, 708171, 709301, + 712765, 722292, 725756, 728832, 738359, 741823, 743292, 744422, 747886, 751290, 752531, 753806, 757210, 766737, 770201, 773277, + 782804, 786268, 787737, 788867, 792331, 793800, 793800, 794326, 795795, 796895, 797363, 797771, 798871, 802335, 803804, 804934, + 808398, 809867, 809867, 810393, 811862, 812388, 812565, 812766, 813260, 813728, 813728, 813905, 814346, 815815, 815815, 816309, + 817707, 818948, 819474, 819870, 821111, 821637, 821637, 821811, 822305, 822761, 822938, 823094, 823526, 824767, 825261, 825639, + 826833, 830297, 831766, 832896, 836360, 837829, 837829, 838323, 839721, 840821, 841262, 841649, 842711, 846175, 847573, 848659, + 852020, 855484, 856953, 858083, 861547, 863016, 863016, 863542, 865011, 866111, 866579, 866987, 868087, 871551, 873020, 874150, + 877614, 877614, 877614, 877614, 877614, 877614, 877614, 877614, 877614, 877614, 877614, 877614, 877614, 877614, 877614, 877614, + 877614, 879083, 879083, 879609, 881078, 881604, 881781, 881982, 882476, 882944, 882944, 883121, 883562, 885031, 885031, 885525, + 886923, 890387, 891856, 892986, 896450, 897919, 897919, 898413, 899811, 900911, 901352, 901739, 902801, 906265, 907663, 908749, + 912110, 921637, 925101, 928177, 937704, 941168, 942637, 943767, 947231, 950635, 951876, 953151, 956555, 966082, 969546, 972622, + 982149, 982149, 982149, 982149, 982149, 982149, 982149, 982149, 982149, 982149, 982149, 982149, 982149, 982149, 982149, 982149, + 982149, 985613, 987082, 988212, 991676, 991676, 991676, 991676, 991676, 992917, 993411, 993789, 994983, 998447, 999845, 1000931, +1004292, 1013819, 1017283, 1020359, 1029886, 1033350, 1034748, 1035834, 1039195, 1042599, 1043793, 1045014, 1048321, 1057848, 1061209, 1064199, +1073508, 1076972, 1078441, 1079571, 1083035, 1084504, 1084504, 1085030, 1086499, 1087599, 1088067, 1088475, 1089575, 1093039, 1094508, 1095638, +1099102, 1100571, 1100571, 1101097, 1102566, 1103092, 1103286, 1103509, 1104035, 1104503, 1104503, 1104697, 1105165, 1106634, 1106634, 1107160, +1108629, 1109870, 1110396, 1110792, 1112033, 1112559, 1112559, 1112748, 1113274, 1113730, 1113924, 1114093, 1114549, 1115790, 1116316, 1116712, +1117953, 1121417, 1122886, 1124016, 1127480, 1128949, 1128949, 1129475, 1130944, 1132044, 1132512, 1132920, 1134020, 1137484, 1138953, 1140083, +1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, +1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, +1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, +1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, 1143547, +1143547, 1145016, 1145016, 1145542, 1147011, 1147537, 1147731, 1147954, 1148480, 1148948, 1148948, 1149142, 1149610, 1151079, 1151079, 1151605, +1153074, 1153074, 1153074, 1153074, 1153074, 1153074, 1153074, 1153074, 1153074, 1153074, 1153074, 1153074, 1153074, 1153074, 1153074, 1153074, +1153074, 1153600, 1153600, 1153789, 1154315, 1154509, 1154571, 1154632, 1154809, 1154973, 1154973, 1155034, 1155187, 1155713, 1155713, 1155887, +1156381, 1157850, 1157850, 1158376, 1159845, 1160371, 1160548, 1160749, 1161243, 1161711, 1161711, 1161888, 1162329, 1163798, 1163798, 1164292, +1165690, 1169154, 1170623, 1171753, 1175217, 1176686, 1176686, 1177212, 1178681, 1179781, 1180249, 1180657, 1181757, 1185221, 1186690, 1187820, +1191284, 1192753, 1192753, 1193279, 1194748, 1195274, 1195451, 1195652, 1196146, 1196614, 1196614, 1196791, 1197232, 1198701, 1198701, 1199195, +1200593, 1201834, 1202360, 1202756, 1203997, 1204523, 1204523, 1204697, 1205191, 1205647, 1205824, 1205980, 1206412, 1207653, 1208147, 1208525, +1209719, 1213183, 1214652, 1215782, 1219246, 1220715, 1220715, 1221209, 1222607, 1223707, 1224148, 1224535, 1225597, 1229061, 1230459, 1231545, +1234906, 1236375, 1236375, 1236901, 1238370, 1238896, 1239090, 1239313, 1239839, 1240307, 1240307, 1240501, 1240969, 1242438, 1242438, 1242964, +1244433, 1244959, 1245153, 1245376, 1245902, 1245902, 1245902, 1245902, 1245902, 1246091, 1246152, 1246222, 1246396, 1246922, 1247099, 1247300, +1247794, 1248262, 1248262, 1248426, 1248894, 1249088, 1249088, 1249158, 1249335, 1249504, 1249504, 1249566, 1249722, 1250190, 1250190, 1250343, +1250784, 1252253, 1252253, 1252779, 1254248, 1254774, 1254951, 1255152, 1255646, 1256114, 1256114, 1256291, 1256732, 1258201, 1258201, 1258695, +1260093, 1260619, 1260813, 1261036, 1261562, 1261562, 1261562, 1261562, 1261562, 1261751, 1261812, 1261882, 1262056, 1262582, 1262759, 1262960, +1263454, 1263648, 1263710, 1263771, 1263948, 1264010, 1264024, 1264037, 1264079, 1264149, 1264163, 1264178, 1264224, 1264401, 1264443, 1264485, +1264616, 1264780, 1264842, 1264904, 1265057, 1265057, 1265057, 1265057, 1265057, 1265118, 1265132, 1265146, 1265188, 1265341, 1265383, 1265425, +1265542, 1266068, 1266245, 1266446, 1266940, 1266940, 1266940, 1266940, 1266940, 1267114, 1267156, 1267202, 1267332, 1267826, 1267957, 1268102, +1268494, 1269020, 1269020, 1269209, 1269735, 1269929, 1269991, 1270052, 1270229, 1270393, 1270393, 1270454, 1270607, 1271133, 1271133, 1271307, +1271801, 1271995, 1272057, 1272118, 1272295, 1272295, 1272295, 1272295, 1272295, 1272356, 1272370, 1272383, 1272425, 1272602, 1272644, 1272686, +1272817, 1273011, 1273011, 1273072, 1273249, 1273311, 1273325, 1273338, 1273380, 1273442, 1273442, 1273456, 1273498, 1273675, 1273675, 1273717, +1273848, 1274374, 1274374, 1274548, 1275042, 1275219, 1275261, 1275303, 1275434, 1275587, 1275587, 1275629, 1275746, 1276240, 1276240, 1276370, +1276762, 1278231, 1278231, 1278757, 1280226, 1280752, 1280929, 1281130, 1281624, 1282092, 1282092, 1282269, 1282710, 1284179, 1284179, 1284673, +1286071, 1286597, 1286774, 1286975, 1287469, 1287469, 1287469, 1287469, 1287469, 1287643, 1287685, 1287731, 1287861, 1288355, 1288486, 1288631, +1289023, 1289491, 1289491, 1289644, 1290085, 1290262, 1290262, 1290308, 1290439, 1290595, 1290595, 1290637, 1290755, 1291196, 1291196, 1291313, +1291667, 1293136, 1293136, 1293630, 1295028, 1295522, 1295653, 1295798, 1296190, 1296631, 1296631, 1296762, 1297116, 1298514, 1298514, 1298906, +1300068, 1301537, 1301537, 1302063, 1303532, 1304058, 1304252, 1304475, 1305001, 1305469, 1305469, 1305663, 1306131, 1307600, 1307600, 1308126, +1309595, 1310121, 1310315, 1310538, 1311064, 1311064, 1311064, 1311064, 1311064, 1311253, 1311314, 1311384, 1311558, 1312084, 1312261, 1312462, +1312956, 1313424, 1313424, 1313588, 1314056, 1314250, 1314250, 1314320, 1314497, 1314666, 1314666, 1314728, 1314884, 1315352, 1315352, 1315505, +1315946, 1317415, 1317415, 1317941, 1319410, 1319936, 1320113, 1320314, 1320808, 1321276, 1321276, 1321453, 1321894, 1323363, 1323363, 1323857, +1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, +1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, +1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, +1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, 1325255, +1325255, 1325781, 1325975, 1326198, 1326724, 1326724, 1326724, 1326724, 1326724, 1326913, 1326974, 1327044, 1327218, 1327744, 1327921, 1328122, +1328616, 1328810, 1328872, 1328933, 1329110, 1329172, 1329186, 1329199, 1329241, 1329311, 1329325, 1329340, 1329386, 1329563, 1329605, 1329647, +1329778, 1329942, 1330004, 1330066, 1330219, 1330219, 1330219, 1330219, 1330219, 1330280, 1330294, 1330308, 1330350, 1330503, 1330545, 1330587, +1330704, 1331230, 1331407, 1331608, 1332102, 1332102, 1332102, 1332102, 1332102, 1332276, 1332318, 1332364, 1332494, 1332988, 1333119, 1333264, +1333656, 1335125, 1335125, 1335651, 1337120, 1337646, 1337823, 1338024, 1338518, 1338986, 1338986, 1339163, 1339604, 1341073, 1341073, 1341567, +1342965, 1343491, 1343668, 1343869, 1344363, 1344363, 1344363, 1344363, 1344363, 1344537, 1344579, 1344625, 1344755, 1345249, 1345380, 1345525, +1345917, 1346385, 1346385, 1346538, 1346979, 1347156, 1347156, 1347202, 1347333, 1347489, 1347489, 1347531, 1347649, 1348090, 1348090, 1348207, +1348561, 1350030, 1350030, 1350524, 1351922, 1352416, 1352547, 1352692, 1353084, 1353525, 1353525, 1353656, 1354010, 1355408, 1355408, 1355800, +1356962, 1360426, 1361895, 1363025, 1366489, 1367958, 1367958, 1368484, 1369953, 1371053, 1371521, 1371929, 1373029, 1376493, 1377962, 1379092, +1382556, 1384025, 1384025, 1384551, 1386020, 1386546, 1386723, 1386924, 1387418, 1387886, 1387886, 1388063, 1388504, 1389973, 1389973, 1390467, +1391865, 1393106, 1393632, 1394028, 1395269, 1395795, 1395795, 1395969, 1396463, 1396919, 1397096, 1397252, 1397684, 1398925, 1399419, 1399797, +1400991, 1404455, 1405924, 1407054, 1410518, 1411987, 1411987, 1412481, 1413879, 1414979, 1415420, 1415807, 1416869, 1420333, 1421731, 1422817, +1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, +1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, +1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, +1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, 1426178, +1426178, 1427647, 1427647, 1428173, 1429642, 1430168, 1430345, 1430546, 1431040, 1431508, 1431508, 1431685, 1432126, 1433595, 1433595, 1434089, +1435487, 1435487, 1435487, 1435487, 1435487, 1435487, 1435487, 1435487, 1435487, 1435487, 1435487, 1435487, 1435487, 1435487, 1435487, 1435487, +1435487, 1436013, 1436013, 1436187, 1436681, 1436858, 1436900, 1436942, 1437073, 1437226, 1437226, 1437268, 1437385, 1437879, 1437879, 1438009, +1438401, 1439870, 1439870, 1440364, 1441762, 1442256, 1442387, 1442532, 1442924, 1443365, 1443365, 1443496, 1443850, 1445248, 1445248, 1445640, +1446802, 1450266, 1451735, 1452865, 1456329, 1457798, 1457798, 1458292, 1459690, 1460790, 1461231, 1461618, 1462680, 1466144, 1467542, 1468628, +1471989, 1473458, 1473458, 1473952, 1475350, 1475844, 1475975, 1476120, 1476512, 1476953, 1476953, 1477084, 1477438, 1478836, 1478836, 1479228, +1480390, 1481631, 1482125, 1482503, 1483697, 1484191, 1484191, 1484321, 1484713, 1485145, 1485276, 1485394, 1485744, 1486938, 1487330, 1487642, +1488658, 1492122, 1493520, 1494606, 1497967, 1499365, 1499365, 1499757, 1500919, 1501981, 1502335, 1502651, 1503563, 1506924, 1508086, 1509012, +1511964, 1515428, 1516897, 1518027, 1521491, 1522960, 1522960, 1523486, 1524955, 1526055, 1526523, 1526931, 1528031, 1531495, 1532964, 1534094, +1537558, 1539027, 1539027, 1539553, 1541022, 1541548, 1541742, 1541965, 1542491, 1542959, 1542959, 1543153, 1543621, 1545090, 1545090, 1545616, +1547085, 1548326, 1548852, 1549248, 1550489, 1551015, 1551015, 1551204, 1551730, 1552186, 1552380, 1552549, 1553005, 1554246, 1554772, 1555168, +1556409, 1559873, 1561342, 1562472, 1565936, 1567405, 1567405, 1567931, 1569400, 1570500, 1570968, 1571376, 1572476, 1575940, 1577409, 1578539, +1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, +1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, +1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, +1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, 1582003, +1582003, 1583472, 1583472, 1583998, 1585467, 1585993, 1586187, 1586410, 1586936, 1587404, 1587404, 1587598, 1588066, 1589535, 1589535, 1590061, +1591530, 1591530, 1591530, 1591530, 1591530, 1591530, 1591530, 1591530, 1591530, 1591530, 1591530, 1591530, 1591530, 1591530, 1591530, 1591530, +1591530, 1592056, 1592056, 1592245, 1592771, 1592965, 1593027, 1593088, 1593265, 1593429, 1593429, 1593490, 1593643, 1594169, 1594169, 1594343, +1594837, 1596306, 1596306, 1596832, 1598301, 1598827, 1599004, 1599205, 1599699, 1600167, 1600167, 1600344, 1600785, 1602254, 1602254, 1602748, +1604146, 1607610, 1609079, 1610209, 1613673, 1615142, 1615142, 1615668, 1617137, 1618237, 1618705, 1619113, 1620213, 1623677, 1625146, 1626276, +1629740, 1631209, 1631209, 1631735, 1633204, 1633730, 1633907, 1634108, 1634602, 1635070, 1635070, 1635247, 1635688, 1637157, 1637157, 1637651, +1639049, 1640290, 1640816, 1641212, 1642453, 1642979, 1642979, 1643153, 1643647, 1644103, 1644280, 1644436, 1644868, 1646109, 1646603, 1646981, +1648175, 1651639, 1653108, 1654238, 1657702, 1659171, 1659171, 1659665, 1661063, 1662163, 1662604, 1662991, 1664053, 1667517, 1668915, 1670001, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, 1673362, +1673362, 1674831, 1674831, 1675357, 1676826, 1677352, 1677546, 1677769, 1678295, 1678763, 1678763, 1678957, 1679425, 1680894, 1680894, 1681420, +1682889, 1683415, 1683609, 1683832, 1684358, 1684358, 1684358, 1684358, 1684358, 1684547, 1684608, 1684678, 1684852, 1685378, 1685555, 1685756, +1686250, 1686718, 1686718, 1686882, 1687350, 1687544, 1687544, 1687614, 1687791, 1687960, 1687960, 1688022, 1688178, 1688646, 1688646, 1688799, +1689240, 1690709, 1690709, 1691235, 1692704, 1693230, 1693407, 1693608, 1694102, 1694570, 1694570, 1694747, 1695188, 1696657, 1696657, 1697151, +1698549, 1699075, 1699269, 1699492, 1700018, 1700018, 1700018, 1700018, 1700018, 1700207, 1700268, 1700338, 1700512, 1701038, 1701215, 1701416, +1701910, 1702104, 1702166, 1702227, 1702404, 1702466, 1702480, 1702493, 1702535, 1702605, 1702619, 1702634, 1702680, 1702857, 1702899, 1702941, +1703072, 1703236, 1703298, 1703360, 1703513, 1703513, 1703513, 1703513, 1703513, 1703574, 1703588, 1703602, 1703644, 1703797, 1703839, 1703881, +1703998, 1704524, 1704701, 1704902, 1705396, 1705396, 1705396, 1705396, 1705396, 1705570, 1705612, 1705658, 1705788, 1706282, 1706413, 1706558, +1706950, 1707476, 1707476, 1707665, 1708191, 1708385, 1708447, 1708508, 1708685, 1708849, 1708849, 1708910, 1709063, 1709589, 1709589, 1709763, +1710257, 1710451, 1710513, 1710574, 1710751, 1710751, 1710751, 1710751, 1710751, 1710812, 1710826, 1710839, 1710881, 1711058, 1711100, 1711142, +1711273, 1711467, 1711467, 1711528, 1711705, 1711767, 1711781, 1711794, 1711836, 1711898, 1711898, 1711912, 1711954, 1712131, 1712131, 1712173, +1712304, 1712830, 1712830, 1713004, 1713498, 1713675, 1713717, 1713759, 1713890, 1714043, 1714043, 1714085, 1714202, 1714696, 1714696, 1714826, +1715218, 1716687, 1716687, 1717213, 1718682, 1719208, 1719385, 1719586, 1720080, 1720548, 1720548, 1720725, 1721166, 1722635, 1722635, 1723129, +1724527, 1725053, 1725230, 1725431, 1725925, 1725925, 1725925, 1725925, 1725925, 1726099, 1726141, 1726187, 1726317, 1726811, 1726942, 1727087, +1727479, 1727947, 1727947, 1728100, 1728541, 1728718, 1728718, 1728764, 1728895, 1729051, 1729051, 1729093, 1729211, 1729652, 1729652, 1729769, +1730123, 1731592, 1731592, 1732086, 1733484, 1733978, 1734109, 1734254, 1734646, 1735087, 1735087, 1735218, 1735572, 1736970, 1736970, 1737362, +1738524, 1741988, 1743457, 1744587, 1748051, 1749520, 1749520, 1750046, 1751515, 1752615, 1753083, 1753491, 1754591, 1758055, 1759524, 1760654, +1764118, 1765587, 1765587, 1766113, 1767582, 1768108, 1768285, 1768486, 1768980, 1769448, 1769448, 1769625, 1770066, 1771535, 1771535, 1772029, +1773427, 1774668, 1775194, 1775590, 1776831, 1777357, 1777357, 1777531, 1778025, 1778481, 1778658, 1778814, 1779246, 1780487, 1780981, 1781359, +1782553, 1786017, 1787486, 1788616, 1792080, 1793549, 1793549, 1794043, 1795441, 1796541, 1796982, 1797369, 1798431, 1801895, 1803293, 1804379, +1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, +1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, +1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, +1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, 1807740, +1807740, 1809209, 1809209, 1809735, 1811204, 1811730, 1811907, 1812108, 1812602, 1813070, 1813070, 1813247, 1813688, 1815157, 1815157, 1815651, +1817049, 1817049, 1817049, 1817049, 1817049, 1817049, 1817049, 1817049, 1817049, 1817049, 1817049, 1817049, 1817049, 1817049, 1817049, 1817049, +1817049, 1817575, 1817575, 1817749, 1818243, 1818420, 1818462, 1818504, 1818635, 1818788, 1818788, 1818830, 1818947, 1819441, 1819441, 1819571, +1819963, 1821432, 1821432, 1821926, 1823324, 1823818, 1823949, 1824094, 1824486, 1824927, 1824927, 1825058, 1825412, 1826810, 1826810, 1827202, +1828364, 1831828, 1833297, 1834427, 1837891, 1839360, 1839360, 1839854, 1841252, 1842352, 1842793, 1843180, 1844242, 1847706, 1849104, 1850190, +1853551, 1855020, 1855020, 1855514, 1856912, 1857406, 1857537, 1857682, 1858074, 1858515, 1858515, 1858646, 1859000, 1860398, 1860398, 1860790, +1861952, 1863193, 1863687, 1864065, 1865259, 1865753, 1865753, 1865883, 1866275, 1866707, 1866838, 1866956, 1867306, 1868500, 1868892, 1869204, +1870220, 1873684, 1875082, 1876168, 1879529, 1880927, 1880927, 1881319, 1882481, 1883543, 1883897, 1884213, 1885125, 1888486, 1889648, 1890574, +1893526, 1903053, 1906517, 1909593, 1919120, 1922584, 1924053, 1925183, 1928647, 1932051, 1933292, 1934567, 1937971, 1947498, 1950962, 1954038, +1963565, 1963565, 1963565, 1963565, 1963565, 1963565, 1963565, 1963565, 1963565, 1963565, 1963565, 1963565, 1963565, 1963565, 1963565, 1963565, +1963565, 1967029, 1968498, 1969628, 1973092, 1973092, 1973092, 1973092, 1973092, 1974333, 1974859, 1975255, 1976496, 1979960, 1981429, 1982559, +1986023, 1995550, 1999014, 2002090, 2011617, 2015081, 2016550, 2017680, 2021144, 2024548, 2025789, 2027064, 2030468, 2039995, 2043459, 2046535, +2056062, 2059526, 2060995, 2062125, 2065589, 2067058, 2067058, 2067584, 2069053, 2070153, 2070621, 2071029, 2072129, 2075593, 2077062, 2078192, +2081656, 2083125, 2083125, 2083651, 2085120, 2085646, 2085823, 2086024, 2086518, 2086986, 2086986, 2087163, 2087604, 2089073, 2089073, 2089567, +2090965, 2092206, 2092732, 2093128, 2094369, 2094895, 2094895, 2095069, 2095563, 2096019, 2096196, 2096352, 2096784, 2098025, 2098519, 2098897, +2100091, 2103555, 2105024, 2106154, 2109618, 2111087, 2111087, 2111581, 2112979, 2114079, 2114520, 2114907, 2115969, 2119433, 2120831, 2121917, +2125278, 2128742, 2130211, 2131341, 2134805, 2136274, 2136274, 2136800, 2138269, 2139369, 2139837, 2140245, 2141345, 2144809, 2146278, 2147408, +2150872, 2150872, 2150872, 2150872, 2150872, 2150872, 2150872, 2150872, 2150872, 2150872, 2150872, 2150872, 2150872, 2150872, 2150872, 2150872, +2150872, 2152341, 2152341, 2152867, 2154336, 2154862, 2155039, 2155240, 2155734, 2156202, 2156202, 2156379, 2156820, 2158289, 2158289, 2158783, +2160181, 2163645, 2165114, 2166244, 2169708, 2171177, 2171177, 2171671, 2173069, 2174169, 2174610, 2174997, 2176059, 2179523, 2180921, 2182007, +2185368, 2194895, 2198359, 2201435, 2210962, 2214426, 2215895, 2217025, 2220489, 2223893, 2225134, 2226409, 2229813, 2239340, 2242804, 2245880, +2255407, 2255407, 2255407, 2255407, 2255407, 2255407, 2255407, 2255407, 2255407, 2255407, 2255407, 2255407, 2255407, 2255407, 2255407, 2255407, +2255407, 2258871, 2260340, 2261470, 2264934, 2264934, 2264934, 2264934, 2264934, 2266175, 2266669, 2267047, 2268241, 2271705, 2273103, 2274189, +2277550, 2287077, 2290541, 2293617, 2303144, 2306608, 2308006, 2309092, 2312453, 2315857, 2317051, 2318272, 2321579, 2331106, 2334467, 2337457, +2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, +2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, +2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, +2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, +2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, +2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, +2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, +2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, +2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, +2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, +2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, +2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, +2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, +2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, +2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, +2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, 2346766, +2346766, 2350230, 2351699, 2352829, 2356293, 2357762, 2357762, 2358288, 2359757, 2360857, 2361325, 2361733, 2362833, 2366297, 2367766, 2368896, +2372360, 2373829, 2373829, 2374355, 2375824, 2376350, 2376527, 2376728, 2377222, 2377690, 2377690, 2377867, 2378308, 2379777, 2379777, 2380271, +2381669, 2382910, 2383436, 2383832, 2385073, 2385599, 2385599, 2385773, 2386267, 2386723, 2386900, 2387056, 2387488, 2388729, 2389223, 2389601, +2390795, 2394259, 2395728, 2396858, 2400322, 2401791, 2401791, 2402285, 2403683, 2404783, 2405224, 2405611, 2406673, 2410137, 2411535, 2412621, +2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, +2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, +2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, +2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, 2415982, +2415982, 2417451, 2417451, 2417977, 2419446, 2419972, 2420149, 2420350, 2420844, 2421312, 2421312, 2421489, 2421930, 2423399, 2423399, 2423893, +2425291, 2425817, 2425994, 2426195, 2426689, 2426689, 2426689, 2426689, 2426689, 2426863, 2426905, 2426951, 2427081, 2427575, 2427706, 2427851, +2428243, 2428711, 2428711, 2428864, 2429305, 2429482, 2429482, 2429528, 2429659, 2429815, 2429815, 2429857, 2429975, 2430416, 2430416, 2430533, +2430887, 2432356, 2432356, 2432850, 2434248, 2434742, 2434873, 2435018, 2435410, 2435851, 2435851, 2435982, 2436336, 2437734, 2437734, 2438126, +2439288, 2442752, 2444221, 2445351, 2448815, 2450284, 2450284, 2450778, 2452176, 2453276, 2453717, 2454104, 2455166, 2458630, 2460028, 2461114, +2464475, 2465944, 2465944, 2466438, 2467836, 2468330, 2468461, 2468606, 2468998, 2469439, 2469439, 2469570, 2469924, 2471322, 2471322, 2471714, +2472876, 2474117, 2474611, 2474989, 2476183, 2476677, 2476677, 2476807, 2477199, 2477631, 2477762, 2477880, 2478230, 2479424, 2479816, 2480128, +2481144, 2484608, 2486006, 2487092, 2490453, 2491851, 2491851, 2492243, 2493405, 2494467, 2494821, 2495137, 2496049, 2499410, 2500572, 2501498, +2504450, 2513977, 2517441, 2520517, 2530044, 2533508, 2534977, 2536107, 2539571, 2542975, 2544216, 2545491, 2548895, 2558422, 2561886, 2564962, +2574489, 2574489, 2574489, 2574489, 2574489, 2574489, 2574489, 2574489, 2574489, 2574489, 2574489, 2574489, 2574489, 2574489, 2574489, 2574489, +2574489, 2577953, 2579422, 2580552, 2584016, 2584016, 2584016, 2584016, 2584016, 2585257, 2585751, 2586129, 2587323, 2590787, 2592185, 2593271, +2596632, 2606159, 2609623, 2612699, 2622226, 2625690, 2627088, 2628174, 2631535, 2634939, 2636133, 2637354, 2640661, 2650188, 2653549, 2656539, +2665848, 2669312, 2670781, 2671911, 2675375, 2676844, 2676844, 2677338, 2678736, 2679836, 2680277, 2680664, 2681726, 2685190, 2686588, 2687674, +2691035, 2692504, 2692504, 2692998, 2694396, 2694890, 2695021, 2695166, 2695558, 2695999, 2695999, 2696130, 2696484, 2697882, 2697882, 2698274, +2699436, 2700677, 2701171, 2701549, 2702743, 2703237, 2703237, 2703367, 2703759, 2704191, 2704322, 2704440, 2704790, 2705984, 2706376, 2706688, +2707704, 2711168, 2712566, 2713652, 2717013, 2718411, 2718411, 2718803, 2719965, 2721027, 2721381, 2721697, 2722609, 2725970, 2727132, 2728058, +2731010, 2734474, 2735943, 2737073, 2740537, 2742006, 2742006, 2742500, 2743898, 2744998, 2745439, 2745826, 2746888, 2750352, 2751750, 2752836, +2756197, 2756197, 2756197, 2756197, 2756197, 2756197, 2756197, 2756197, 2756197, 2756197, 2756197, 2756197, 2756197, 2756197, 2756197, 2756197, +2756197, 2757666, 2757666, 2758160, 2759558, 2760052, 2760183, 2760328, 2760720, 2761161, 2761161, 2761292, 2761646, 2763044, 2763044, 2763436, +2764598, 2768062, 2769460, 2770546, 2773907, 2775305, 2775305, 2775697, 2776859, 2777921, 2778275, 2778591, 2779503, 2782864, 2784026, 2784952, +2787904, 2797431, 2800895, 2803971, 2813498, 2816962, 2818360, 2819446, 2822807, 2826211, 2827405, 2828626, 2831933, 2841460, 2844821, 2847811, +2857120, 2857120, 2857120, 2857120, 2857120, 2857120, 2857120, 2857120, 2857120, 2857120, 2857120, 2857120, 2857120, 2857120, 2857120, 2857120, +2857120, 2860584, 2861982, 2863068, 2866429, 2866429, 2866429, 2866429, 2866429, 2867623, 2868015, 2868327, 2869343, 2872704, 2873866, 2874792, +2877744, 2887271, 2890632, 2893622, 2902931, 2906292, 2907454, 2908380, 2911332, 2914639, 2915655, 2916686, 2919600, 2928909, 2931861, 2934505, diff --git a/src/core/short_code/offset/range_prefix/offset_0x4.inc b/src/core/short_code/offset/range_prefix/offset_0x4.inc new file mode 100644 index 0000000..282987f --- /dev/null +++ b/src/core/short_code/offset/range_prefix/offset_0x4.inc @@ -0,0 +1,256 @@ + 0, 9527, 9527, 12933, 22460, 25924, 27393, 28523, 31987, 35451, 35451, 36920, 40384, 49911, 49911, 53317, + 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, + 62844, 66308, 67777, 68907, 72371, 72371, 72371, 72371, 72371, 73840, 73840, 74366, 75835, 79299, 80768, 81898, + 85362, 94889, 94889, 98295, 107822, 111286, 112755, 113885, 117349, 120813, 120813, 122282, 125746, 135273, 135273, 138679, + 148206, 151670, 153139, 154269, 157733, 157733, 157733, 157733, 157733, 159202, 159202, 159670, 161139, 164603, 166072, 167202, + 170666, 172135, 172135, 172661, 174130, 174656, 174850, 175073, 175599, 176067, 176067, 176261, 176729, 178198, 178198, 178724, + 180193, 181662, 181662, 182188, 183657, 183657, 183657, 183657, 183657, 184183, 184377, 184600, 185126, 186595, 186595, 187121, + 188590, 192054, 193523, 194653, 198117, 198117, 198117, 198117, 198117, 199586, 199586, 200054, 201523, 204987, 206456, 207586, + 211050, 214514, 215983, 217113, 220577, 220577, 220577, 220577, 220577, 222046, 222046, 222514, 223983, 227447, 228916, 230046, + 233510, 233510, 233510, 233510, 233510, 233510, 233510, 233510, 233510, 233510, 233510, 233510, 233510, 233510, 233510, 233510, + 233510, 234979, 234979, 235505, 236974, 237500, 237694, 237917, 238443, 238911, 238911, 239105, 239573, 241042, 241042, 241568, + 243037, 246501, 247970, 249100, 252564, 252564, 252564, 252564, 252564, 254033, 254033, 254501, 255970, 259434, 260903, 262033, + 265497, 275024, 275024, 278430, 287957, 291421, 292890, 294020, 297484, 300948, 300948, 302417, 305881, 315408, 315408, 318814, + 328341, 328341, 328341, 328341, 328341, 328341, 328341, 328341, 328341, 328341, 328341, 328341, 328341, 328341, 328341, 328341, + 328341, 331805, 333274, 334404, 337868, 337868, 337868, 337868, 337868, 339337, 339337, 339863, 341332, 344796, 346265, 347395, + 350859, 360386, 360386, 363792, 373319, 376783, 378252, 379382, 382846, 386310, 386310, 387779, 391243, 400770, 400770, 404176, + 413703, 417167, 418636, 419766, 423230, 423230, 423230, 423230, 423230, 424699, 424699, 425167, 426636, 430100, 431569, 432699, + 436163, 437632, 437632, 438158, 439627, 440153, 440347, 440570, 441096, 441564, 441564, 441758, 442226, 443695, 443695, 444221, + 445690, 447159, 447159, 447685, 449154, 449154, 449154, 449154, 449154, 449680, 449874, 450097, 450623, 452092, 452092, 452618, + 454087, 457551, 459020, 460150, 463614, 463614, 463614, 463614, 463614, 465083, 465083, 465551, 467020, 470484, 471953, 473083, + 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, + 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, + 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, + 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, 476547, + 476547, 478016, 478016, 478542, 480011, 480537, 480731, 480954, 481480, 481948, 481948, 482142, 482610, 484079, 484079, 484605, + 486074, 486074, 486074, 486074, 486074, 486074, 486074, 486074, 486074, 486074, 486074, 486074, 486074, 486074, 486074, 486074, + 486074, 486600, 486794, 487017, 487543, 487543, 487543, 487543, 487543, 487732, 487793, 487863, 488037, 488563, 488740, 488941, + 489435, 490904, 490904, 491430, 492899, 493425, 493602, 493803, 494297, 494765, 494765, 494942, 495383, 496852, 496852, 497346, + 498744, 502208, 503677, 504807, 508271, 508271, 508271, 508271, 508271, 509740, 509740, 510208, 511677, 515141, 516610, 517740, + 521204, 522673, 522673, 523199, 524668, 525194, 525371, 525572, 526066, 526534, 526534, 526711, 527152, 528621, 528621, 529115, + 530513, 531982, 531982, 532508, 533977, 533977, 533977, 533977, 533977, 534503, 534680, 534881, 535375, 536844, 536844, 537338, + 538736, 542200, 543669, 544799, 548263, 548263, 548263, 548263, 548263, 549732, 549732, 550173, 551571, 555035, 556433, 557519, + 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, + 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, + 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, + 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, + 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, + 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, + 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, + 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, + 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, + 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, + 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, + 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, + 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, + 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, + 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, + 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, 560880, + 560880, 570407, 570407, 573813, 583340, 586804, 588273, 589403, 592867, 596331, 596331, 597800, 601264, 610791, 610791, 614197, + 623724, 623724, 623724, 623724, 623724, 623724, 623724, 623724, 623724, 623724, 623724, 623724, 623724, 623724, 623724, 623724, + 623724, 627188, 628657, 629787, 633251, 633251, 633251, 633251, 633251, 634720, 634720, 635246, 636715, 640179, 641648, 642778, + 646242, 655769, 655769, 659175, 668702, 672166, 673635, 674765, 678229, 681693, 681693, 683162, 686626, 696153, 696153, 699559, + 709086, 712550, 714019, 715149, 718613, 718613, 718613, 718613, 718613, 720082, 720082, 720550, 722019, 725483, 726952, 728082, + 731546, 733015, 733015, 733541, 735010, 735536, 735713, 735914, 736408, 736876, 736876, 737053, 737494, 738963, 738963, 739457, + 740855, 742324, 742324, 742850, 744319, 744319, 744319, 744319, 744319, 744845, 745022, 745223, 745717, 747186, 747186, 747680, + 749078, 752542, 754011, 755141, 758605, 758605, 758605, 758605, 758605, 760074, 760074, 760515, 761913, 765377, 766775, 767861, + 771222, 774686, 776155, 777285, 780749, 780749, 780749, 780749, 780749, 782218, 782218, 782686, 784155, 787619, 789088, 790218, + 793682, 793682, 793682, 793682, 793682, 793682, 793682, 793682, 793682, 793682, 793682, 793682, 793682, 793682, 793682, 793682, + 793682, 795151, 795151, 795677, 797146, 797672, 797849, 798050, 798544, 799012, 799012, 799189, 799630, 801099, 801099, 801593, + 802991, 806455, 807924, 809054, 812518, 812518, 812518, 812518, 812518, 813987, 813987, 814428, 815826, 819290, 820688, 821774, + 825135, 834662, 834662, 838068, 847595, 851059, 852528, 853658, 857122, 860586, 860586, 862055, 865519, 875046, 875046, 878452, + 887979, 887979, 887979, 887979, 887979, 887979, 887979, 887979, 887979, 887979, 887979, 887979, 887979, 887979, 887979, 887979, + 887979, 891443, 892912, 894042, 897506, 897506, 897506, 897506, 897506, 898975, 898975, 899469, 900867, 904331, 905729, 906815, + 910176, 919703, 919703, 923109, 932636, 936100, 937498, 938584, 941945, 945409, 945409, 946807, 950168, 959695, 959695, 963003, + 972312, 975776, 977245, 978375, 981839, 981839, 981839, 981839, 981839, 983308, 983308, 983776, 985245, 988709, 990178, 991308, + 994772, 996241, 996241, 996767, 998236, 998762, 998956, 999179, 999705, 1000173, 1000173, 1000367, 1000835, 1002304, 1002304, 1002830, +1004299, 1005768, 1005768, 1006294, 1007763, 1007763, 1007763, 1007763, 1007763, 1008289, 1008483, 1008706, 1009232, 1010701, 1010701, 1011227, +1012696, 1016160, 1017629, 1018759, 1022223, 1022223, 1022223, 1022223, 1022223, 1023692, 1023692, 1024160, 1025629, 1029093, 1030562, 1031692, +1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, +1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, +1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, +1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, 1035156, +1035156, 1036625, 1036625, 1037151, 1038620, 1039146, 1039340, 1039563, 1040089, 1040557, 1040557, 1040751, 1041219, 1042688, 1042688, 1043214, +1044683, 1044683, 1044683, 1044683, 1044683, 1044683, 1044683, 1044683, 1044683, 1044683, 1044683, 1044683, 1044683, 1044683, 1044683, 1044683, +1044683, 1045209, 1045403, 1045626, 1046152, 1046152, 1046152, 1046152, 1046152, 1046341, 1046402, 1046472, 1046646, 1047172, 1047349, 1047550, +1048044, 1049513, 1049513, 1050039, 1051508, 1052034, 1052211, 1052412, 1052906, 1053374, 1053374, 1053551, 1053992, 1055461, 1055461, 1055955, +1057353, 1060817, 1062286, 1063416, 1066880, 1066880, 1066880, 1066880, 1066880, 1068349, 1068349, 1068817, 1070286, 1073750, 1075219, 1076349, +1079813, 1081282, 1081282, 1081808, 1083277, 1083803, 1083980, 1084181, 1084675, 1085143, 1085143, 1085320, 1085761, 1087230, 1087230, 1087724, +1089122, 1090591, 1090591, 1091117, 1092586, 1092586, 1092586, 1092586, 1092586, 1093112, 1093289, 1093490, 1093984, 1095453, 1095453, 1095947, +1097345, 1100809, 1102278, 1103408, 1106872, 1106872, 1106872, 1106872, 1106872, 1108341, 1108341, 1108782, 1110180, 1113644, 1115042, 1116128, +1119489, 1120958, 1120958, 1121484, 1122953, 1123479, 1123673, 1123896, 1124422, 1124890, 1124890, 1125084, 1125552, 1127021, 1127021, 1127547, +1129016, 1129016, 1129016, 1129016, 1129016, 1129016, 1129016, 1129016, 1129016, 1129016, 1129016, 1129016, 1129016, 1129016, 1129016, 1129016, +1129016, 1129542, 1129736, 1129959, 1130485, 1130485, 1130485, 1130485, 1130485, 1130649, 1130711, 1130773, 1130926, 1131452, 1131629, 1131830, +1132324, 1133793, 1133793, 1134319, 1135788, 1136314, 1136491, 1136692, 1137186, 1137654, 1137654, 1137831, 1138272, 1139741, 1139741, 1140235, +1141633, 1142159, 1142353, 1142576, 1143102, 1143102, 1143102, 1143102, 1143102, 1143291, 1143352, 1143422, 1143596, 1144122, 1144299, 1144500, +1144994, 1145188, 1145250, 1145311, 1145488, 1145550, 1145564, 1145577, 1145619, 1145689, 1145703, 1145718, 1145764, 1145941, 1145983, 1146025, +1146156, 1146320, 1146382, 1146444, 1146597, 1146597, 1146597, 1146597, 1146597, 1146658, 1146672, 1146686, 1146728, 1146881, 1146923, 1146965, +1147082, 1147608, 1147785, 1147986, 1148480, 1148480, 1148480, 1148480, 1148480, 1148654, 1148696, 1148742, 1148872, 1149366, 1149497, 1149642, +1150034, 1150560, 1150754, 1150977, 1151503, 1151503, 1151503, 1151503, 1151503, 1151692, 1151753, 1151823, 1151997, 1152523, 1152700, 1152901, +1153395, 1153395, 1153395, 1153395, 1153395, 1153395, 1153395, 1153395, 1153395, 1153395, 1153395, 1153395, 1153395, 1153395, 1153395, 1153395, +1153395, 1153589, 1153651, 1153712, 1153889, 1153951, 1153965, 1153978, 1154020, 1154090, 1154104, 1154119, 1154165, 1154342, 1154384, 1154426, +1154557, 1155083, 1155260, 1155461, 1155955, 1155955, 1155955, 1155955, 1155955, 1156129, 1156171, 1156217, 1156347, 1156841, 1156972, 1157117, +1157509, 1158978, 1158978, 1159504, 1160973, 1161499, 1161676, 1161877, 1162371, 1162839, 1162839, 1163016, 1163457, 1164926, 1164926, 1165420, +1166818, 1166818, 1166818, 1166818, 1166818, 1166818, 1166818, 1166818, 1166818, 1166818, 1166818, 1166818, 1166818, 1166818, 1166818, 1166818, +1166818, 1167344, 1167521, 1167722, 1168216, 1168216, 1168216, 1168216, 1168216, 1168369, 1168411, 1168453, 1168570, 1169064, 1169195, 1169340, +1169732, 1171201, 1171201, 1171695, 1173093, 1173587, 1173718, 1173863, 1174255, 1174696, 1174696, 1174827, 1175181, 1176579, 1176579, 1176971, +1178133, 1179602, 1179602, 1180128, 1181597, 1182123, 1182317, 1182540, 1183066, 1183534, 1183534, 1183728, 1184196, 1185665, 1185665, 1186191, +1187660, 1187660, 1187660, 1187660, 1187660, 1187660, 1187660, 1187660, 1187660, 1187660, 1187660, 1187660, 1187660, 1187660, 1187660, 1187660, +1187660, 1188186, 1188380, 1188603, 1189129, 1189129, 1189129, 1189129, 1189129, 1189293, 1189355, 1189417, 1189570, 1190096, 1190273, 1190474, +1190968, 1192437, 1192437, 1192963, 1194432, 1194958, 1195135, 1195336, 1195830, 1196298, 1196298, 1196475, 1196916, 1198385, 1198385, 1198879, +1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, +1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, +1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, +1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, 1200277, +1200277, 1200803, 1200997, 1201220, 1201746, 1201746, 1201746, 1201746, 1201746, 1201935, 1201996, 1202066, 1202240, 1202766, 1202943, 1203144, +1203638, 1203832, 1203894, 1203955, 1204132, 1204194, 1204208, 1204221, 1204263, 1204333, 1204347, 1204362, 1204408, 1204585, 1204627, 1204669, +1204800, 1204964, 1205026, 1205088, 1205241, 1205241, 1205241, 1205241, 1205241, 1205302, 1205316, 1205330, 1205372, 1205525, 1205567, 1205609, +1205726, 1206252, 1206429, 1206630, 1207124, 1207124, 1207124, 1207124, 1207124, 1207298, 1207340, 1207386, 1207516, 1208010, 1208141, 1208286, +1208678, 1210147, 1210147, 1210673, 1212142, 1212668, 1212845, 1213046, 1213540, 1214008, 1214008, 1214185, 1214626, 1216095, 1216095, 1216589, +1217987, 1217987, 1217987, 1217987, 1217987, 1217987, 1217987, 1217987, 1217987, 1217987, 1217987, 1217987, 1217987, 1217987, 1217987, 1217987, +1217987, 1218513, 1218690, 1218891, 1219385, 1219385, 1219385, 1219385, 1219385, 1219538, 1219580, 1219622, 1219739, 1220233, 1220364, 1220509, +1220901, 1222370, 1222370, 1222864, 1224262, 1224756, 1224887, 1225032, 1225424, 1225865, 1225865, 1225996, 1226350, 1227748, 1227748, 1228140, +1229302, 1232766, 1234235, 1235365, 1238829, 1238829, 1238829, 1238829, 1238829, 1240298, 1240298, 1240766, 1242235, 1245699, 1247168, 1248298, +1251762, 1253231, 1253231, 1253757, 1255226, 1255752, 1255929, 1256130, 1256624, 1257092, 1257092, 1257269, 1257710, 1259179, 1259179, 1259673, +1261071, 1262540, 1262540, 1263066, 1264535, 1264535, 1264535, 1264535, 1264535, 1265061, 1265238, 1265439, 1265933, 1267402, 1267402, 1267896, +1269294, 1272758, 1274227, 1275357, 1278821, 1278821, 1278821, 1278821, 1278821, 1280290, 1280290, 1280731, 1282129, 1285593, 1286991, 1288077, +1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, +1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, +1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, +1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, 1291438, +1291438, 1292907, 1292907, 1293433, 1294902, 1295428, 1295605, 1295806, 1296300, 1296768, 1296768, 1296945, 1297386, 1298855, 1298855, 1299349, +1300747, 1300747, 1300747, 1300747, 1300747, 1300747, 1300747, 1300747, 1300747, 1300747, 1300747, 1300747, 1300747, 1300747, 1300747, 1300747, +1300747, 1301273, 1301450, 1301651, 1302145, 1302145, 1302145, 1302145, 1302145, 1302319, 1302361, 1302407, 1302537, 1303031, 1303162, 1303307, +1303699, 1305168, 1305168, 1305662, 1307060, 1307554, 1307685, 1307830, 1308222, 1308663, 1308663, 1308794, 1309148, 1310546, 1310546, 1310938, +1312100, 1315564, 1317033, 1318163, 1321627, 1321627, 1321627, 1321627, 1321627, 1323096, 1323096, 1323537, 1324935, 1328399, 1329797, 1330883, +1334244, 1335713, 1335713, 1336207, 1337605, 1338099, 1338230, 1338375, 1338767, 1339208, 1339208, 1339339, 1339693, 1341091, 1341091, 1341483, +1342645, 1344114, 1344114, 1344608, 1346006, 1346006, 1346006, 1346006, 1346006, 1346500, 1346631, 1346776, 1347168, 1348566, 1348566, 1348958, +1350120, 1353584, 1354982, 1356068, 1359429, 1359429, 1359429, 1359429, 1359429, 1360827, 1360827, 1361181, 1362343, 1365704, 1366866, 1367792, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, 1370744, +1370744, 1380271, 1380271, 1383677, 1393204, 1396668, 1398137, 1399267, 1402731, 1406195, 1406195, 1407664, 1411128, 1420655, 1420655, 1424061, +1433588, 1433588, 1433588, 1433588, 1433588, 1433588, 1433588, 1433588, 1433588, 1433588, 1433588, 1433588, 1433588, 1433588, 1433588, 1433588, +1433588, 1437052, 1438521, 1439651, 1443115, 1443115, 1443115, 1443115, 1443115, 1444584, 1444584, 1445110, 1446579, 1450043, 1451512, 1452642, +1456106, 1465633, 1465633, 1469039, 1478566, 1482030, 1483499, 1484629, 1488093, 1491557, 1491557, 1493026, 1496490, 1506017, 1506017, 1509423, +1518950, 1522414, 1523883, 1525013, 1528477, 1528477, 1528477, 1528477, 1528477, 1529946, 1529946, 1530414, 1531883, 1535347, 1536816, 1537946, +1541410, 1542879, 1542879, 1543405, 1544874, 1545400, 1545577, 1545778, 1546272, 1546740, 1546740, 1546917, 1547358, 1548827, 1548827, 1549321, +1550719, 1552188, 1552188, 1552714, 1554183, 1554183, 1554183, 1554183, 1554183, 1554709, 1554886, 1555087, 1555581, 1557050, 1557050, 1557544, +1558942, 1562406, 1563875, 1565005, 1568469, 1568469, 1568469, 1568469, 1568469, 1569938, 1569938, 1570379, 1571777, 1575241, 1576639, 1577725, +1581086, 1584550, 1586019, 1587149, 1590613, 1590613, 1590613, 1590613, 1590613, 1592082, 1592082, 1592550, 1594019, 1597483, 1598952, 1600082, +1603546, 1603546, 1603546, 1603546, 1603546, 1603546, 1603546, 1603546, 1603546, 1603546, 1603546, 1603546, 1603546, 1603546, 1603546, 1603546, +1603546, 1605015, 1605015, 1605541, 1607010, 1607536, 1607713, 1607914, 1608408, 1608876, 1608876, 1609053, 1609494, 1610963, 1610963, 1611457, +1612855, 1616319, 1617788, 1618918, 1622382, 1622382, 1622382, 1622382, 1622382, 1623851, 1623851, 1624292, 1625690, 1629154, 1630552, 1631638, +1634999, 1644526, 1644526, 1647932, 1657459, 1660923, 1662392, 1663522, 1666986, 1670450, 1670450, 1671919, 1675383, 1684910, 1684910, 1688316, +1697843, 1697843, 1697843, 1697843, 1697843, 1697843, 1697843, 1697843, 1697843, 1697843, 1697843, 1697843, 1697843, 1697843, 1697843, 1697843, +1697843, 1701307, 1702776, 1703906, 1707370, 1707370, 1707370, 1707370, 1707370, 1708839, 1708839, 1709333, 1710731, 1714195, 1715593, 1716679, +1720040, 1729567, 1729567, 1732973, 1742500, 1745964, 1747362, 1748448, 1751809, 1755273, 1755273, 1756671, 1760032, 1769559, 1769559, 1772867, +1782176, 1785640, 1787109, 1788239, 1791703, 1791703, 1791703, 1791703, 1791703, 1793172, 1793172, 1793640, 1795109, 1798573, 1800042, 1801172, +1804636, 1806105, 1806105, 1806631, 1808100, 1808626, 1808803, 1809004, 1809498, 1809966, 1809966, 1810143, 1810584, 1812053, 1812053, 1812547, +1813945, 1815414, 1815414, 1815940, 1817409, 1817409, 1817409, 1817409, 1817409, 1817935, 1818112, 1818313, 1818807, 1820276, 1820276, 1820770, +1822168, 1825632, 1827101, 1828231, 1831695, 1831695, 1831695, 1831695, 1831695, 1833164, 1833164, 1833605, 1835003, 1838467, 1839865, 1840951, +1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, +1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, +1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, +1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, 1844312, +1844312, 1845781, 1845781, 1846307, 1847776, 1848302, 1848479, 1848680, 1849174, 1849642, 1849642, 1849819, 1850260, 1851729, 1851729, 1852223, +1853621, 1853621, 1853621, 1853621, 1853621, 1853621, 1853621, 1853621, 1853621, 1853621, 1853621, 1853621, 1853621, 1853621, 1853621, 1853621, +1853621, 1854147, 1854324, 1854525, 1855019, 1855019, 1855019, 1855019, 1855019, 1855193, 1855235, 1855281, 1855411, 1855905, 1856036, 1856181, +1856573, 1858042, 1858042, 1858536, 1859934, 1860428, 1860559, 1860704, 1861096, 1861537, 1861537, 1861668, 1862022, 1863420, 1863420, 1863812, +1864974, 1868438, 1869907, 1871037, 1874501, 1874501, 1874501, 1874501, 1874501, 1875970, 1875970, 1876411, 1877809, 1881273, 1882671, 1883757, +1887118, 1888587, 1888587, 1889081, 1890479, 1890973, 1891104, 1891249, 1891641, 1892082, 1892082, 1892213, 1892567, 1893965, 1893965, 1894357, +1895519, 1896988, 1896988, 1897482, 1898880, 1898880, 1898880, 1898880, 1898880, 1899374, 1899505, 1899650, 1900042, 1901440, 1901440, 1901832, +1902994, 1906458, 1907856, 1908942, 1912303, 1912303, 1912303, 1912303, 1912303, 1913701, 1913701, 1914055, 1915217, 1918578, 1919740, 1920666, +1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, +1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, +1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, +1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, +1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, +1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, +1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, +1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, +1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, +1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, +1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, +1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, +1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, +1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, +1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, +1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, 1923618, +1923618, 1933145, 1933145, 1936551, 1946078, 1949542, 1951011, 1952141, 1955605, 1959069, 1959069, 1960538, 1964002, 1973529, 1973529, 1976935, +1986462, 1986462, 1986462, 1986462, 1986462, 1986462, 1986462, 1986462, 1986462, 1986462, 1986462, 1986462, 1986462, 1986462, 1986462, 1986462, +1986462, 1989926, 1991395, 1992525, 1995989, 1995989, 1995989, 1995989, 1995989, 1997458, 1997458, 1997952, 1999350, 2002814, 2004212, 2005298, +2008659, 2018186, 2018186, 2021592, 2031119, 2034583, 2035981, 2037067, 2040428, 2043892, 2043892, 2045290, 2048651, 2058178, 2058178, 2061486, +2070795, 2074259, 2075728, 2076858, 2080322, 2080322, 2080322, 2080322, 2080322, 2081791, 2081791, 2082232, 2083630, 2087094, 2088492, 2089578, +2092939, 2094408, 2094408, 2094902, 2096300, 2096794, 2096925, 2097070, 2097462, 2097903, 2097903, 2098034, 2098388, 2099786, 2099786, 2100178, +2101340, 2102809, 2102809, 2103303, 2104701, 2104701, 2104701, 2104701, 2104701, 2105195, 2105326, 2105471, 2105863, 2107261, 2107261, 2107653, +2108815, 2112279, 2113677, 2114763, 2118124, 2118124, 2118124, 2118124, 2118124, 2119522, 2119522, 2119876, 2121038, 2124399, 2125561, 2126487, +2129439, 2132903, 2134372, 2135502, 2138966, 2138966, 2138966, 2138966, 2138966, 2140435, 2140435, 2140876, 2142274, 2145738, 2147136, 2148222, +2151583, 2151583, 2151583, 2151583, 2151583, 2151583, 2151583, 2151583, 2151583, 2151583, 2151583, 2151583, 2151583, 2151583, 2151583, 2151583, +2151583, 2153052, 2153052, 2153546, 2154944, 2155438, 2155569, 2155714, 2156106, 2156547, 2156547, 2156678, 2157032, 2158430, 2158430, 2158822, +2159984, 2163448, 2164846, 2165932, 2169293, 2169293, 2169293, 2169293, 2169293, 2170691, 2170691, 2171045, 2172207, 2175568, 2176730, 2177656, +2180608, 2190135, 2190135, 2193541, 2203068, 2206532, 2207930, 2209016, 2212377, 2215841, 2215841, 2217239, 2220600, 2230127, 2230127, 2233435, +2242744, 2242744, 2242744, 2242744, 2242744, 2242744, 2242744, 2242744, 2242744, 2242744, 2242744, 2242744, 2242744, 2242744, 2242744, 2242744, +2242744, 2246208, 2247606, 2248692, 2252053, 2252053, 2252053, 2252053, 2252053, 2253451, 2253451, 2253843, 2255005, 2258366, 2259528, 2260454, +2263406, 2272933, 2272933, 2276241, 2285550, 2288911, 2290073, 2290999, 2293951, 2297312, 2297312, 2298474, 2301426, 2310735, 2310735, 2313649, diff --git a/src/core/short_code/offset/range_prefix/offset_0x5.inc b/src/core/short_code/offset/range_prefix/offset_0x5.inc new file mode 100644 index 0000000..69af0e1 --- /dev/null +++ b/src/core/short_code/offset/range_prefix/offset_0x5.inc @@ -0,0 +1,256 @@ + 0, 8169, 8169, 11633, 19802, 19802, 19802, 19802, 19802, 23266, 23266, 24735, 28199, 36368, 36368, 39832, + 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, + 48001, 51465, 51465, 52706, 56170, 56170, 56170, 56170, 56170, 57639, 57639, 58165, 59634, 63098, 63098, 64339, + 67803, 75972, 75972, 79436, 87605, 87605, 87605, 87605, 87605, 91069, 91069, 92538, 96002, 104171, 104171, 107635, + 115804, 119268, 119268, 120509, 123973, 123973, 123973, 123973, 123973, 125442, 125442, 125968, 127437, 130901, 130901, 132142, + 135606, 135606, 135606, 135606, 135606, 135606, 135606, 135606, 135606, 135606, 135606, 135606, 135606, 135606, 135606, 135606, + 135606, 137075, 137075, 137601, 139070, 139070, 139070, 139070, 139070, 139596, 139790, 140013, 140539, 142008, 142008, 142534, + 144003, 147467, 147467, 148708, 152172, 152172, 152172, 152172, 152172, 153641, 153641, 154167, 155636, 159100, 159100, 160341, + 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, + 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, + 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, + 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, 163805, + 163805, 171974, 171974, 175438, 183607, 183607, 183607, 183607, 183607, 187071, 187071, 188540, 192004, 200173, 200173, 203637, + 211806, 211806, 211806, 211806, 211806, 211806, 211806, 211806, 211806, 211806, 211806, 211806, 211806, 211806, 211806, 211806, + 211806, 215270, 215270, 216511, 219975, 219975, 219975, 219975, 219975, 221444, 221444, 221970, 223439, 226903, 226903, 228144, + 231608, 239777, 239777, 243241, 251410, 251410, 251410, 251410, 251410, 254874, 254874, 256343, 259807, 267976, 267976, 271440, + 279609, 283073, 283073, 284314, 287778, 287778, 287778, 287778, 287778, 289247, 289247, 289773, 291242, 294706, 294706, 295947, + 299411, 299411, 299411, 299411, 299411, 299411, 299411, 299411, 299411, 299411, 299411, 299411, 299411, 299411, 299411, 299411, + 299411, 300880, 300880, 301406, 302875, 302875, 302875, 302875, 302875, 303401, 303595, 303818, 304344, 305813, 305813, 306339, + 307808, 311272, 311272, 312513, 315977, 315977, 315977, 315977, 315977, 317446, 317446, 317972, 319441, 322905, 322905, 324146, + 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, + 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, + 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, + 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, 327610, + 327610, 329079, 329079, 329605, 331074, 331074, 331074, 331074, 331074, 331600, 331600, 331789, 332315, 333784, 333784, 334310, + 335779, 335779, 335779, 335779, 335779, 335779, 335779, 335779, 335779, 335779, 335779, 335779, 335779, 335779, 335779, 335779, + 335779, 336305, 336499, 336722, 337248, 337248, 337248, 337248, 337248, 337437, 337498, 337568, 337742, 338268, 338445, 338646, + 339140, 340609, 340609, 341135, 342604, 342604, 342604, 342604, 342604, 343130, 343130, 343304, 343798, 345267, 345267, 345761, + 347159, 350623, 350623, 351864, 355328, 355328, 355328, 355328, 355328, 356797, 356797, 357323, 358792, 362256, 362256, 363497, + 366961, 366961, 366961, 366961, 366961, 366961, 366961, 366961, 366961, 366961, 366961, 366961, 366961, 366961, 366961, 366961, + 366961, 368430, 368430, 368956, 370425, 370425, 370425, 370425, 370425, 370951, 371128, 371329, 371823, 373292, 373292, 373786, + 375184, 378648, 378648, 379889, 383353, 383353, 383353, 383353, 383353, 384822, 384822, 385316, 386714, 390178, 390178, 391372, + 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, + 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, + 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, + 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, + 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, + 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, + 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, + 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, + 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, + 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, + 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, + 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, + 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, + 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, + 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, + 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, 394733, + 394733, 402902, 402902, 406366, 414535, 414535, 414535, 414535, 414535, 417999, 417999, 419468, 422932, 431101, 431101, 434565, + 442734, 442734, 442734, 442734, 442734, 442734, 442734, 442734, 442734, 442734, 442734, 442734, 442734, 442734, 442734, 442734, + 442734, 446198, 446198, 447439, 450903, 450903, 450903, 450903, 450903, 452372, 452372, 452898, 454367, 457831, 457831, 459072, + 462536, 470705, 470705, 474169, 482338, 482338, 482338, 482338, 482338, 485802, 485802, 487271, 490735, 498904, 498904, 502368, + 510537, 514001, 514001, 515242, 518706, 518706, 518706, 518706, 518706, 520175, 520175, 520701, 522170, 525634, 525634, 526875, + 530339, 530339, 530339, 530339, 530339, 530339, 530339, 530339, 530339, 530339, 530339, 530339, 530339, 530339, 530339, 530339, + 530339, 531808, 531808, 532334, 533803, 533803, 533803, 533803, 533803, 534329, 534506, 534707, 535201, 536670, 536670, 537164, + 538562, 542026, 542026, 543267, 546731, 546731, 546731, 546731, 546731, 548200, 548200, 548694, 550092, 553556, 553556, 554750, + 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, + 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, + 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, + 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, 558111, + 558111, 566280, 566280, 569744, 577913, 577913, 577913, 577913, 577913, 581377, 581377, 582846, 586310, 594479, 594479, 597943, + 606112, 606112, 606112, 606112, 606112, 606112, 606112, 606112, 606112, 606112, 606112, 606112, 606112, 606112, 606112, 606112, + 606112, 609576, 609576, 610817, 614281, 614281, 614281, 614281, 614281, 615750, 615750, 616244, 617642, 621106, 621106, 622300, + 625661, 633830, 633830, 637294, 645463, 645463, 645463, 645463, 645463, 648927, 648927, 650325, 653686, 661855, 661855, 665216, + 673235, 676699, 676699, 677940, 681404, 681404, 681404, 681404, 681404, 682873, 682873, 683399, 684868, 688332, 688332, 689573, + 693037, 693037, 693037, 693037, 693037, 693037, 693037, 693037, 693037, 693037, 693037, 693037, 693037, 693037, 693037, 693037, + 693037, 694506, 694506, 695032, 696501, 696501, 696501, 696501, 696501, 697027, 697221, 697444, 697970, 699439, 699439, 699965, + 701434, 704898, 704898, 706139, 709603, 709603, 709603, 709603, 709603, 711072, 711072, 711598, 713067, 716531, 716531, 717772, + 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, + 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, + 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, + 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, 721236, + 721236, 722705, 722705, 723231, 724700, 724700, 724700, 724700, 724700, 725226, 725226, 725415, 725941, 727410, 727410, 727936, + 729405, 729405, 729405, 729405, 729405, 729405, 729405, 729405, 729405, 729405, 729405, 729405, 729405, 729405, 729405, 729405, + 729405, 729931, 730125, 730348, 730874, 730874, 730874, 730874, 730874, 731063, 731124, 731194, 731368, 731894, 732071, 732272, + 732766, 734235, 734235, 734761, 736230, 736230, 736230, 736230, 736230, 736756, 736756, 736930, 737424, 738893, 738893, 739387, + 740785, 744249, 744249, 745490, 748954, 748954, 748954, 748954, 748954, 750423, 750423, 750949, 752418, 755882, 755882, 757123, + 760587, 760587, 760587, 760587, 760587, 760587, 760587, 760587, 760587, 760587, 760587, 760587, 760587, 760587, 760587, 760587, + 760587, 762056, 762056, 762582, 764051, 764051, 764051, 764051, 764051, 764577, 764754, 764955, 765449, 766918, 766918, 767412, + 768810, 772274, 772274, 773515, 776979, 776979, 776979, 776979, 776979, 778448, 778448, 778942, 780340, 783804, 783804, 784998, + 788359, 789828, 789828, 790354, 791823, 791823, 791823, 791823, 791823, 792349, 792349, 792538, 793064, 794533, 794533, 795059, + 796528, 796528, 796528, 796528, 796528, 796528, 796528, 796528, 796528, 796528, 796528, 796528, 796528, 796528, 796528, 796528, + 796528, 797054, 797248, 797471, 797997, 797997, 797997, 797997, 797997, 798191, 798253, 798314, 798491, 799017, 799194, 799395, + 799889, 801358, 801358, 801884, 803353, 803353, 803353, 803353, 803353, 803879, 803879, 804053, 804547, 806016, 806016, 806510, + 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, + 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, + 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, + 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, 807908, + 807908, 808434, 808628, 808851, 809377, 809377, 809377, 809377, 809377, 809566, 809627, 809697, 809871, 810397, 810574, 810775, + 811269, 811269, 811269, 811269, 811269, 811269, 811269, 811269, 811269, 811269, 811269, 811269, 811269, 811269, 811269, 811269, + 811269, 811463, 811525, 811586, 811763, 811825, 811839, 811852, 811894, 811964, 811978, 811993, 812039, 812216, 812258, 812300, + 812431, 812957, 813134, 813335, 813829, 813829, 813829, 813829, 813829, 814003, 814045, 814091, 814221, 814715, 814846, 814991, + 815383, 816852, 816852, 817378, 818847, 818847, 818847, 818847, 818847, 819373, 819373, 819547, 820041, 821510, 821510, 822004, + 823402, 823402, 823402, 823402, 823402, 823402, 823402, 823402, 823402, 823402, 823402, 823402, 823402, 823402, 823402, 823402, + 823402, 823928, 824105, 824306, 824800, 824800, 824800, 824800, 824800, 824977, 825019, 825061, 825192, 825686, 825817, 825962, + 826354, 827823, 827823, 828317, 829715, 829715, 829715, 829715, 829715, 830209, 830209, 830339, 830731, 832129, 832129, 832521, + 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, + 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, + 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, + 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, + 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, + 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, + 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, + 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, + 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, + 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, + 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, + 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, + 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, + 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, + 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, + 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, 833683, + 833683, 837147, 837147, 838388, 841852, 841852, 841852, 841852, 841852, 843321, 843321, 843847, 845316, 848780, 848780, 850021, + 853485, 853485, 853485, 853485, 853485, 853485, 853485, 853485, 853485, 853485, 853485, 853485, 853485, 853485, 853485, 853485, + 853485, 854954, 854954, 855480, 856949, 856949, 856949, 856949, 856949, 857475, 857652, 857853, 858347, 859816, 859816, 860310, + 861708, 865172, 865172, 866413, 869877, 869877, 869877, 869877, 869877, 871346, 871346, 871840, 873238, 876702, 876702, 877896, + 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, + 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, + 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, + 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, 881257, + 881257, 882726, 882726, 883252, 884721, 884721, 884721, 884721, 884721, 885247, 885247, 885421, 885915, 887384, 887384, 887878, + 889276, 889276, 889276, 889276, 889276, 889276, 889276, 889276, 889276, 889276, 889276, 889276, 889276, 889276, 889276, 889276, + 889276, 889802, 889979, 890180, 890674, 890674, 890674, 890674, 890674, 890848, 890890, 890936, 891066, 891560, 891691, 891836, + 892228, 893697, 893697, 894191, 895589, 895589, 895589, 895589, 895589, 896083, 896083, 896213, 896605, 898003, 898003, 898395, + 899557, 903021, 903021, 904262, 907726, 907726, 907726, 907726, 907726, 909195, 909195, 909689, 911087, 914551, 914551, 915745, + 919106, 919106, 919106, 919106, 919106, 919106, 919106, 919106, 919106, 919106, 919106, 919106, 919106, 919106, 919106, 919106, + 919106, 920575, 920575, 921069, 922467, 922467, 922467, 922467, 922467, 922961, 923092, 923237, 923629, 925027, 925027, 925419, + 926581, 930045, 930045, 931239, 934600, 934600, 934600, 934600, 934600, 935998, 935998, 936390, 937552, 940913, 940913, 941929, + 944881, 948345, 948345, 949586, 953050, 953050, 953050, 953050, 953050, 954519, 954519, 955045, 956514, 959978, 959978, 961219, + 964683, 964683, 964683, 964683, 964683, 964683, 964683, 964683, 964683, 964683, 964683, 964683, 964683, 964683, 964683, 964683, + 964683, 966152, 966152, 966678, 968147, 968147, 968147, 968147, 968147, 968673, 968673, 968862, 969388, 970857, 970857, 971383, + 972852, 976316, 976316, 977557, 981021, 981021, 981021, 981021, 981021, 982490, 982490, 983016, 984485, 987949, 987949, 989190, + 992654, 994123, 994123, 994649, 996118, 996118, 996118, 996118, 996118, 996644, 996644, 996833, 997359, 998828, 998828, 999354, +1000823, 1000823, 1000823, 1000823, 1000823, 1000823, 1000823, 1000823, 1000823, 1000823, 1000823, 1000823, 1000823, 1000823, 1000823, 1000823, +1000823, 1001349, 1001543, 1001766, 1002292, 1002292, 1002292, 1002292, 1002292, 1002486, 1002548, 1002609, 1002786, 1003312, 1003489, 1003690, +1004184, 1005653, 1005653, 1006179, 1007648, 1007648, 1007648, 1007648, 1007648, 1008174, 1008174, 1008348, 1008842, 1010311, 1010311, 1010805, +1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, +1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, +1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, +1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, 1012203, +1012203, 1015667, 1015667, 1016908, 1020372, 1020372, 1020372, 1020372, 1020372, 1021841, 1021841, 1022367, 1023836, 1027300, 1027300, 1028541, +1032005, 1032005, 1032005, 1032005, 1032005, 1032005, 1032005, 1032005, 1032005, 1032005, 1032005, 1032005, 1032005, 1032005, 1032005, 1032005, +1032005, 1033474, 1033474, 1034000, 1035469, 1035469, 1035469, 1035469, 1035469, 1035995, 1035995, 1036169, 1036663, 1038132, 1038132, 1038626, +1040024, 1043488, 1043488, 1044729, 1048193, 1048193, 1048193, 1048193, 1048193, 1049662, 1049662, 1050156, 1051554, 1055018, 1055018, 1056212, +1059573, 1061042, 1061042, 1061568, 1063037, 1063037, 1063037, 1063037, 1063037, 1063563, 1063563, 1063752, 1064278, 1065747, 1065747, 1066273, +1067742, 1067742, 1067742, 1067742, 1067742, 1067742, 1067742, 1067742, 1067742, 1067742, 1067742, 1067742, 1067742, 1067742, 1067742, 1067742, +1067742, 1068268, 1068462, 1068685, 1069211, 1069211, 1069211, 1069211, 1069211, 1069405, 1069467, 1069528, 1069705, 1070231, 1070408, 1070609, +1071103, 1072572, 1072572, 1073098, 1074567, 1074567, 1074567, 1074567, 1074567, 1075093, 1075093, 1075267, 1075761, 1077230, 1077230, 1077724, +1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, +1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, +1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, +1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, 1079122, +1079122, 1079648, 1079842, 1080065, 1080591, 1080591, 1080591, 1080591, 1080591, 1080780, 1080841, 1080911, 1081085, 1081611, 1081788, 1081989, +1082483, 1082483, 1082483, 1082483, 1082483, 1082483, 1082483, 1082483, 1082483, 1082483, 1082483, 1082483, 1082483, 1082483, 1082483, 1082483, +1082483, 1082677, 1082739, 1082800, 1082977, 1082977, 1082977, 1082977, 1082977, 1083038, 1083052, 1083065, 1083107, 1083284, 1083326, 1083368, +1083499, 1084025, 1084202, 1084403, 1084897, 1084897, 1084897, 1084897, 1084897, 1085071, 1085113, 1085159, 1085289, 1085783, 1085914, 1086059, +1086451, 1087920, 1087920, 1088446, 1089915, 1089915, 1089915, 1089915, 1089915, 1090441, 1090441, 1090615, 1091109, 1092578, 1092578, 1093072, +1094470, 1094470, 1094470, 1094470, 1094470, 1094470, 1094470, 1094470, 1094470, 1094470, 1094470, 1094470, 1094470, 1094470, 1094470, 1094470, +1094470, 1094996, 1095173, 1095374, 1095868, 1095868, 1095868, 1095868, 1095868, 1096045, 1096087, 1096129, 1096260, 1096754, 1096885, 1097030, +1097422, 1098891, 1098891, 1099385, 1100783, 1100783, 1100783, 1100783, 1100783, 1101277, 1101277, 1101407, 1101799, 1103197, 1103197, 1103589, +1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, +1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, +1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, +1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, +1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, +1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, +1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, +1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, +1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, +1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, +1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, +1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, +1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, +1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, +1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, +1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, 1104751, +1104751, 1108215, 1108215, 1109456, 1112920, 1112920, 1112920, 1112920, 1112920, 1114389, 1114389, 1114915, 1116384, 1119848, 1119848, 1121089, +1124553, 1124553, 1124553, 1124553, 1124553, 1124553, 1124553, 1124553, 1124553, 1124553, 1124553, 1124553, 1124553, 1124553, 1124553, 1124553, +1124553, 1126022, 1126022, 1126548, 1128017, 1128017, 1128017, 1128017, 1128017, 1128543, 1128543, 1128717, 1129211, 1130680, 1130680, 1131174, +1132572, 1136036, 1136036, 1137277, 1140741, 1140741, 1140741, 1140741, 1140741, 1142210, 1142210, 1142704, 1144102, 1147566, 1147566, 1148760, +1152121, 1153590, 1153590, 1154116, 1155585, 1155585, 1155585, 1155585, 1155585, 1156111, 1156111, 1156285, 1156779, 1158248, 1158248, 1158742, +1160140, 1160140, 1160140, 1160140, 1160140, 1160140, 1160140, 1160140, 1160140, 1160140, 1160140, 1160140, 1160140, 1160140, 1160140, 1160140, +1160140, 1160666, 1160843, 1161044, 1161538, 1161538, 1161538, 1161538, 1161538, 1161715, 1161757, 1161799, 1161930, 1162424, 1162555, 1162700, +1163092, 1164561, 1164561, 1165055, 1166453, 1166453, 1166453, 1166453, 1166453, 1166947, 1166947, 1167077, 1167469, 1168867, 1168867, 1169259, +1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, +1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, +1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, +1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, 1170421, +1170421, 1173885, 1173885, 1175126, 1178590, 1178590, 1178590, 1178590, 1178590, 1180059, 1180059, 1180553, 1181951, 1185415, 1185415, 1186609, +1189970, 1189970, 1189970, 1189970, 1189970, 1189970, 1189970, 1189970, 1189970, 1189970, 1189970, 1189970, 1189970, 1189970, 1189970, 1189970, +1189970, 1191439, 1191439, 1191933, 1193331, 1193331, 1193331, 1193331, 1193331, 1193825, 1193825, 1193955, 1194347, 1195745, 1195745, 1196137, +1197299, 1200763, 1200763, 1201957, 1205318, 1205318, 1205318, 1205318, 1205318, 1206716, 1206716, 1207108, 1208270, 1211631, 1211631, 1212647, +1215599, 1223768, 1223768, 1227232, 1235401, 1235401, 1235401, 1235401, 1235401, 1238865, 1238865, 1240334, 1243798, 1251967, 1251967, 1255431, +1263600, 1263600, 1263600, 1263600, 1263600, 1263600, 1263600, 1263600, 1263600, 1263600, 1263600, 1263600, 1263600, 1263600, 1263600, 1263600, +1263600, 1267064, 1267064, 1268305, 1271769, 1271769, 1271769, 1271769, 1271769, 1273238, 1273238, 1273764, 1275233, 1278697, 1278697, 1279938, +1283402, 1291571, 1291571, 1295035, 1303204, 1303204, 1303204, 1303204, 1303204, 1306668, 1306668, 1308137, 1311601, 1319770, 1319770, 1323234, +1331403, 1334867, 1334867, 1336108, 1339572, 1339572, 1339572, 1339572, 1339572, 1341041, 1341041, 1341567, 1343036, 1346500, 1346500, 1347741, +1351205, 1351205, 1351205, 1351205, 1351205, 1351205, 1351205, 1351205, 1351205, 1351205, 1351205, 1351205, 1351205, 1351205, 1351205, 1351205, +1351205, 1352674, 1352674, 1353200, 1354669, 1354669, 1354669, 1354669, 1354669, 1355195, 1355372, 1355573, 1356067, 1357536, 1357536, 1358030, +1359428, 1362892, 1362892, 1364133, 1367597, 1367597, 1367597, 1367597, 1367597, 1369066, 1369066, 1369560, 1370958, 1374422, 1374422, 1375616, +1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, +1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, +1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, +1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, 1378977, +1378977, 1387146, 1387146, 1390610, 1398779, 1398779, 1398779, 1398779, 1398779, 1402243, 1402243, 1403712, 1407176, 1415345, 1415345, 1418809, +1426978, 1426978, 1426978, 1426978, 1426978, 1426978, 1426978, 1426978, 1426978, 1426978, 1426978, 1426978, 1426978, 1426978, 1426978, 1426978, +1426978, 1430442, 1430442, 1431683, 1435147, 1435147, 1435147, 1435147, 1435147, 1436616, 1436616, 1437110, 1438508, 1441972, 1441972, 1443166, +1446527, 1454696, 1454696, 1458160, 1466329, 1466329, 1466329, 1466329, 1466329, 1469793, 1469793, 1471191, 1474552, 1482721, 1482721, 1486082, +1494101, 1497565, 1497565, 1498806, 1502270, 1502270, 1502270, 1502270, 1502270, 1503739, 1503739, 1504265, 1505734, 1509198, 1509198, 1510439, +1513903, 1513903, 1513903, 1513903, 1513903, 1513903, 1513903, 1513903, 1513903, 1513903, 1513903, 1513903, 1513903, 1513903, 1513903, 1513903, +1513903, 1515372, 1515372, 1515898, 1517367, 1517367, 1517367, 1517367, 1517367, 1517893, 1518070, 1518271, 1518765, 1520234, 1520234, 1520728, +1522126, 1525590, 1525590, 1526831, 1530295, 1530295, 1530295, 1530295, 1530295, 1531764, 1531764, 1532258, 1533656, 1537120, 1537120, 1538314, +1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, +1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, +1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, +1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, 1541675, +1541675, 1543144, 1543144, 1543670, 1545139, 1545139, 1545139, 1545139, 1545139, 1545665, 1545665, 1545839, 1546333, 1547802, 1547802, 1548296, +1549694, 1549694, 1549694, 1549694, 1549694, 1549694, 1549694, 1549694, 1549694, 1549694, 1549694, 1549694, 1549694, 1549694, 1549694, 1549694, +1549694, 1550220, 1550397, 1550598, 1551092, 1551092, 1551092, 1551092, 1551092, 1551266, 1551308, 1551354, 1551484, 1551978, 1552109, 1552254, +1552646, 1554115, 1554115, 1554609, 1556007, 1556007, 1556007, 1556007, 1556007, 1556501, 1556501, 1556631, 1557023, 1558421, 1558421, 1558813, +1559975, 1563439, 1563439, 1564680, 1568144, 1568144, 1568144, 1568144, 1568144, 1569613, 1569613, 1570107, 1571505, 1574969, 1574969, 1576163, +1579524, 1579524, 1579524, 1579524, 1579524, 1579524, 1579524, 1579524, 1579524, 1579524, 1579524, 1579524, 1579524, 1579524, 1579524, 1579524, +1579524, 1580993, 1580993, 1581487, 1582885, 1582885, 1582885, 1582885, 1582885, 1583379, 1583510, 1583655, 1584047, 1585445, 1585445, 1585837, +1586999, 1590463, 1590463, 1591657, 1595018, 1595018, 1595018, 1595018, 1595018, 1596416, 1596416, 1596808, 1597970, 1601331, 1601331, 1602347, +1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, +1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, +1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, +1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, +1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, +1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, +1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, +1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, +1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, +1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, +1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, +1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, +1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, +1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, +1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, +1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, 1605299, +1605299, 1613468, 1613468, 1616932, 1625101, 1625101, 1625101, 1625101, 1625101, 1628565, 1628565, 1630034, 1633498, 1641667, 1641667, 1645131, +1653300, 1653300, 1653300, 1653300, 1653300, 1653300, 1653300, 1653300, 1653300, 1653300, 1653300, 1653300, 1653300, 1653300, 1653300, 1653300, +1653300, 1656764, 1656764, 1658005, 1661469, 1661469, 1661469, 1661469, 1661469, 1662938, 1662938, 1663432, 1664830, 1668294, 1668294, 1669488, +1672849, 1681018, 1681018, 1684482, 1692651, 1692651, 1692651, 1692651, 1692651, 1696115, 1696115, 1697513, 1700874, 1709043, 1709043, 1712404, +1720423, 1723887, 1723887, 1725128, 1728592, 1728592, 1728592, 1728592, 1728592, 1730061, 1730061, 1730555, 1731953, 1735417, 1735417, 1736611, +1739972, 1739972, 1739972, 1739972, 1739972, 1739972, 1739972, 1739972, 1739972, 1739972, 1739972, 1739972, 1739972, 1739972, 1739972, 1739972, +1739972, 1741441, 1741441, 1741935, 1743333, 1743333, 1743333, 1743333, 1743333, 1743827, 1743958, 1744103, 1744495, 1745893, 1745893, 1746285, +1747447, 1750911, 1750911, 1752105, 1755466, 1755466, 1755466, 1755466, 1755466, 1756864, 1756864, 1757256, 1758418, 1761779, 1761779, 1762795, +1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, +1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, +1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, +1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, 1765747, +1765747, 1773916, 1773916, 1777380, 1785549, 1785549, 1785549, 1785549, 1785549, 1789013, 1789013, 1790411, 1793772, 1801941, 1801941, 1805302, +1813321, 1813321, 1813321, 1813321, 1813321, 1813321, 1813321, 1813321, 1813321, 1813321, 1813321, 1813321, 1813321, 1813321, 1813321, 1813321, +1813321, 1816785, 1816785, 1817979, 1821340, 1821340, 1821340, 1821340, 1821340, 1822738, 1822738, 1823130, 1824292, 1827653, 1827653, 1828669, +1831621, 1839790, 1839790, 1843151, 1851170, 1851170, 1851170, 1851170, 1851170, 1854531, 1854531, 1855693, 1858645, 1866664, 1866664, 1869616, diff --git a/src/core/short_code/offset/range_prefix/offset_0x6.inc b/src/core/short_code/offset/range_prefix/offset_0x6.inc new file mode 100644 index 0000000..a88d46b --- /dev/null +++ b/src/core/short_code/offset/range_prefix/offset_0x6.inc @@ -0,0 +1,256 @@ + 0, 9527, 9527, 12991, 22518, 25924, 27393, 28639, 32045, 35451, 35451, 36920, 40326, 49853, 49853, 53317, + 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, + 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, + 62844, 72371, 72371, 75835, 85362, 88768, 90237, 91483, 94889, 98295, 98295, 99764, 103170, 112697, 112697, 116161, + 125688, 129094, 130563, 131809, 135215, 135215, 135215, 135215, 135215, 136684, 136684, 137210, 138679, 142085, 143554, 144800, + 148206, 149675, 149675, 150143, 151612, 152138, 152332, 152555, 153081, 153607, 153607, 153801, 154327, 155796, 155796, 156264, + 157733, 159202, 159202, 159670, 161139, 161139, 161139, 161139, 161139, 161665, 161859, 162082, 162608, 164077, 164077, 164545, + 166014, 169420, 170889, 172135, 175541, 175541, 175541, 175541, 175541, 177010, 177010, 177536, 179005, 182411, 183880, 185126, + 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, + 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, + 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, + 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, 188532, + 188532, 198059, 198059, 201523, 211050, 214456, 215925, 217171, 220577, 223983, 223983, 225452, 228858, 238385, 238385, 241849, + 251376, 251376, 251376, 251376, 251376, 251376, 251376, 251376, 251376, 251376, 251376, 251376, 251376, 251376, 251376, 251376, + 251376, 251376, 251376, 251376, 251376, 251376, 251376, 251376, 251376, 251376, 251376, 251376, 251376, 251376, 251376, 251376, + 251376, 260903, 260903, 264367, 273894, 277300, 278769, 280015, 283421, 286827, 286827, 288296, 291702, 301229, 301229, 304693, + 314220, 317626, 319095, 320341, 323747, 323747, 323747, 323747, 323747, 325216, 325216, 325742, 327211, 330617, 332086, 333332, + 336738, 338207, 338207, 338675, 340144, 340670, 340864, 341087, 341613, 342139, 342139, 342333, 342859, 344328, 344328, 344796, + 346265, 347734, 347734, 348202, 349671, 349671, 349671, 349671, 349671, 350197, 350391, 350614, 351140, 352609, 352609, 353077, + 354546, 357952, 359421, 360667, 364073, 364073, 364073, 364073, 364073, 365542, 365542, 366068, 367537, 370943, 372412, 373658, + 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, + 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, + 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, + 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, + 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, + 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, + 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, + 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, 377064, + 377064, 380470, 381939, 383185, 386591, 386591, 386591, 386591, 386591, 388060, 388060, 388586, 390055, 393461, 394930, 396176, + 399582, 401051, 401051, 401519, 402988, 403514, 403691, 403892, 404386, 404912, 404912, 405089, 405583, 407052, 407052, 407493, + 408891, 410360, 410360, 410828, 412297, 412297, 412297, 412297, 412297, 412823, 413000, 413201, 413695, 415164, 415164, 415605, + 417003, 420409, 421878, 423124, 426530, 426530, 426530, 426530, 426530, 427999, 427999, 428493, 429891, 433297, 434695, 435892, + 439200, 442606, 444075, 445321, 448727, 448727, 448727, 448727, 448727, 450196, 450196, 450664, 452133, 455539, 457008, 458254, + 461660, 461660, 461660, 461660, 461660, 461660, 461660, 461660, 461660, 461660, 461660, 461660, 461660, 461660, 461660, 461660, + 461660, 461660, 461660, 461660, 461660, 461660, 461660, 461660, 461660, 461660, 461660, 461660, 461660, 461660, 461660, 461660, + 461660, 465066, 466535, 467781, 471187, 471187, 471187, 471187, 471187, 472656, 472656, 473124, 474593, 477999, 479468, 480714, + 484120, 485589, 485589, 486057, 487526, 488052, 488246, 488469, 488995, 489521, 489521, 489715, 490241, 491710, 491710, 492178, + 493647, 493647, 493647, 493647, 493647, 493647, 493647, 493647, 493647, 493647, 493647, 493647, 493647, 493647, 493647, 493647, + 493647, 494173, 494367, 494590, 495116, 495116, 495116, 495116, 495116, 495310, 495310, 495380, 495557, 496083, 496260, 496461, + 496955, 498424, 498424, 498892, 500361, 500887, 501064, 501265, 501759, 502285, 502285, 502462, 502956, 504425, 504425, 504866, + 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, + 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, + 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, + 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, 506264, + 506264, 509670, 511139, 512385, 515791, 515791, 515791, 515791, 515791, 517260, 517260, 517728, 519197, 522603, 524072, 525318, + 528724, 528724, 528724, 528724, 528724, 528724, 528724, 528724, 528724, 528724, 528724, 528724, 528724, 528724, 528724, 528724, + 528724, 528724, 528724, 528724, 528724, 528724, 528724, 528724, 528724, 528724, 528724, 528724, 528724, 528724, 528724, 528724, + 528724, 532130, 533599, 534845, 538251, 538251, 538251, 538251, 538251, 539720, 539720, 540161, 541559, 544965, 546363, 547560, + 550868, 560395, 560395, 563859, 573386, 576792, 578261, 579507, 582913, 586319, 586319, 587788, 591194, 600721, 600721, 604185, + 613712, 613712, 613712, 613712, 613712, 613712, 613712, 613712, 613712, 613712, 613712, 613712, 613712, 613712, 613712, 613712, + 613712, 613712, 613712, 613712, 613712, 613712, 613712, 613712, 613712, 613712, 613712, 613712, 613712, 613712, 613712, 613712, + 613712, 623239, 623239, 626703, 636230, 639636, 641105, 642351, 645757, 649163, 649163, 650632, 654038, 663565, 663565, 667029, + 676556, 679962, 681431, 682677, 686083, 686083, 686083, 686083, 686083, 687552, 687552, 688078, 689547, 692953, 694422, 695668, + 699074, 700543, 700543, 701011, 702480, 703006, 703183, 703384, 703878, 704404, 704404, 704581, 705075, 706544, 706544, 706985, + 708383, 709852, 709852, 710320, 711789, 711789, 711789, 711789, 711789, 712315, 712492, 712693, 713187, 714656, 714656, 715097, + 716495, 719901, 721370, 722616, 726022, 726022, 726022, 726022, 726022, 727491, 727491, 727985, 729383, 732789, 734187, 735384, + 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, + 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, + 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, + 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, 738692, + 738692, 748219, 748219, 751683, 761210, 764616, 766085, 767331, 770737, 774143, 774143, 775612, 779018, 788545, 788545, 792009, + 801536, 801536, 801536, 801536, 801536, 801536, 801536, 801536, 801536, 801536, 801536, 801536, 801536, 801536, 801536, 801536, + 801536, 801536, 801536, 801536, 801536, 801536, 801536, 801536, 801536, 801536, 801536, 801536, 801536, 801536, 801536, 801536, + 801536, 811063, 811063, 814527, 824054, 827460, 828858, 830055, 833363, 836769, 836769, 838167, 841475, 851002, 851002, 854363, + 863672, 867078, 868547, 869793, 873199, 873199, 873199, 873199, 873199, 874668, 874668, 875194, 876663, 880069, 881538, 882784, + 886190, 887659, 887659, 888127, 889596, 890122, 890316, 890539, 891065, 891591, 891591, 891785, 892311, 893780, 893780, 894248, + 895717, 897186, 897186, 897654, 899123, 899123, 899123, 899123, 899123, 899649, 899843, 900066, 900592, 902061, 902061, 902529, + 903998, 907404, 908873, 910119, 913525, 913525, 913525, 913525, 913525, 914994, 914994, 915520, 916989, 920395, 921864, 923110, + 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, + 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, + 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, + 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, + 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, + 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, + 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, + 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, 926516, + 926516, 929922, 931391, 932637, 936043, 936043, 936043, 936043, 936043, 937512, 937512, 938038, 939507, 942913, 944382, 945628, + 949034, 950503, 950503, 950971, 952440, 952966, 953143, 953344, 953838, 954364, 954364, 954541, 955035, 956504, 956504, 956945, + 958343, 959812, 959812, 960280, 961749, 961749, 961749, 961749, 961749, 962275, 962452, 962653, 963147, 964616, 964616, 965057, + 966455, 969861, 971330, 972576, 975982, 975982, 975982, 975982, 975982, 977451, 977451, 977945, 979343, 982749, 984147, 985344, + 988652, 990121, 990121, 990589, 992058, 992584, 992778, 993001, 993527, 994053, 994053, 994247, 994773, 996242, 996242, 996710, + 998179, 998179, 998179, 998179, 998179, 998179, 998179, 998179, 998179, 998179, 998179, 998179, 998179, 998179, 998179, 998179, + 998179, 998705, 998899, 999122, 999648, 999648, 999648, 999648, 999648, 999842, 999904, 999965, 1000142, 1000668, 1000845, 1001046, +1001540, 1003009, 1003009, 1003477, 1004946, 1005472, 1005649, 1005850, 1006344, 1006870, 1006870, 1007047, 1007541, 1009010, 1009010, 1009451, +1010849, 1011375, 1011569, 1011792, 1012318, 1012318, 1012318, 1012318, 1012318, 1012512, 1012512, 1012582, 1012759, 1013285, 1013462, 1013663, +1014157, 1014351, 1014413, 1014474, 1014651, 1014713, 1014727, 1014740, 1014782, 1014852, 1014866, 1014881, 1014927, 1015104, 1015146, 1015188, +1015319, 1015513, 1015575, 1015636, 1015813, 1015813, 1015813, 1015813, 1015813, 1015875, 1015889, 1015902, 1015944, 1016121, 1016163, 1016205, +1016336, 1016862, 1017039, 1017240, 1017734, 1017734, 1017734, 1017734, 1017734, 1017911, 1017911, 1017957, 1018088, 1018582, 1018713, 1018858, +1019250, 1019776, 1019970, 1020193, 1020719, 1020719, 1020719, 1020719, 1020719, 1020913, 1020913, 1020983, 1021160, 1021686, 1021863, 1022064, +1022558, 1022558, 1022558, 1022558, 1022558, 1022558, 1022558, 1022558, 1022558, 1022558, 1022558, 1022558, 1022558, 1022558, 1022558, 1022558, +1022558, 1022752, 1022814, 1022875, 1023052, 1023114, 1023128, 1023141, 1023183, 1023253, 1023267, 1023282, 1023328, 1023505, 1023547, 1023589, +1023720, 1024246, 1024423, 1024624, 1025118, 1025118, 1025118, 1025118, 1025118, 1025295, 1025295, 1025341, 1025472, 1025966, 1026097, 1026242, +1026634, 1028103, 1028103, 1028571, 1030040, 1030566, 1030743, 1030944, 1031438, 1031964, 1031964, 1032141, 1032635, 1034104, 1034104, 1034545, +1035943, 1035943, 1035943, 1035943, 1035943, 1035943, 1035943, 1035943, 1035943, 1035943, 1035943, 1035943, 1035943, 1035943, 1035943, 1035943, +1035943, 1036469, 1036646, 1036847, 1037341, 1037341, 1037341, 1037341, 1037341, 1037518, 1037560, 1037602, 1037733, 1038227, 1038358, 1038503, +1038895, 1040364, 1040364, 1040805, 1042203, 1042697, 1042828, 1042973, 1043365, 1043859, 1043859, 1043990, 1044382, 1045780, 1045780, 1046134, +1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, +1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, +1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, +1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, +1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, +1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, +1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, +1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, +1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, +1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, +1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, +1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, +1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, +1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, +1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, +1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, 1047296, +1047296, 1050702, 1052171, 1053417, 1056823, 1056823, 1056823, 1056823, 1056823, 1058292, 1058292, 1058818, 1060287, 1063693, 1065162, 1066408, +1069814, 1071283, 1071283, 1071751, 1073220, 1073746, 1073923, 1074124, 1074618, 1075144, 1075144, 1075321, 1075815, 1077284, 1077284, 1077725, +1079123, 1080592, 1080592, 1081060, 1082529, 1082529, 1082529, 1082529, 1082529, 1083055, 1083232, 1083433, 1083927, 1085396, 1085396, 1085837, +1087235, 1090641, 1092110, 1093356, 1096762, 1096762, 1096762, 1096762, 1096762, 1098231, 1098231, 1098725, 1100123, 1103529, 1104927, 1106124, +1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, +1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, +1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, +1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, +1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, +1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, +1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, +1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, 1109432, +1109432, 1112838, 1114307, 1115553, 1118959, 1118959, 1118959, 1118959, 1118959, 1120428, 1120428, 1120922, 1122320, 1125726, 1127124, 1128321, +1131629, 1133098, 1133098, 1133539, 1134937, 1135431, 1135562, 1135707, 1136099, 1136593, 1136593, 1136724, 1137116, 1138514, 1138514, 1138868, +1140030, 1141499, 1141499, 1141940, 1143338, 1143338, 1143338, 1143338, 1143338, 1143832, 1143963, 1144108, 1144500, 1145898, 1145898, 1146252, +1147414, 1150820, 1152218, 1153415, 1156723, 1156723, 1156723, 1156723, 1156723, 1158121, 1158121, 1158513, 1159675, 1162983, 1164145, 1165162, +1168076, 1171482, 1172951, 1174197, 1177603, 1177603, 1177603, 1177603, 1177603, 1179072, 1179072, 1179598, 1181067, 1184473, 1185942, 1187188, +1190594, 1190594, 1190594, 1190594, 1190594, 1190594, 1190594, 1190594, 1190594, 1190594, 1190594, 1190594, 1190594, 1190594, 1190594, 1190594, +1190594, 1190594, 1190594, 1190594, 1190594, 1190594, 1190594, 1190594, 1190594, 1190594, 1190594, 1190594, 1190594, 1190594, 1190594, 1190594, +1190594, 1194000, 1195469, 1196715, 1200121, 1200121, 1200121, 1200121, 1200121, 1201590, 1201590, 1202116, 1203585, 1206991, 1208460, 1209706, +1213112, 1214581, 1214581, 1215049, 1216518, 1217044, 1217238, 1217461, 1217987, 1218513, 1218513, 1218707, 1219233, 1220702, 1220702, 1221170, +1222639, 1222639, 1222639, 1222639, 1222639, 1222639, 1222639, 1222639, 1222639, 1222639, 1222639, 1222639, 1222639, 1222639, 1222639, 1222639, +1222639, 1223165, 1223359, 1223582, 1224108, 1224108, 1224108, 1224108, 1224108, 1224302, 1224364, 1224425, 1224602, 1225128, 1225305, 1225506, +1226000, 1227469, 1227469, 1227937, 1229406, 1229932, 1230109, 1230310, 1230804, 1231330, 1231330, 1231507, 1232001, 1233470, 1233470, 1233911, +1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, +1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, +1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, +1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, 1235309, +1235309, 1238715, 1240184, 1241430, 1244836, 1244836, 1244836, 1244836, 1244836, 1246305, 1246305, 1246831, 1248300, 1251706, 1253175, 1254421, +1257827, 1257827, 1257827, 1257827, 1257827, 1257827, 1257827, 1257827, 1257827, 1257827, 1257827, 1257827, 1257827, 1257827, 1257827, 1257827, +1257827, 1257827, 1257827, 1257827, 1257827, 1257827, 1257827, 1257827, 1257827, 1257827, 1257827, 1257827, 1257827, 1257827, 1257827, 1257827, +1257827, 1261233, 1262702, 1263948, 1267354, 1267354, 1267354, 1267354, 1267354, 1268823, 1268823, 1269317, 1270715, 1274121, 1275519, 1276716, +1280024, 1281493, 1281493, 1281961, 1283430, 1283956, 1284150, 1284373, 1284899, 1285425, 1285425, 1285619, 1286145, 1287614, 1287614, 1288082, +1289551, 1289551, 1289551, 1289551, 1289551, 1289551, 1289551, 1289551, 1289551, 1289551, 1289551, 1289551, 1289551, 1289551, 1289551, 1289551, +1289551, 1290077, 1290271, 1290494, 1291020, 1291020, 1291020, 1291020, 1291020, 1291214, 1291276, 1291337, 1291514, 1292040, 1292217, 1292418, +1292912, 1294381, 1294381, 1294849, 1296318, 1296844, 1297021, 1297222, 1297716, 1298242, 1298242, 1298419, 1298913, 1300382, 1300382, 1300823, +1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, +1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, +1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, +1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, +1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, +1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, +1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, +1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, 1302221, +1302221, 1303690, 1303690, 1304158, 1305627, 1306153, 1306330, 1306531, 1307025, 1307551, 1307551, 1307728, 1308222, 1309691, 1309691, 1310132, +1311530, 1311530, 1311530, 1311530, 1311530, 1311530, 1311530, 1311530, 1311530, 1311530, 1311530, 1311530, 1311530, 1311530, 1311530, 1311530, +1311530, 1312056, 1312233, 1312434, 1312928, 1312928, 1312928, 1312928, 1312928, 1313105, 1313147, 1313189, 1313320, 1313814, 1313945, 1314090, +1314482, 1315951, 1315951, 1316392, 1317790, 1318284, 1318415, 1318560, 1318952, 1319446, 1319446, 1319577, 1319969, 1321367, 1321367, 1321721, +1322883, 1324352, 1324352, 1324820, 1326289, 1326815, 1327009, 1327232, 1327758, 1328284, 1328284, 1328478, 1329004, 1330473, 1330473, 1330941, +1332410, 1332410, 1332410, 1332410, 1332410, 1332410, 1332410, 1332410, 1332410, 1332410, 1332410, 1332410, 1332410, 1332410, 1332410, 1332410, +1332410, 1332410, 1332410, 1332410, 1332410, 1332410, 1332410, 1332410, 1332410, 1332410, 1332410, 1332410, 1332410, 1332410, 1332410, 1332410, +1332410, 1333879, 1333879, 1334347, 1335816, 1336342, 1336519, 1336720, 1337214, 1337740, 1337740, 1337917, 1338411, 1339880, 1339880, 1340321, +1341719, 1342245, 1342439, 1342662, 1343188, 1343188, 1343188, 1343188, 1343188, 1343382, 1343382, 1343452, 1343629, 1344155, 1344332, 1344533, +1345027, 1345221, 1345283, 1345344, 1345521, 1345583, 1345597, 1345610, 1345652, 1345722, 1345736, 1345751, 1345797, 1345974, 1346016, 1346058, +1346189, 1346383, 1346445, 1346506, 1346683, 1346683, 1346683, 1346683, 1346683, 1346745, 1346759, 1346772, 1346814, 1346991, 1347033, 1347075, +1347206, 1347732, 1347909, 1348110, 1348604, 1348604, 1348604, 1348604, 1348604, 1348781, 1348781, 1348827, 1348958, 1349452, 1349583, 1349728, +1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, +1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, +1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, +1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, 1350120, +1350120, 1351589, 1351589, 1352057, 1353526, 1354052, 1354229, 1354430, 1354924, 1355450, 1355450, 1355627, 1356121, 1357590, 1357590, 1358031, +1359429, 1359429, 1359429, 1359429, 1359429, 1359429, 1359429, 1359429, 1359429, 1359429, 1359429, 1359429, 1359429, 1359429, 1359429, 1359429, +1359429, 1359429, 1359429, 1359429, 1359429, 1359429, 1359429, 1359429, 1359429, 1359429, 1359429, 1359429, 1359429, 1359429, 1359429, 1359429, +1359429, 1360898, 1360898, 1361339, 1362737, 1363231, 1363362, 1363507, 1363899, 1364393, 1364393, 1364524, 1364916, 1366314, 1366314, 1366668, +1367830, 1371236, 1372705, 1373951, 1377357, 1377357, 1377357, 1377357, 1377357, 1378826, 1378826, 1379352, 1380821, 1384227, 1385696, 1386942, +1390348, 1390348, 1390348, 1390348, 1390348, 1390348, 1390348, 1390348, 1390348, 1390348, 1390348, 1390348, 1390348, 1390348, 1390348, 1390348, +1390348, 1390348, 1390348, 1390348, 1390348, 1390348, 1390348, 1390348, 1390348, 1390348, 1390348, 1390348, 1390348, 1390348, 1390348, 1390348, +1390348, 1393754, 1395223, 1396469, 1399875, 1399875, 1399875, 1399875, 1399875, 1401344, 1401344, 1401838, 1403236, 1406642, 1408040, 1409237, +1412545, 1414014, 1414014, 1414482, 1415951, 1416477, 1416654, 1416855, 1417349, 1417875, 1417875, 1418052, 1418546, 1420015, 1420015, 1420456, +1421854, 1421854, 1421854, 1421854, 1421854, 1421854, 1421854, 1421854, 1421854, 1421854, 1421854, 1421854, 1421854, 1421854, 1421854, 1421854, +1421854, 1422380, 1422557, 1422758, 1423252, 1423252, 1423252, 1423252, 1423252, 1423429, 1423471, 1423513, 1423644, 1424138, 1424269, 1424414, +1424806, 1426275, 1426275, 1426716, 1428114, 1428608, 1428739, 1428884, 1429276, 1429770, 1429770, 1429901, 1430293, 1431691, 1431691, 1432045, +1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, +1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, +1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, +1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, 1433207, +1433207, 1436613, 1438082, 1439328, 1442734, 1442734, 1442734, 1442734, 1442734, 1444203, 1444203, 1444697, 1446095, 1449501, 1450899, 1452096, +1455404, 1455404, 1455404, 1455404, 1455404, 1455404, 1455404, 1455404, 1455404, 1455404, 1455404, 1455404, 1455404, 1455404, 1455404, 1455404, +1455404, 1455404, 1455404, 1455404, 1455404, 1455404, 1455404, 1455404, 1455404, 1455404, 1455404, 1455404, 1455404, 1455404, 1455404, 1455404, +1455404, 1458810, 1460208, 1461405, 1464713, 1464713, 1464713, 1464713, 1464713, 1466111, 1466111, 1466503, 1467665, 1470973, 1472135, 1473152, +1476066, 1485593, 1485593, 1489057, 1498584, 1501990, 1503459, 1504705, 1508111, 1511517, 1511517, 1512986, 1516392, 1525919, 1525919, 1529383, +1538910, 1538910, 1538910, 1538910, 1538910, 1538910, 1538910, 1538910, 1538910, 1538910, 1538910, 1538910, 1538910, 1538910, 1538910, 1538910, +1538910, 1538910, 1538910, 1538910, 1538910, 1538910, 1538910, 1538910, 1538910, 1538910, 1538910, 1538910, 1538910, 1538910, 1538910, 1538910, +1538910, 1548437, 1548437, 1551901, 1561428, 1564834, 1566303, 1567549, 1570955, 1574361, 1574361, 1575830, 1579236, 1588763, 1588763, 1592227, +1601754, 1605160, 1606629, 1607875, 1611281, 1611281, 1611281, 1611281, 1611281, 1612750, 1612750, 1613276, 1614745, 1618151, 1619620, 1620866, +1624272, 1625741, 1625741, 1626209, 1627678, 1628204, 1628381, 1628582, 1629076, 1629602, 1629602, 1629779, 1630273, 1631742, 1631742, 1632183, +1633581, 1635050, 1635050, 1635518, 1636987, 1636987, 1636987, 1636987, 1636987, 1637513, 1637690, 1637891, 1638385, 1639854, 1639854, 1640295, +1641693, 1645099, 1646568, 1647814, 1651220, 1651220, 1651220, 1651220, 1651220, 1652689, 1652689, 1653183, 1654581, 1657987, 1659385, 1660582, +1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, +1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, +1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, +1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, 1663890, +1663890, 1673417, 1673417, 1676881, 1686408, 1689814, 1691283, 1692529, 1695935, 1699341, 1699341, 1700810, 1704216, 1713743, 1713743, 1717207, +1726734, 1726734, 1726734, 1726734, 1726734, 1726734, 1726734, 1726734, 1726734, 1726734, 1726734, 1726734, 1726734, 1726734, 1726734, 1726734, +1726734, 1726734, 1726734, 1726734, 1726734, 1726734, 1726734, 1726734, 1726734, 1726734, 1726734, 1726734, 1726734, 1726734, 1726734, 1726734, +1726734, 1736261, 1736261, 1739725, 1749252, 1752658, 1754056, 1755253, 1758561, 1761967, 1761967, 1763365, 1766673, 1776200, 1776200, 1779561, +1788870, 1792276, 1793745, 1794991, 1798397, 1798397, 1798397, 1798397, 1798397, 1799866, 1799866, 1800392, 1801861, 1805267, 1806736, 1807982, +1811388, 1812857, 1812857, 1813325, 1814794, 1815320, 1815497, 1815698, 1816192, 1816718, 1816718, 1816895, 1817389, 1818858, 1818858, 1819299, +1820697, 1822166, 1822166, 1822634, 1824103, 1824103, 1824103, 1824103, 1824103, 1824629, 1824806, 1825007, 1825501, 1826970, 1826970, 1827411, +1828809, 1832215, 1833684, 1834930, 1838336, 1838336, 1838336, 1838336, 1838336, 1839805, 1839805, 1840299, 1841697, 1845103, 1846501, 1847698, +1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, +1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, +1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, +1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, +1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, +1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, +1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, +1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, 1851006, +1851006, 1854412, 1855881, 1857127, 1860533, 1860533, 1860533, 1860533, 1860533, 1862002, 1862002, 1862496, 1863894, 1867300, 1868698, 1869895, +1873203, 1874672, 1874672, 1875113, 1876511, 1877005, 1877136, 1877281, 1877673, 1878167, 1878167, 1878298, 1878690, 1880088, 1880088, 1880442, +1881604, 1883073, 1883073, 1883514, 1884912, 1884912, 1884912, 1884912, 1884912, 1885406, 1885537, 1885682, 1886074, 1887472, 1887472, 1887826, +1888988, 1892394, 1893792, 1894989, 1898297, 1898297, 1898297, 1898297, 1898297, 1899695, 1899695, 1900087, 1901249, 1904557, 1905719, 1906736, +1909650, 1913056, 1914525, 1915771, 1919177, 1919177, 1919177, 1919177, 1919177, 1920646, 1920646, 1921114, 1922583, 1925989, 1927458, 1928704, +1932110, 1932110, 1932110, 1932110, 1932110, 1932110, 1932110, 1932110, 1932110, 1932110, 1932110, 1932110, 1932110, 1932110, 1932110, 1932110, +1932110, 1932110, 1932110, 1932110, 1932110, 1932110, 1932110, 1932110, 1932110, 1932110, 1932110, 1932110, 1932110, 1932110, 1932110, 1932110, +1932110, 1935516, 1936985, 1938231, 1941637, 1941637, 1941637, 1941637, 1941637, 1943106, 1943106, 1943547, 1944945, 1948351, 1949749, 1950946, +1954254, 1955723, 1955723, 1956191, 1957660, 1958186, 1958363, 1958564, 1959058, 1959584, 1959584, 1959761, 1960255, 1961724, 1961724, 1962165, +1963563, 1963563, 1963563, 1963563, 1963563, 1963563, 1963563, 1963563, 1963563, 1963563, 1963563, 1963563, 1963563, 1963563, 1963563, 1963563, +1963563, 1964089, 1964266, 1964467, 1964961, 1964961, 1964961, 1964961, 1964961, 1965138, 1965138, 1965184, 1965315, 1965809, 1965940, 1966085, +1966477, 1967946, 1967946, 1968387, 1969785, 1970279, 1970410, 1970555, 1970947, 1971441, 1971441, 1971572, 1971964, 1973362, 1973362, 1973716, +1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, +1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, +1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, +1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, 1974878, +1974878, 1978284, 1979753, 1980999, 1984405, 1984405, 1984405, 1984405, 1984405, 1985874, 1985874, 1986315, 1987713, 1991119, 1992517, 1993714, +1997022, 1997022, 1997022, 1997022, 1997022, 1997022, 1997022, 1997022, 1997022, 1997022, 1997022, 1997022, 1997022, 1997022, 1997022, 1997022, +1997022, 1997022, 1997022, 1997022, 1997022, 1997022, 1997022, 1997022, 1997022, 1997022, 1997022, 1997022, 1997022, 1997022, 1997022, 1997022, +1997022, 2000428, 2001826, 2003023, 2006331, 2006331, 2006331, 2006331, 2006331, 2007729, 2007729, 2008083, 2009245, 2012553, 2013715, 2014732, +2017646, 2027173, 2027173, 2030637, 2040164, 2043570, 2045039, 2046285, 2049691, 2053097, 2053097, 2054566, 2057972, 2067499, 2067499, 2070963, +2080490, 2080490, 2080490, 2080490, 2080490, 2080490, 2080490, 2080490, 2080490, 2080490, 2080490, 2080490, 2080490, 2080490, 2080490, 2080490, +2080490, 2080490, 2080490, 2080490, 2080490, 2080490, 2080490, 2080490, 2080490, 2080490, 2080490, 2080490, 2080490, 2080490, 2080490, 2080490, +2080490, 2090017, 2090017, 2093481, 2103008, 2106414, 2107812, 2109009, 2112317, 2115723, 2115723, 2117121, 2120429, 2129956, 2129956, 2133317, +2142626, 2146032, 2147501, 2148747, 2152153, 2152153, 2152153, 2152153, 2152153, 2153622, 2153622, 2154116, 2155514, 2158920, 2160318, 2161515, +2164823, 2166292, 2166292, 2166733, 2168131, 2168625, 2168756, 2168901, 2169293, 2169787, 2169787, 2169918, 2170310, 2171708, 2171708, 2172062, +2173224, 2174693, 2174693, 2175134, 2176532, 2176532, 2176532, 2176532, 2176532, 2177026, 2177157, 2177302, 2177694, 2179092, 2179092, 2179446, +2180608, 2184014, 2185412, 2186609, 2189917, 2189917, 2189917, 2189917, 2189917, 2191315, 2191315, 2191707, 2192869, 2196177, 2197339, 2198356, +2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, +2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, +2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, +2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, 2201270, +2201270, 2210797, 2210797, 2214261, 2223788, 2227194, 2228592, 2229789, 2233097, 2236503, 2236503, 2237901, 2241209, 2250736, 2250736, 2254097, +2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, +2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, +2263406, 2272933, 2272933, 2276294, 2285603, 2288911, 2290073, 2291090, 2294004, 2297312, 2297312, 2298474, 2301388, 2310697, 2310697, 2313649, diff --git a/src/core/short_code/offset/range_prefix/offset_0x8.inc b/src/core/short_code/offset/range_prefix/offset_0x8.inc new file mode 100644 index 0000000..abce59f --- /dev/null +++ b/src/core/short_code/offset/range_prefix/offset_0x8.inc @@ -0,0 +1,256 @@ + 0, 8397, 11405, 11405, 19802, 22810, 24085, 25191, 28199, 28199, 28199, 28199, 28199, 36596, 39604, 39604, + 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, + 48001, 51007, 52282, 52282, 55288, 56563, 56563, 57019, 58294, 58294, 58294, 58294, 58294, 61300, 62575, 62575, + 65581, 73978, 76986, 76986, 85383, 88391, 89666, 90772, 93780, 93780, 93780, 93780, 93780, 102177, 105185, 105185, + 113582, 116590, 117865, 118971, 121979, 123254, 123254, 123712, 124987, 124987, 124987, 124987, 124987, 127995, 129270, 130376, + 133384, 134659, 134659, 135117, 136392, 136848, 137042, 137211, 137667, 138123, 138123, 138317, 138773, 140048, 140048, 140506, + 141781, 141781, 141781, 141781, 141781, 141781, 141781, 141781, 141781, 141781, 141781, 141781, 141781, 141781, 141781, 141781, + 141781, 144789, 146064, 147170, 150178, 151453, 151453, 151911, 153186, 153186, 153186, 153186, 153186, 156194, 157469, 158575, + 161583, 164591, 164591, 164591, 167599, 168874, 168874, 169332, 170607, 170607, 170607, 170607, 170607, 173615, 173615, 173615, + 176623, 176623, 176623, 176623, 176623, 176623, 176623, 176623, 176623, 176623, 176623, 176623, 176623, 176623, 176623, 176623, + 176623, 177898, 177898, 177898, 179173, 179629, 179823, 179992, 180448, 180448, 180448, 180448, 180448, 181723, 181723, 181723, + 182998, 186006, 186006, 186006, 189014, 190289, 190289, 190747, 192022, 192022, 192022, 192022, 192022, 195030, 195030, 195030, + 198038, 206435, 209443, 209443, 217840, 220848, 222123, 223229, 226237, 226237, 226237, 226237, 226237, 234634, 237642, 237642, + 246039, 246039, 246039, 246039, 246039, 246039, 246039, 246039, 246039, 246039, 246039, 246039, 246039, 246039, 246039, 246039, + 246039, 249045, 250320, 250320, 253326, 254601, 254601, 255057, 256332, 256332, 256332, 256332, 256332, 259338, 260613, 260613, + 263619, 272016, 275024, 275024, 283421, 286429, 287704, 288810, 291818, 291818, 291818, 291818, 291818, 300215, 303223, 303223, + 311620, 314628, 315903, 317009, 320017, 321292, 321292, 321750, 323025, 323025, 323025, 323025, 323025, 326033, 327308, 328414, + 331422, 332697, 332697, 333155, 334430, 334886, 335080, 335249, 335705, 336161, 336161, 336355, 336811, 338086, 338086, 338544, + 339819, 339819, 339819, 339819, 339819, 339819, 339819, 339819, 339819, 339819, 339819, 339819, 339819, 339819, 339819, 339819, + 339819, 342827, 344102, 345208, 348216, 349491, 349491, 349949, 351224, 351224, 351224, 351224, 351224, 354232, 355507, 356613, + 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, + 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, + 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, + 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, 359621, + 359621, 360896, 360896, 361352, 362627, 363083, 363277, 363446, 363902, 363902, 363902, 363902, 363902, 365177, 365177, 365633, + 366908, 367364, 367558, 367727, 368183, 368183, 368183, 368183, 368183, 368377, 368377, 368438, 368615, 369071, 369248, 369404, + 369836, 369836, 369836, 369836, 369836, 369836, 369836, 369836, 369836, 369836, 369836, 369836, 369836, 369836, 369836, 369836, + 369836, 371111, 371111, 371567, 372842, 373298, 373475, 373631, 374063, 374063, 374063, 374063, 374063, 375338, 375338, 375770, + 376991, 379999, 381274, 382380, 385388, 386663, 386663, 387121, 388396, 388396, 388396, 388396, 388396, 391404, 392679, 393785, + 396793, 398068, 398068, 398526, 399801, 400257, 400434, 400590, 401022, 401478, 401478, 401655, 402087, 403362, 403362, 403795, + 405016, 405016, 405016, 405016, 405016, 405016, 405016, 405016, 405016, 405016, 405016, 405016, 405016, 405016, 405016, 405016, + 405016, 408024, 409299, 410405, 413413, 414688, 414688, 415121, 416342, 416342, 416342, 416342, 416342, 419350, 420571, 421636, + 424565, 427573, 428848, 429954, 432962, 432962, 432962, 432962, 432962, 432962, 432962, 432962, 432962, 435970, 437245, 438351, + 441359, 441359, 441359, 441359, 441359, 441359, 441359, 441359, 441359, 441359, 441359, 441359, 441359, 441359, 441359, 441359, + 441359, 442634, 442634, 443090, 444365, 444365, 444365, 444365, 444365, 444365, 444365, 444365, 444365, 445640, 445640, 446096, + 447371, 450379, 451654, 452760, 455768, 455768, 455768, 455768, 455768, 455768, 455768, 455768, 455768, 458776, 460051, 461157, + 464165, 465440, 465440, 465898, 467173, 467629, 467823, 467992, 468448, 468904, 468904, 469098, 469554, 470829, 470829, 471287, + 472562, 472562, 472562, 472562, 472562, 472562, 472562, 472562, 472562, 472562, 472562, 472562, 472562, 472562, 472562, 472562, + 472562, 472562, 472562, 472562, 472562, 472562, 472562, 472562, 472562, 472562, 472562, 472562, 472562, 472562, 472562, 472562, + 472562, 473837, 473837, 474295, 475570, 476026, 476203, 476359, 476791, 477247, 477247, 477424, 477856, 479131, 479131, 479564, + 480785, 482060, 482060, 482518, 483793, 483793, 483793, 483793, 483793, 483793, 483793, 483793, 483793, 485068, 485068, 485526, + 486801, 486801, 486801, 486801, 486801, 486801, 486801, 486801, 486801, 486801, 486801, 486801, 486801, 486801, 486801, 486801, + 486801, 487257, 487451, 487620, 488076, 488076, 488076, 488076, 488076, 488076, 488076, 488076, 488076, 488532, 488709, 488865, + 489297, 490572, 490572, 491030, 492305, 492305, 492305, 492305, 492305, 492305, 492305, 492305, 492305, 493580, 493580, 494013, + 495234, 498242, 499517, 500623, 503631, 503631, 503631, 503631, 503631, 503631, 503631, 503631, 503631, 506639, 507914, 509020, + 512028, 512028, 512028, 512028, 512028, 512028, 512028, 512028, 512028, 512028, 512028, 512028, 512028, 512028, 512028, 512028, + 512028, 513303, 513303, 513759, 515034, 515034, 515034, 515034, 515034, 515034, 515034, 515034, 515034, 516309, 516309, 516741, + 517962, 520970, 522245, 523351, 526359, 526359, 526359, 526359, 526359, 526359, 526359, 526359, 526359, 529367, 530588, 531653, + 534582, 542979, 545987, 545987, 554384, 557392, 558667, 559773, 562781, 562781, 562781, 562781, 562781, 571178, 574186, 574186, + 582583, 582583, 582583, 582583, 582583, 582583, 582583, 582583, 582583, 582583, 582583, 582583, 582583, 582583, 582583, 582583, + 582583, 585589, 586864, 586864, 589870, 591145, 591145, 591601, 592876, 592876, 592876, 592876, 592876, 595882, 597157, 597157, + 600163, 608560, 611568, 611568, 619965, 622973, 624248, 625354, 628362, 628362, 628362, 628362, 628362, 636759, 639767, 639767, + 648164, 651172, 652447, 653553, 656561, 657836, 657836, 658294, 659569, 659569, 659569, 659569, 659569, 662577, 663852, 664958, + 667966, 669241, 669241, 669699, 670974, 671430, 671607, 671763, 672195, 672651, 672651, 672828, 673260, 674535, 674535, 674968, + 676189, 676189, 676189, 676189, 676189, 676189, 676189, 676189, 676189, 676189, 676189, 676189, 676189, 676189, 676189, 676189, + 676189, 679197, 680472, 681578, 684586, 685861, 685861, 686294, 687515, 687515, 687515, 687515, 687515, 690523, 691744, 692809, + 695738, 698746, 698746, 698746, 701754, 703029, 703029, 703487, 704762, 704762, 704762, 704762, 704762, 707770, 707770, 707770, + 710778, 710778, 710778, 710778, 710778, 710778, 710778, 710778, 710778, 710778, 710778, 710778, 710778, 710778, 710778, 710778, + 710778, 712053, 712053, 712053, 713328, 713784, 713961, 714117, 714549, 714549, 714549, 714549, 714549, 715824, 715824, 715824, + 717045, 720053, 720053, 720053, 723061, 724336, 724336, 724769, 725990, 725990, 725990, 725990, 725990, 728998, 728998, 728998, + 731927, 740324, 743332, 743332, 751729, 754737, 756012, 757118, 760126, 760126, 760126, 760126, 760126, 768523, 771531, 771531, + 779928, 779928, 779928, 779928, 779928, 779928, 779928, 779928, 779928, 779928, 779928, 779928, 779928, 779928, 779928, 779928, + 779928, 782934, 784209, 784209, 787215, 788490, 788490, 788922, 790143, 790143, 790143, 790143, 790143, 793149, 794370, 794370, + 797298, 805695, 808703, 808703, 817100, 820108, 821329, 822394, 825323, 825323, 825323, 825323, 825323, 833720, 836649, 836649, + 844872, 847880, 849155, 850261, 853269, 854544, 854544, 855002, 856277, 856277, 856277, 856277, 856277, 859285, 860560, 861666, + 864674, 865949, 865949, 866407, 867682, 868138, 868332, 868501, 868957, 869413, 869413, 869607, 870063, 871338, 871338, 871796, + 873071, 873071, 873071, 873071, 873071, 873071, 873071, 873071, 873071, 873071, 873071, 873071, 873071, 873071, 873071, 873071, + 873071, 876079, 877354, 878460, 881468, 882743, 882743, 883201, 884476, 884476, 884476, 884476, 884476, 887484, 888759, 889865, + 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, + 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, + 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, + 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, 892873, + 892873, 894148, 894148, 894604, 895879, 896335, 896529, 896698, 897154, 897154, 897154, 897154, 897154, 898429, 898429, 898885, + 900160, 900616, 900810, 900979, 901435, 901435, 901435, 901435, 901435, 901629, 901629, 901690, 901867, 902323, 902500, 902656, + 903088, 903088, 903088, 903088, 903088, 903088, 903088, 903088, 903088, 903088, 903088, 903088, 903088, 903088, 903088, 903088, + 903088, 904363, 904363, 904819, 906094, 906550, 906727, 906883, 907315, 907315, 907315, 907315, 907315, 908590, 908590, 909022, + 910243, 913251, 914526, 915632, 918640, 919915, 919915, 920373, 921648, 921648, 921648, 921648, 921648, 924656, 925931, 927037, + 930045, 931320, 931320, 931778, 933053, 933509, 933686, 933842, 934274, 934730, 934730, 934907, 935339, 936614, 936614, 937047, + 938268, 938268, 938268, 938268, 938268, 938268, 938268, 938268, 938268, 938268, 938268, 938268, 938268, 938268, 938268, 938268, + 938268, 941276, 942551, 943657, 946665, 947940, 947940, 948373, 949594, 949594, 949594, 949594, 949594, 952602, 953823, 954888, + 957817, 959092, 959092, 959550, 960825, 961281, 961475, 961644, 962100, 962556, 962556, 962750, 963206, 964481, 964481, 964939, + 966214, 966670, 966864, 967033, 967489, 967489, 967489, 967489, 967489, 967683, 967683, 967745, 967922, 968378, 968555, 968711, + 969143, 969143, 969143, 969143, 969143, 969143, 969143, 969143, 969143, 969143, 969143, 969143, 969143, 969143, 969143, 969143, + 969143, 970418, 970418, 970876, 972151, 972607, 972784, 972940, 973372, 973828, 973828, 974005, 974437, 975712, 975712, 976145, + 977366, 977822, 978016, 978185, 978641, 978641, 978641, 978641, 978641, 978835, 978835, 978897, 979074, 979530, 979707, 979863, + 980295, 980489, 980489, 980550, 980727, 980789, 980803, 980816, 980858, 980920, 980920, 980934, 980976, 981153, 981153, 981195, + 981326, 981520, 981520, 981581, 981758, 981758, 981758, 981758, 981758, 981820, 981834, 981847, 981889, 982066, 982066, 982108, + 982239, 982695, 982872, 983028, 983460, 983460, 983460, 983460, 983460, 983637, 983637, 983679, 983810, 984242, 984373, 984491, + 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, + 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, + 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, + 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, 984841, + 984841, 986116, 986116, 986574, 987849, 988305, 988482, 988638, 989070, 989526, 989526, 989703, 990135, 991410, 991410, 991843, + 993064, 993520, 993697, 993853, 994285, 994285, 994285, 994285, 994285, 994462, 994462, 994504, 994635, 995067, 995198, 995316, + 995666, 995666, 995666, 995666, 995666, 995666, 995666, 995666, 995666, 995666, 995666, 995666, 995666, 995666, 995666, 995666, + 995666, 996941, 996941, 997374, 998595, 999027, 999158, 999276, 999626, 1000058, 1000058, 1000189, 1000539, 1001760, 1001760, 1002110, +1003141, 1004416, 1004416, 1004874, 1006149, 1006149, 1006149, 1006149, 1006149, 1006149, 1006149, 1006149, 1006149, 1007424, 1007424, 1007882, +1009157, 1009613, 1009807, 1009976, 1010432, 1010432, 1010432, 1010432, 1010432, 1010626, 1010626, 1010688, 1010865, 1011321, 1011498, 1011654, +1012086, 1012086, 1012086, 1012086, 1012086, 1012086, 1012086, 1012086, 1012086, 1012086, 1012086, 1012086, 1012086, 1012086, 1012086, 1012086, +1012086, 1013361, 1013361, 1013819, 1015094, 1015094, 1015094, 1015094, 1015094, 1015094, 1015094, 1015094, 1015094, 1016369, 1016369, 1016802, +1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, +1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, +1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, +1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, 1018023, +1018023, 1018479, 1018673, 1018842, 1019298, 1019298, 1019298, 1019298, 1019298, 1019298, 1019298, 1019298, 1019298, 1019754, 1019931, 1020087, +1020519, 1020713, 1020713, 1020774, 1020951, 1021013, 1021027, 1021040, 1021082, 1021144, 1021144, 1021158, 1021200, 1021377, 1021377, 1021419, +1021550, 1021550, 1021550, 1021550, 1021550, 1021550, 1021550, 1021550, 1021550, 1021550, 1021550, 1021550, 1021550, 1021550, 1021550, 1021550, +1021550, 1022006, 1022183, 1022339, 1022771, 1022771, 1022771, 1022771, 1022771, 1022771, 1022771, 1022771, 1022771, 1023203, 1023334, 1023452, +1023802, 1025077, 1025077, 1025535, 1026810, 1026810, 1026810, 1026810, 1026810, 1026810, 1026810, 1026810, 1026810, 1028085, 1028085, 1028518, +1029739, 1030195, 1030372, 1030528, 1030960, 1030960, 1030960, 1030960, 1030960, 1031137, 1031137, 1031179, 1031310, 1031742, 1031873, 1031991, +1032341, 1032341, 1032341, 1032341, 1032341, 1032341, 1032341, 1032341, 1032341, 1032341, 1032341, 1032341, 1032341, 1032341, 1032341, 1032341, +1032341, 1033616, 1033616, 1034049, 1035270, 1035270, 1035270, 1035270, 1035270, 1035270, 1035270, 1035270, 1035270, 1036491, 1036491, 1036841, +1037872, 1040880, 1042155, 1043261, 1046269, 1047544, 1047544, 1048002, 1049277, 1049277, 1049277, 1049277, 1049277, 1052285, 1053560, 1054666, +1057674, 1058949, 1058949, 1059407, 1060682, 1061138, 1061315, 1061471, 1061903, 1062359, 1062359, 1062536, 1062968, 1064243, 1064243, 1064676, +1065897, 1065897, 1065897, 1065897, 1065897, 1065897, 1065897, 1065897, 1065897, 1065897, 1065897, 1065897, 1065897, 1065897, 1065897, 1065897, +1065897, 1068905, 1070180, 1071286, 1074294, 1075569, 1075569, 1076002, 1077223, 1077223, 1077223, 1077223, 1077223, 1080231, 1081452, 1082517, +1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, +1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, +1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, +1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, 1085446, +1085446, 1086721, 1086721, 1087177, 1088452, 1088908, 1089085, 1089241, 1089673, 1089673, 1089673, 1089673, 1089673, 1090948, 1090948, 1091380, +1092601, 1093057, 1093234, 1093390, 1093822, 1093822, 1093822, 1093822, 1093822, 1093999, 1093999, 1094041, 1094172, 1094604, 1094735, 1094853, +1095203, 1095203, 1095203, 1095203, 1095203, 1095203, 1095203, 1095203, 1095203, 1095203, 1095203, 1095203, 1095203, 1095203, 1095203, 1095203, +1095203, 1096478, 1096478, 1096910, 1098131, 1098563, 1098694, 1098812, 1099162, 1099162, 1099162, 1099162, 1099162, 1100383, 1100383, 1100733, +1101764, 1104772, 1106047, 1107153, 1110161, 1111436, 1111436, 1111869, 1113090, 1113090, 1113090, 1113090, 1113090, 1116098, 1117319, 1118384, +1121313, 1122588, 1122588, 1123021, 1124242, 1124674, 1124805, 1124923, 1125273, 1125705, 1125705, 1125836, 1126186, 1127407, 1127407, 1127757, +1128788, 1128788, 1128788, 1128788, 1128788, 1128788, 1128788, 1128788, 1128788, 1128788, 1128788, 1128788, 1128788, 1128788, 1128788, 1128788, +1128788, 1131796, 1133017, 1134082, 1137011, 1138232, 1138232, 1138582, 1139613, 1139613, 1139613, 1139613, 1139613, 1142542, 1143573, 1144486, +1147088, 1150096, 1151371, 1152477, 1155485, 1156760, 1156760, 1157218, 1158493, 1158493, 1158493, 1158493, 1158493, 1161501, 1162776, 1163882, +1166890, 1166890, 1166890, 1166890, 1166890, 1166890, 1166890, 1166890, 1166890, 1166890, 1166890, 1166890, 1166890, 1166890, 1166890, 1166890, +1166890, 1168165, 1168165, 1168621, 1169896, 1170352, 1170546, 1170715, 1171171, 1171171, 1171171, 1171171, 1171171, 1172446, 1172446, 1172902, +1174177, 1177185, 1178460, 1179566, 1182574, 1183849, 1183849, 1184307, 1185582, 1185582, 1185582, 1185582, 1185582, 1188590, 1189865, 1190971, +1193979, 1195254, 1195254, 1195712, 1196987, 1197443, 1197637, 1197806, 1198262, 1198718, 1198718, 1198912, 1199368, 1200643, 1200643, 1201101, +1202376, 1202832, 1203026, 1203195, 1203651, 1203651, 1203651, 1203651, 1203651, 1203845, 1203845, 1203907, 1204084, 1204540, 1204717, 1204873, +1205305, 1205305, 1205305, 1205305, 1205305, 1205305, 1205305, 1205305, 1205305, 1205305, 1205305, 1205305, 1205305, 1205305, 1205305, 1205305, +1205305, 1206580, 1206580, 1207038, 1208313, 1208769, 1208946, 1209102, 1209534, 1209990, 1209990, 1210167, 1210599, 1211874, 1211874, 1212307, +1213528, 1214803, 1214803, 1215261, 1216536, 1216536, 1216536, 1216536, 1216536, 1216536, 1216536, 1216536, 1216536, 1217811, 1217811, 1218269, +1219544, 1219544, 1219544, 1219544, 1219544, 1219544, 1219544, 1219544, 1219544, 1219544, 1219544, 1219544, 1219544, 1219544, 1219544, 1219544, +1219544, 1220000, 1220194, 1220363, 1220819, 1220819, 1220819, 1220819, 1220819, 1220819, 1220819, 1220819, 1220819, 1221275, 1221452, 1221608, +1222040, 1223315, 1223315, 1223773, 1225048, 1225048, 1225048, 1225048, 1225048, 1225048, 1225048, 1225048, 1225048, 1226323, 1226323, 1226756, +1227977, 1230985, 1232260, 1233366, 1236374, 1237649, 1237649, 1238107, 1239382, 1239382, 1239382, 1239382, 1239382, 1242390, 1243665, 1244771, +1247779, 1247779, 1247779, 1247779, 1247779, 1247779, 1247779, 1247779, 1247779, 1247779, 1247779, 1247779, 1247779, 1247779, 1247779, 1247779, +1247779, 1249054, 1249054, 1249510, 1250785, 1251241, 1251418, 1251574, 1252006, 1252006, 1252006, 1252006, 1252006, 1253281, 1253281, 1253713, +1254934, 1257942, 1259217, 1260323, 1263331, 1264606, 1264606, 1265039, 1266260, 1266260, 1266260, 1266260, 1266260, 1269268, 1270489, 1271554, +1274483, 1275758, 1275758, 1276216, 1277491, 1277947, 1278141, 1278310, 1278766, 1279222, 1279222, 1279416, 1279872, 1281147, 1281147, 1281605, +1282880, 1283336, 1283530, 1283699, 1284155, 1284155, 1284155, 1284155, 1284155, 1284349, 1284349, 1284411, 1284588, 1285044, 1285221, 1285377, +1285809, 1285809, 1285809, 1285809, 1285809, 1285809, 1285809, 1285809, 1285809, 1285809, 1285809, 1285809, 1285809, 1285809, 1285809, 1285809, +1285809, 1287084, 1287084, 1287542, 1288817, 1289273, 1289450, 1289606, 1290038, 1290494, 1290494, 1290671, 1291103, 1292378, 1292378, 1292811, +1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, +1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, +1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, +1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, 1294032, +1294032, 1294488, 1294682, 1294851, 1295307, 1295307, 1295307, 1295307, 1295307, 1295501, 1295501, 1295562, 1295739, 1296195, 1296372, 1296528, +1296960, 1297154, 1297154, 1297215, 1297392, 1297454, 1297468, 1297481, 1297523, 1297585, 1297585, 1297599, 1297641, 1297818, 1297818, 1297860, +1297991, 1297991, 1297991, 1297991, 1297991, 1297991, 1297991, 1297991, 1297991, 1297991, 1297991, 1297991, 1297991, 1297991, 1297991, 1297991, +1297991, 1298447, 1298624, 1298780, 1299212, 1299212, 1299212, 1299212, 1299212, 1299389, 1299389, 1299431, 1299562, 1299994, 1300125, 1300243, +1300593, 1301868, 1301868, 1302326, 1303601, 1304057, 1304234, 1304390, 1304822, 1305278, 1305278, 1305455, 1305887, 1307162, 1307162, 1307595, +1308816, 1309272, 1309449, 1309605, 1310037, 1310037, 1310037, 1310037, 1310037, 1310214, 1310214, 1310256, 1310387, 1310819, 1310950, 1311068, +1311418, 1311418, 1311418, 1311418, 1311418, 1311418, 1311418, 1311418, 1311418, 1311418, 1311418, 1311418, 1311418, 1311418, 1311418, 1311418, +1311418, 1312693, 1312693, 1313126, 1314347, 1314779, 1314910, 1315028, 1315378, 1315810, 1315810, 1315941, 1316291, 1317512, 1317512, 1317862, +1318893, 1320168, 1320168, 1320626, 1321901, 1322357, 1322551, 1322720, 1323176, 1323632, 1323632, 1323826, 1324282, 1325557, 1325557, 1326015, +1327290, 1327290, 1327290, 1327290, 1327290, 1327290, 1327290, 1327290, 1327290, 1327290, 1327290, 1327290, 1327290, 1327290, 1327290, 1327290, +1327290, 1327746, 1327940, 1328109, 1328565, 1328565, 1328565, 1328565, 1328565, 1328759, 1328759, 1328820, 1328997, 1329453, 1329630, 1329786, +1330218, 1331493, 1331493, 1331951, 1333226, 1333682, 1333859, 1334015, 1334447, 1334903, 1334903, 1335080, 1335512, 1336787, 1336787, 1337220, +1338441, 1338897, 1339091, 1339260, 1339716, 1339716, 1339716, 1339716, 1339716, 1339910, 1339910, 1339972, 1340149, 1340605, 1340782, 1340938, +1341370, 1341564, 1341564, 1341625, 1341802, 1341864, 1341878, 1341891, 1341933, 1341995, 1341995, 1342009, 1342051, 1342228, 1342228, 1342270, +1342401, 1342595, 1342595, 1342656, 1342833, 1342833, 1342833, 1342833, 1342833, 1342895, 1342909, 1342922, 1342964, 1343141, 1343141, 1343183, +1343314, 1343770, 1343947, 1344103, 1344535, 1344535, 1344535, 1344535, 1344535, 1344712, 1344712, 1344754, 1344885, 1345317, 1345448, 1345566, +1345916, 1346372, 1346566, 1346735, 1347191, 1347191, 1347191, 1347191, 1347191, 1347385, 1347385, 1347447, 1347624, 1348080, 1348257, 1348413, +1348845, 1348845, 1348845, 1348845, 1348845, 1348845, 1348845, 1348845, 1348845, 1348845, 1348845, 1348845, 1348845, 1348845, 1348845, 1348845, +1348845, 1349039, 1349039, 1349100, 1349277, 1349339, 1349353, 1349366, 1349408, 1349470, 1349470, 1349484, 1349526, 1349703, 1349703, 1349745, +1349876, 1350332, 1350509, 1350665, 1351097, 1351097, 1351097, 1351097, 1351097, 1351274, 1351274, 1351316, 1351447, 1351879, 1352010, 1352128, +1352478, 1353753, 1353753, 1354211, 1355486, 1355942, 1356119, 1356275, 1356707, 1357163, 1357163, 1357340, 1357772, 1359047, 1359047, 1359480, +1360701, 1360701, 1360701, 1360701, 1360701, 1360701, 1360701, 1360701, 1360701, 1360701, 1360701, 1360701, 1360701, 1360701, 1360701, 1360701, +1360701, 1361157, 1361334, 1361490, 1361922, 1361922, 1361922, 1361922, 1361922, 1362099, 1362099, 1362141, 1362272, 1362704, 1362835, 1362953, +1363303, 1364578, 1364578, 1365011, 1366232, 1366664, 1366795, 1366913, 1367263, 1367695, 1367695, 1367826, 1368176, 1369397, 1369397, 1369747, +1370778, 1373786, 1375061, 1376167, 1379175, 1380450, 1380450, 1380908, 1382183, 1382183, 1382183, 1382183, 1382183, 1385191, 1386466, 1387572, +1390580, 1390580, 1390580, 1390580, 1390580, 1390580, 1390580, 1390580, 1390580, 1390580, 1390580, 1390580, 1390580, 1390580, 1390580, 1390580, +1390580, 1391855, 1391855, 1392311, 1393586, 1394042, 1394219, 1394375, 1394807, 1394807, 1394807, 1394807, 1394807, 1396082, 1396082, 1396514, +1397735, 1400743, 1402018, 1403124, 1406132, 1407407, 1407407, 1407840, 1409061, 1409061, 1409061, 1409061, 1409061, 1412069, 1413290, 1414355, +1417284, 1418559, 1418559, 1419017, 1420292, 1420748, 1420925, 1421081, 1421513, 1421969, 1421969, 1422146, 1422578, 1423853, 1423853, 1424286, +1425507, 1425963, 1426140, 1426296, 1426728, 1426728, 1426728, 1426728, 1426728, 1426905, 1426905, 1426947, 1427078, 1427510, 1427641, 1427759, +1428109, 1428109, 1428109, 1428109, 1428109, 1428109, 1428109, 1428109, 1428109, 1428109, 1428109, 1428109, 1428109, 1428109, 1428109, 1428109, +1428109, 1429384, 1429384, 1429817, 1431038, 1431470, 1431601, 1431719, 1432069, 1432501, 1432501, 1432632, 1432982, 1434203, 1434203, 1434553, +1435584, 1436859, 1436859, 1437317, 1438592, 1438592, 1438592, 1438592, 1438592, 1438592, 1438592, 1438592, 1438592, 1439867, 1439867, 1440300, +1441521, 1441521, 1441521, 1441521, 1441521, 1441521, 1441521, 1441521, 1441521, 1441521, 1441521, 1441521, 1441521, 1441521, 1441521, 1441521, +1441521, 1441977, 1442154, 1442310, 1442742, 1442742, 1442742, 1442742, 1442742, 1442742, 1442742, 1442742, 1442742, 1443174, 1443305, 1443423, +1443773, 1445048, 1445048, 1445481, 1446702, 1446702, 1446702, 1446702, 1446702, 1446702, 1446702, 1446702, 1446702, 1447923, 1447923, 1448273, +1449304, 1452312, 1453587, 1454693, 1457701, 1458976, 1458976, 1459409, 1460630, 1460630, 1460630, 1460630, 1460630, 1463638, 1464859, 1465924, +1468853, 1468853, 1468853, 1468853, 1468853, 1468853, 1468853, 1468853, 1468853, 1468853, 1468853, 1468853, 1468853, 1468853, 1468853, 1468853, +1468853, 1470128, 1470128, 1470560, 1471781, 1472213, 1472344, 1472462, 1472812, 1472812, 1472812, 1472812, 1472812, 1474033, 1474033, 1474383, +1475414, 1478422, 1479643, 1480708, 1483637, 1484858, 1484858, 1485208, 1486239, 1486239, 1486239, 1486239, 1486239, 1489168, 1490199, 1491112, +1493714, 1502111, 1505119, 1505119, 1513516, 1516524, 1517799, 1518905, 1521913, 1521913, 1521913, 1521913, 1521913, 1530310, 1533318, 1533318, +1541715, 1541715, 1541715, 1541715, 1541715, 1541715, 1541715, 1541715, 1541715, 1541715, 1541715, 1541715, 1541715, 1541715, 1541715, 1541715, +1541715, 1544721, 1545996, 1545996, 1549002, 1550277, 1550277, 1550733, 1552008, 1552008, 1552008, 1552008, 1552008, 1555014, 1556289, 1556289, +1559295, 1567692, 1570700, 1570700, 1579097, 1582105, 1583380, 1584486, 1587494, 1587494, 1587494, 1587494, 1587494, 1595891, 1598899, 1598899, +1607296, 1610304, 1611579, 1612685, 1615693, 1616968, 1616968, 1617426, 1618701, 1618701, 1618701, 1618701, 1618701, 1621709, 1622984, 1624090, +1627098, 1628373, 1628373, 1628831, 1630106, 1630562, 1630739, 1630895, 1631327, 1631783, 1631783, 1631960, 1632392, 1633667, 1633667, 1634100, +1635321, 1635321, 1635321, 1635321, 1635321, 1635321, 1635321, 1635321, 1635321, 1635321, 1635321, 1635321, 1635321, 1635321, 1635321, 1635321, +1635321, 1638329, 1639604, 1640710, 1643718, 1644993, 1644993, 1645426, 1646647, 1646647, 1646647, 1646647, 1646647, 1649655, 1650876, 1651941, +1654870, 1657878, 1657878, 1657878, 1660886, 1662161, 1662161, 1662619, 1663894, 1663894, 1663894, 1663894, 1663894, 1666902, 1666902, 1666902, +1669910, 1669910, 1669910, 1669910, 1669910, 1669910, 1669910, 1669910, 1669910, 1669910, 1669910, 1669910, 1669910, 1669910, 1669910, 1669910, +1669910, 1671185, 1671185, 1671185, 1672460, 1672916, 1673093, 1673249, 1673681, 1673681, 1673681, 1673681, 1673681, 1674956, 1674956, 1674956, +1676177, 1679185, 1679185, 1679185, 1682193, 1683468, 1683468, 1683901, 1685122, 1685122, 1685122, 1685122, 1685122, 1688130, 1688130, 1688130, +1691059, 1699456, 1702464, 1702464, 1710861, 1713869, 1715144, 1716250, 1719258, 1719258, 1719258, 1719258, 1719258, 1727655, 1730663, 1730663, +1739060, 1739060, 1739060, 1739060, 1739060, 1739060, 1739060, 1739060, 1739060, 1739060, 1739060, 1739060, 1739060, 1739060, 1739060, 1739060, +1739060, 1742066, 1743341, 1743341, 1746347, 1747622, 1747622, 1748054, 1749275, 1749275, 1749275, 1749275, 1749275, 1752281, 1753502, 1753502, +1756430, 1764827, 1767835, 1767835, 1776232, 1779240, 1780461, 1781526, 1784455, 1784455, 1784455, 1784455, 1784455, 1792852, 1795781, 1795781, +1804004, 1807012, 1808287, 1809393, 1812401, 1813676, 1813676, 1814134, 1815409, 1815409, 1815409, 1815409, 1815409, 1818417, 1819692, 1820798, +1823806, 1825081, 1825081, 1825539, 1826814, 1827270, 1827447, 1827603, 1828035, 1828491, 1828491, 1828668, 1829100, 1830375, 1830375, 1830808, +1832029, 1832029, 1832029, 1832029, 1832029, 1832029, 1832029, 1832029, 1832029, 1832029, 1832029, 1832029, 1832029, 1832029, 1832029, 1832029, +1832029, 1835037, 1836312, 1837418, 1840426, 1841701, 1841701, 1842134, 1843355, 1843355, 1843355, 1843355, 1843355, 1846363, 1847584, 1848649, +1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, +1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, +1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, +1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, 1851578, +1851578, 1852853, 1852853, 1853309, 1854584, 1855040, 1855217, 1855373, 1855805, 1855805, 1855805, 1855805, 1855805, 1857080, 1857080, 1857512, +1858733, 1859189, 1859366, 1859522, 1859954, 1859954, 1859954, 1859954, 1859954, 1860131, 1860131, 1860173, 1860304, 1860736, 1860867, 1860985, +1861335, 1861335, 1861335, 1861335, 1861335, 1861335, 1861335, 1861335, 1861335, 1861335, 1861335, 1861335, 1861335, 1861335, 1861335, 1861335, +1861335, 1862610, 1862610, 1863042, 1864263, 1864695, 1864826, 1864944, 1865294, 1865294, 1865294, 1865294, 1865294, 1866515, 1866515, 1866865, +1867896, 1870904, 1872179, 1873285, 1876293, 1877568, 1877568, 1878001, 1879222, 1879222, 1879222, 1879222, 1879222, 1882230, 1883451, 1884516, +1887445, 1888720, 1888720, 1889153, 1890374, 1890806, 1890937, 1891055, 1891405, 1891837, 1891837, 1891968, 1892318, 1893539, 1893539, 1893889, +1894920, 1894920, 1894920, 1894920, 1894920, 1894920, 1894920, 1894920, 1894920, 1894920, 1894920, 1894920, 1894920, 1894920, 1894920, 1894920, +1894920, 1897928, 1899149, 1900214, 1903143, 1904364, 1904364, 1904714, 1905745, 1905745, 1905745, 1905745, 1905745, 1908674, 1909705, 1910618, +1913220, 1916228, 1917503, 1918609, 1921617, 1921617, 1921617, 1921617, 1921617, 1921617, 1921617, 1921617, 1921617, 1924625, 1925900, 1927006, +1930014, 1930014, 1930014, 1930014, 1930014, 1930014, 1930014, 1930014, 1930014, 1930014, 1930014, 1930014, 1930014, 1930014, 1930014, 1930014, +1930014, 1931289, 1931289, 1931745, 1933020, 1933020, 1933020, 1933020, 1933020, 1933020, 1933020, 1933020, 1933020, 1934295, 1934295, 1934727, +1935948, 1938956, 1940231, 1941337, 1944345, 1944345, 1944345, 1944345, 1944345, 1944345, 1944345, 1944345, 1944345, 1947353, 1948574, 1949639, +1952568, 1953843, 1953843, 1954301, 1955576, 1956032, 1956209, 1956365, 1956797, 1957253, 1957253, 1957430, 1957862, 1959137, 1959137, 1959570, +1960791, 1960791, 1960791, 1960791, 1960791, 1960791, 1960791, 1960791, 1960791, 1960791, 1960791, 1960791, 1960791, 1960791, 1960791, 1960791, +1960791, 1960791, 1960791, 1960791, 1960791, 1960791, 1960791, 1960791, 1960791, 1960791, 1960791, 1960791, 1960791, 1960791, 1960791, 1960791, +1960791, 1962066, 1962066, 1962499, 1963720, 1964152, 1964283, 1964401, 1964751, 1965183, 1965183, 1965314, 1965664, 1966885, 1966885, 1967235, +1968266, 1969541, 1969541, 1969999, 1971274, 1971274, 1971274, 1971274, 1971274, 1971274, 1971274, 1971274, 1971274, 1972549, 1972549, 1972982, +1974203, 1974203, 1974203, 1974203, 1974203, 1974203, 1974203, 1974203, 1974203, 1974203, 1974203, 1974203, 1974203, 1974203, 1974203, 1974203, +1974203, 1974659, 1974836, 1974992, 1975424, 1975424, 1975424, 1975424, 1975424, 1975424, 1975424, 1975424, 1975424, 1975856, 1975987, 1976105, +1976455, 1977730, 1977730, 1978163, 1979384, 1979384, 1979384, 1979384, 1979384, 1979384, 1979384, 1979384, 1979384, 1980605, 1980605, 1980955, +1981986, 1984994, 1986269, 1987375, 1990383, 1990383, 1990383, 1990383, 1990383, 1990383, 1990383, 1990383, 1990383, 1993391, 1994612, 1995677, +1998606, 1998606, 1998606, 1998606, 1998606, 1998606, 1998606, 1998606, 1998606, 1998606, 1998606, 1998606, 1998606, 1998606, 1998606, 1998606, +1998606, 1999881, 1999881, 2000313, 2001534, 2001534, 2001534, 2001534, 2001534, 2001534, 2001534, 2001534, 2001534, 2002755, 2002755, 2003105, +2004136, 2007144, 2008365, 2009430, 2012359, 2012359, 2012359, 2012359, 2012359, 2012359, 2012359, 2012359, 2012359, 2015288, 2016319, 2017232, +2019834, 2028231, 2031239, 2031239, 2039636, 2042644, 2043919, 2045025, 2048033, 2048033, 2048033, 2048033, 2048033, 2056430, 2059438, 2059438, +2067835, 2067835, 2067835, 2067835, 2067835, 2067835, 2067835, 2067835, 2067835, 2067835, 2067835, 2067835, 2067835, 2067835, 2067835, 2067835, +2067835, 2070841, 2072116, 2072116, 2075122, 2076397, 2076397, 2076829, 2078050, 2078050, 2078050, 2078050, 2078050, 2081056, 2082277, 2082277, +2085205, 2093602, 2096610, 2096610, 2105007, 2108015, 2109236, 2110301, 2113230, 2113230, 2113230, 2113230, 2113230, 2121627, 2124556, 2124556, +2132779, 2135787, 2137062, 2138168, 2141176, 2142451, 2142451, 2142884, 2144105, 2144105, 2144105, 2144105, 2144105, 2147113, 2148334, 2149399, +2152328, 2153603, 2153603, 2154036, 2155257, 2155689, 2155820, 2155938, 2156288, 2156720, 2156720, 2156851, 2157201, 2158422, 2158422, 2158772, +2159803, 2159803, 2159803, 2159803, 2159803, 2159803, 2159803, 2159803, 2159803, 2159803, 2159803, 2159803, 2159803, 2159803, 2159803, 2159803, +2159803, 2162811, 2164032, 2165097, 2168026, 2169247, 2169247, 2169597, 2170628, 2170628, 2170628, 2170628, 2170628, 2173557, 2174588, 2175501, +2178103, 2181111, 2181111, 2181111, 2184119, 2185394, 2185394, 2185827, 2187048, 2187048, 2187048, 2187048, 2187048, 2190056, 2190056, 2190056, +2192985, 2192985, 2192985, 2192985, 2192985, 2192985, 2192985, 2192985, 2192985, 2192985, 2192985, 2192985, 2192985, 2192985, 2192985, 2192985, +2192985, 2194260, 2194260, 2194260, 2195481, 2195913, 2196044, 2196162, 2196512, 2196512, 2196512, 2196512, 2196512, 2197733, 2197733, 2197733, +2198764, 2201772, 2201772, 2201772, 2204701, 2205922, 2205922, 2206272, 2207303, 2207303, 2207303, 2207303, 2207303, 2210232, 2210232, 2210232, +2212834, 2221231, 2224239, 2224239, 2232636, 2235644, 2236865, 2237930, 2240859, 2240859, 2240859, 2240859, 2240859, 2249256, 2252185, 2252185, +2260408, 2260408, 2260408, 2260408, 2260408, 2260408, 2260408, 2260408, 2260408, 2260408, 2260408, 2260408, 2260408, 2260408, 2260408, 2260408, +2260408, 2263414, 2264635, 2264635, 2267563, 2268784, 2268784, 2269134, 2270165, 2270165, 2270165, 2270165, 2270165, 2273093, 2274124, 2274124, +2276726, 2285123, 2288052, 2288052, 2296275, 2299204, 2300235, 2301148, 2303750, 2303750, 2303750, 2303750, 2303750, 2311973, 2314575, 2314575, diff --git a/src/core/short_code/offset/range_prefix/offset_0x9.inc b/src/core/short_code/offset/range_prefix/offset_0x9.inc new file mode 100644 index 0000000..11c6cd9 --- /dev/null +++ b/src/core/short_code/offset/range_prefix/offset_0x9.inc @@ -0,0 +1,256 @@ + 0, 5741, 8119, 8119, 13860, 16238, 17223, 17223, 19601, 21979, 22964, 22964, 25342, 31083, 33461, 33461, + 39202, 39202, 39202, 39202, 39202, 39202, 39202, 39202, 39202, 39202, 39202, 39202, 39202, 39202, 39202, 39202, + 39202, 41172, 42157, 42157, 44127, 45112, 45112, 45112, 46097, 46913, 47321, 47321, 48137, 50107, 51092, 51092, + 53062, 58803, 61181, 61181, 66922, 69300, 70285, 70285, 72663, 75041, 76026, 76026, 78404, 84145, 86523, 86523, + 92264, 94642, 95627, 95627, 98005, 98990, 98990, 99398, 100383, 100383, 100383, 100383, 100383, 102761, 103746, 103746, + 106124, 107109, 107109, 107517, 108502, 108910, 108910, 109079, 109487, 109487, 109487, 109487, 109487, 110472, 110472, 110880, + 111865, 112850, 113258, 113258, 114243, 114651, 114651, 114820, 115228, 115228, 115228, 115228, 115228, 116213, 116621, 116621, + 117606, 119984, 120969, 120969, 123347, 124332, 124332, 124740, 125725, 125725, 125725, 125725, 125725, 128103, 129088, 129088, + 131466, 133844, 133844, 133844, 136222, 137207, 137207, 137615, 138600, 139585, 139585, 139585, 140570, 142948, 142948, 142948, + 145326, 145326, 145326, 145326, 145326, 145326, 145326, 145326, 145326, 145326, 145326, 145326, 145326, 145326, 145326, 145326, + 145326, 146311, 146311, 146311, 147296, 147704, 147704, 147873, 148281, 148689, 148689, 148689, 149097, 150082, 150082, 150082, + 151067, 153445, 153445, 153445, 155823, 156808, 156808, 157216, 158201, 159186, 159186, 159186, 160171, 162549, 162549, 162549, + 164927, 170668, 173046, 173046, 178787, 181165, 182150, 182150, 184528, 186906, 187891, 187891, 190269, 196010, 198388, 198388, + 204129, 204129, 204129, 204129, 204129, 204129, 204129, 204129, 204129, 204129, 204129, 204129, 204129, 204129, 204129, 204129, + 204129, 206099, 207084, 207084, 209054, 210039, 210039, 210039, 211024, 211840, 212248, 212248, 213064, 215034, 216019, 216019, + 217989, 223730, 226108, 226108, 231849, 234227, 235212, 235212, 237590, 239968, 240953, 240953, 243331, 249072, 251450, 251450, + 257191, 259569, 260554, 260554, 262932, 263917, 263917, 264325, 265310, 265310, 265310, 265310, 265310, 267688, 268673, 268673, + 271051, 272036, 272036, 272444, 273429, 273837, 273837, 274006, 274414, 274414, 274414, 274414, 274414, 275399, 275399, 275807, + 276792, 277777, 278185, 278185, 279170, 279578, 279578, 279747, 280155, 280155, 280155, 280155, 280155, 281140, 281548, 281548, + 282533, 284911, 285896, 285896, 288274, 289259, 289259, 289667, 290652, 290652, 290652, 290652, 290652, 293030, 294015, 294015, + 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, + 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, + 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, + 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, 296393, + 296393, 297378, 297378, 297378, 298363, 298771, 298771, 298940, 299348, 299348, 299348, 299348, 299348, 300333, 300333, 300333, + 301318, 301726, 301726, 301895, 302303, 302303, 302303, 302303, 302303, 302303, 302303, 302303, 302303, 302711, 302711, 302867, + 303254, 303662, 303662, 303662, 304070, 304239, 304239, 304301, 304457, 304457, 304457, 304457, 304457, 304865, 304865, 304865, + 305252, 306237, 306237, 306237, 307222, 307630, 307630, 307786, 308173, 308173, 308173, 308173, 308173, 309158, 309158, 309158, + 310109, 312487, 313472, 313472, 315850, 316835, 316835, 317243, 318228, 318228, 318228, 318228, 318228, 320606, 321591, 321591, + 323969, 324954, 324954, 325362, 326347, 326755, 326755, 326911, 327298, 327298, 327298, 327298, 327298, 328283, 328283, 328670, + 329621, 330606, 331014, 331014, 331999, 332407, 332407, 332563, 332950, 332950, 332950, 332950, 332950, 333935, 334322, 334322, + 335273, 337651, 338636, 338636, 341014, 341999, 341999, 342386, 343337, 343337, 343337, 343337, 343337, 345715, 346666, 346666, + 348989, 351367, 352352, 352352, 354730, 354730, 354730, 354730, 354730, 355715, 356123, 356123, 357108, 359486, 360471, 360471, + 362849, 362849, 362849, 362849, 362849, 362849, 362849, 362849, 362849, 362849, 362849, 362849, 362849, 362849, 362849, 362849, + 362849, 363834, 363834, 363834, 364819, 364819, 364819, 364819, 364819, 365227, 365227, 365227, 365635, 366620, 366620, 366620, + 367605, 369983, 370968, 370968, 373346, 373346, 373346, 373346, 373346, 374331, 374739, 374739, 375724, 378102, 379087, 379087, + 381465, 382450, 382450, 382858, 383843, 384251, 384251, 384420, 384828, 384828, 384828, 384828, 384828, 385813, 385813, 386221, + 387206, 387206, 387206, 387206, 387206, 387206, 387206, 387206, 387206, 387206, 387206, 387206, 387206, 387206, 387206, 387206, + 387206, 387614, 387614, 387783, 388191, 388360, 388360, 388422, 388578, 388578, 388578, 388578, 388578, 388986, 388986, 389142, + 389529, 390514, 390514, 390922, 391907, 392315, 392315, 392471, 392858, 392858, 392858, 392858, 392858, 393843, 393843, 394230, + 395181, 396166, 396166, 396574, 397559, 397559, 397559, 397559, 397559, 397967, 397967, 398136, 398544, 399529, 399529, 399937, + 400922, 400922, 400922, 400922, 400922, 400922, 400922, 400922, 400922, 400922, 400922, 400922, 400922, 400922, 400922, 400922, + 400922, 401330, 401330, 401499, 401907, 401907, 401907, 401907, 401907, 402076, 402076, 402138, 402294, 402702, 402702, 402858, + 403245, 404230, 404230, 404638, 405623, 405623, 405623, 405623, 405623, 406031, 406031, 406187, 406574, 407559, 407559, 407946, + 408897, 411275, 412260, 412260, 414638, 414638, 414638, 414638, 414638, 415623, 416031, 416031, 417016, 419394, 420379, 420379, + 422757, 422757, 422757, 422757, 422757, 422757, 422757, 422757, 422757, 422757, 422757, 422757, 422757, 422757, 422757, 422757, + 422757, 423742, 423742, 423742, 424727, 424727, 424727, 424727, 424727, 425135, 425135, 425135, 425522, 426507, 426507, 426507, + 427458, 429836, 430821, 430821, 433199, 433199, 433199, 433199, 433199, 434184, 434571, 434571, 435522, 437900, 438851, 438851, + 441174, 446915, 449293, 449293, 455034, 457412, 458397, 458397, 460775, 463153, 464138, 464138, 466516, 472257, 474635, 474635, + 480376, 480376, 480376, 480376, 480376, 480376, 480376, 480376, 480376, 480376, 480376, 480376, 480376, 480376, 480376, 480376, + 480376, 482346, 483331, 483331, 485301, 486286, 486286, 486286, 487271, 488087, 488495, 488495, 489311, 491281, 492266, 492266, + 494236, 499977, 502355, 502355, 508096, 510474, 511459, 511459, 513837, 516215, 517200, 517200, 519578, 525319, 527697, 527697, + 533438, 535816, 536801, 536801, 539179, 540164, 540164, 540572, 541557, 541557, 541557, 541557, 541557, 543935, 544920, 544920, + 547298, 548283, 548283, 548691, 549676, 550084, 550084, 550240, 550627, 550627, 550627, 550627, 550627, 551612, 551612, 551999, + 552950, 553935, 554343, 554343, 555328, 555736, 555736, 555892, 556279, 556279, 556279, 556279, 556279, 557264, 557651, 557651, + 558602, 560980, 561965, 561965, 564343, 565328, 565328, 565715, 566666, 566666, 566666, 566666, 566666, 569044, 569995, 569995, + 572318, 574696, 574696, 574696, 577074, 578059, 578059, 578467, 579452, 580437, 580437, 580437, 581422, 583800, 583800, 583800, + 586178, 586178, 586178, 586178, 586178, 586178, 586178, 586178, 586178, 586178, 586178, 586178, 586178, 586178, 586178, 586178, + 586178, 587163, 587163, 587163, 588148, 588556, 588556, 588712, 589099, 589507, 589507, 589507, 589894, 590879, 590879, 590879, + 591830, 594208, 594208, 594208, 596586, 597571, 597571, 597958, 598909, 599894, 599894, 599894, 600845, 603223, 603223, 603223, + 605546, 611287, 613665, 613665, 619406, 621784, 622769, 622769, 625147, 627525, 628510, 628510, 630888, 636629, 639007, 639007, + 644748, 644748, 644748, 644748, 644748, 644748, 644748, 644748, 644748, 644748, 644748, 644748, 644748, 644748, 644748, 644748, + 644748, 646718, 647703, 647703, 649673, 650658, 650658, 650658, 651609, 652425, 652812, 652812, 653607, 655577, 656528, 656528, + 658464, 664205, 666583, 666583, 672324, 674702, 675653, 675653, 677976, 680354, 681305, 681305, 683628, 689369, 691692, 691692, + 697344, 699722, 700707, 700707, 703085, 704070, 704070, 704478, 705463, 705463, 705463, 705463, 705463, 707841, 708826, 708826, + 711204, 712189, 712189, 712597, 713582, 713990, 713990, 714159, 714567, 714567, 714567, 714567, 714567, 715552, 715552, 715960, + 716945, 717930, 718338, 718338, 719323, 719731, 719731, 719900, 720308, 720308, 720308, 720308, 720308, 721293, 721701, 721701, + 722686, 725064, 726049, 726049, 728427, 729412, 729412, 729820, 730805, 730805, 730805, 730805, 730805, 733183, 734168, 734168, + 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, + 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, + 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, + 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, 736546, + 736546, 737531, 737531, 737531, 738516, 738924, 738924, 739093, 739501, 739501, 739501, 739501, 739501, 740486, 740486, 740486, + 741471, 741879, 741879, 742048, 742456, 742456, 742456, 742456, 742456, 742456, 742456, 742456, 742456, 742864, 742864, 743020, + 743407, 743815, 743815, 743815, 744223, 744392, 744392, 744454, 744610, 744610, 744610, 744610, 744610, 745018, 745018, 745018, + 745405, 746390, 746390, 746390, 747375, 747783, 747783, 747939, 748326, 748326, 748326, 748326, 748326, 749311, 749311, 749311, + 750262, 752640, 753625, 753625, 756003, 756988, 756988, 757396, 758381, 758381, 758381, 758381, 758381, 760759, 761744, 761744, + 764122, 765107, 765107, 765515, 766500, 766908, 766908, 767064, 767451, 767451, 767451, 767451, 767451, 768436, 768436, 768823, + 769774, 770759, 771167, 771167, 772152, 772560, 772560, 772716, 773103, 773103, 773103, 773103, 773103, 774088, 774475, 774475, + 775426, 777804, 778789, 778789, 781167, 782152, 782152, 782539, 783490, 783490, 783490, 783490, 783490, 785868, 786819, 786819, + 789142, 790127, 790127, 790535, 791520, 791928, 791928, 792097, 792505, 792505, 792505, 792505, 792505, 793490, 793490, 793898, + 794883, 795291, 795291, 795460, 795868, 795868, 795868, 795868, 795868, 796037, 796037, 796099, 796255, 796663, 796663, 796819, + 797206, 797206, 797206, 797206, 797206, 797206, 797206, 797206, 797206, 797206, 797206, 797206, 797206, 797206, 797206, 797206, + 797206, 798191, 798191, 798599, 799584, 799992, 799992, 800148, 800535, 800535, 800535, 800535, 800535, 801520, 801520, 801907, + 802858, 803266, 803266, 803435, 803843, 803843, 803843, 803843, 803843, 804012, 804012, 804074, 804230, 804638, 804638, 804794, + 805181, 805350, 805350, 805412, 805568, 805568, 805568, 805568, 805568, 805630, 805630, 805644, 805686, 805842, 805842, 805884, + 806002, 806002, 806002, 806002, 806002, 806002, 806002, 806002, 806002, 806002, 806002, 806002, 806002, 806002, 806002, 806002, + 806002, 806410, 806410, 806566, 806953, 806953, 806953, 806953, 806953, 807109, 807109, 807151, 807269, 807656, 807656, 807774, + 808090, 808498, 808498, 808667, 809075, 809244, 809244, 809306, 809462, 809462, 809462, 809462, 809462, 809870, 809870, 810026, + 810413, 810582, 810582, 810644, 810800, 810800, 810800, 810800, 810800, 810862, 810862, 810876, 810918, 811074, 811074, 811116, + 811234, 811234, 811234, 811234, 811234, 811234, 811234, 811234, 811234, 811234, 811234, 811234, 811234, 811234, 811234, 811234, + 811234, 811642, 811642, 811798, 812185, 812341, 812341, 812383, 812501, 812501, 812501, 812501, 812501, 812888, 812888, 813006, + 813322, 814307, 814307, 814715, 815700, 816108, 816108, 816264, 816651, 816651, 816651, 816651, 816651, 817636, 817636, 818023, + 818974, 819382, 819382, 819538, 819925, 819925, 819925, 819925, 819925, 820081, 820081, 820123, 820241, 820628, 820628, 820746, + 821062, 821062, 821062, 821062, 821062, 821062, 821062, 821062, 821062, 821062, 821062, 821062, 821062, 821062, 821062, 821062, + 821062, 822047, 822047, 822434, 823385, 823772, 823772, 823890, 824206, 824206, 824206, 824206, 824206, 825157, 825157, 825473, + 826294, 827279, 827279, 827687, 828672, 828672, 828672, 828672, 828672, 828672, 828672, 828672, 828672, 829657, 829657, 830065, + 831050, 831458, 831458, 831627, 832035, 832035, 832035, 832035, 832035, 832204, 832204, 832266, 832422, 832830, 832830, 832986, + 833373, 833781, 833781, 833950, 834358, 834358, 834358, 834358, 834358, 834358, 834358, 834358, 834358, 834766, 834766, 834922, + 835309, 836294, 836294, 836702, 837687, 837687, 837687, 837687, 837687, 837687, 837687, 837687, 837687, 838672, 838672, 839059, + 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, + 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, + 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, + 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, 840010, + 840010, 840418, 840418, 840587, 840995, 840995, 840995, 840995, 840995, 840995, 840995, 840995, 840995, 841403, 841403, 841559, + 841946, 842115, 842115, 842177, 842333, 842333, 842333, 842333, 842333, 842395, 842395, 842409, 842451, 842607, 842607, 842649, + 842767, 842936, 842936, 842998, 843154, 843154, 843154, 843154, 843154, 843154, 843154, 843154, 843154, 843310, 843310, 843352, + 843470, 843878, 843878, 844034, 844421, 844421, 844421, 844421, 844421, 844421, 844421, 844421, 844421, 844808, 844808, 844926, + 845242, 846227, 846227, 846635, 847620, 847620, 847620, 847620, 847620, 847620, 847620, 847620, 847620, 848605, 848605, 848992, + 849943, 850351, 850351, 850507, 850894, 850894, 850894, 850894, 850894, 851050, 851050, 851092, 851210, 851597, 851597, 851715, + 852031, 852439, 852439, 852595, 852982, 852982, 852982, 852982, 852982, 852982, 852982, 852982, 852982, 853369, 853369, 853487, + 853803, 854788, 854788, 855175, 856126, 856126, 856126, 856126, 856126, 856126, 856126, 856126, 856126, 857077, 857077, 857393, + 858214, 860592, 861577, 861577, 863955, 864940, 864940, 865348, 866333, 866333, 866333, 866333, 866333, 868711, 869696, 869696, + 872074, 873059, 873059, 873467, 874452, 874860, 874860, 875016, 875403, 875403, 875403, 875403, 875403, 876388, 876388, 876775, + 877726, 878711, 879119, 879119, 880104, 880512, 880512, 880668, 881055, 881055, 881055, 881055, 881055, 882040, 882427, 882427, + 883378, 885756, 886741, 886741, 889119, 890104, 890104, 890491, 891442, 891442, 891442, 891442, 891442, 893820, 894771, 894771, + 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, + 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, + 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, + 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, 897094, + 897094, 898079, 898079, 898079, 899064, 899472, 899472, 899628, 900015, 900015, 900015, 900015, 900015, 901000, 901000, 901000, + 901951, 902359, 902359, 902515, 902902, 902902, 902902, 902902, 902902, 902902, 902902, 902902, 902902, 903289, 903289, 903407, + 903723, 904131, 904131, 904131, 904518, 904674, 904674, 904716, 904834, 904834, 904834, 904834, 904834, 905221, 905221, 905221, + 905537, 906522, 906522, 906522, 907473, 907860, 907860, 907978, 908294, 908294, 908294, 908294, 908294, 909245, 909245, 909245, + 910066, 912444, 913429, 913429, 915807, 916792, 916792, 917179, 918130, 918130, 918130, 918130, 918130, 920508, 921459, 921459, + 923782, 924767, 924767, 925154, 926105, 926492, 926492, 926610, 926926, 926926, 926926, 926926, 926926, 927877, 927877, 928193, + 929014, 929999, 930386, 930386, 931337, 931724, 931724, 931842, 932158, 932158, 932158, 932158, 932158, 933109, 933425, 933425, + 934246, 936624, 937575, 937575, 939898, 940849, 940849, 941165, 941986, 941986, 941986, 941986, 941986, 944309, 945130, 945130, + 947218, 949596, 950581, 950581, 952959, 953944, 953944, 954352, 955337, 955337, 955337, 955337, 955337, 957715, 958700, 958700, + 961078, 961078, 961078, 961078, 961078, 961078, 961078, 961078, 961078, 961078, 961078, 961078, 961078, 961078, 961078, 961078, + 961078, 962063, 962063, 962063, 963048, 963456, 963456, 963625, 964033, 964033, 964033, 964033, 964033, 965018, 965018, 965018, + 966003, 968381, 969366, 969366, 971744, 972729, 972729, 973137, 974122, 974122, 974122, 974122, 974122, 976500, 977485, 977485, + 979863, 980848, 980848, 981256, 982241, 982649, 982649, 982818, 983226, 983226, 983226, 983226, 983226, 984211, 984211, 984619, + 985604, 986012, 986012, 986181, 986589, 986589, 986589, 986589, 986589, 986758, 986758, 986820, 986976, 987384, 987384, 987540, + 987927, 987927, 987927, 987927, 987927, 987927, 987927, 987927, 987927, 987927, 987927, 987927, 987927, 987927, 987927, 987927, + 987927, 988912, 988912, 989320, 990305, 990713, 990713, 990869, 991256, 991256, 991256, 991256, 991256, 992241, 992241, 992628, + 993579, 994564, 994564, 994972, 995957, 995957, 995957, 995957, 995957, 995957, 995957, 995957, 995957, 996942, 996942, 997350, + 998335, 998335, 998335, 998335, 998335, 998335, 998335, 998335, 998335, 998335, 998335, 998335, 998335, 998335, 998335, 998335, + 998335, 998743, 998743, 998912, 999320, 999320, 999320, 999320, 999320, 999320, 999320, 999320, 999320, 999728, 999728, 999884, +1000271, 1001256, 1001256, 1001664, 1002649, 1002649, 1002649, 1002649, 1002649, 1002649, 1002649, 1002649, 1002649, 1003634, 1003634, 1004021, +1004972, 1007350, 1008335, 1008335, 1010713, 1011698, 1011698, 1012106, 1013091, 1013091, 1013091, 1013091, 1013091, 1015469, 1016454, 1016454, +1018832, 1018832, 1018832, 1018832, 1018832, 1018832, 1018832, 1018832, 1018832, 1018832, 1018832, 1018832, 1018832, 1018832, 1018832, 1018832, +1018832, 1019817, 1019817, 1019817, 1020802, 1021210, 1021210, 1021366, 1021753, 1021753, 1021753, 1021753, 1021753, 1022738, 1022738, 1022738, +1023689, 1026067, 1027052, 1027052, 1029430, 1030415, 1030415, 1030802, 1031753, 1031753, 1031753, 1031753, 1031753, 1034131, 1035082, 1035082, +1037405, 1038390, 1038390, 1038798, 1039783, 1040191, 1040191, 1040360, 1040768, 1040768, 1040768, 1040768, 1040768, 1041753, 1041753, 1042161, +1043146, 1043554, 1043554, 1043723, 1044131, 1044131, 1044131, 1044131, 1044131, 1044300, 1044300, 1044362, 1044518, 1044926, 1044926, 1045082, +1045469, 1045469, 1045469, 1045469, 1045469, 1045469, 1045469, 1045469, 1045469, 1045469, 1045469, 1045469, 1045469, 1045469, 1045469, 1045469, +1045469, 1046454, 1046454, 1046862, 1047847, 1048255, 1048255, 1048411, 1048798, 1048798, 1048798, 1048798, 1048798, 1049783, 1049783, 1050170, +1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, +1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, +1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, +1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, 1051121, +1051121, 1051529, 1051529, 1051698, 1052106, 1052106, 1052106, 1052106, 1052106, 1052106, 1052106, 1052106, 1052106, 1052514, 1052514, 1052670, +1053057, 1053226, 1053226, 1053288, 1053444, 1053444, 1053444, 1053444, 1053444, 1053506, 1053506, 1053520, 1053562, 1053718, 1053718, 1053760, +1053878, 1053878, 1053878, 1053878, 1053878, 1053878, 1053878, 1053878, 1053878, 1053878, 1053878, 1053878, 1053878, 1053878, 1053878, 1053878, +1053878, 1054286, 1054286, 1054442, 1054829, 1054829, 1054829, 1054829, 1054829, 1054829, 1054829, 1054829, 1054829, 1055216, 1055216, 1055334, +1055650, 1056635, 1056635, 1057043, 1058028, 1058436, 1058436, 1058592, 1058979, 1058979, 1058979, 1058979, 1058979, 1059964, 1059964, 1060351, +1061302, 1061710, 1061710, 1061866, 1062253, 1062253, 1062253, 1062253, 1062253, 1062409, 1062409, 1062451, 1062569, 1062956, 1062956, 1063074, +1063390, 1063390, 1063390, 1063390, 1063390, 1063390, 1063390, 1063390, 1063390, 1063390, 1063390, 1063390, 1063390, 1063390, 1063390, 1063390, +1063390, 1064375, 1064375, 1064762, 1065713, 1066100, 1066100, 1066218, 1066534, 1066534, 1066534, 1066534, 1066534, 1067485, 1067485, 1067801, +1068622, 1069607, 1069607, 1070015, 1071000, 1071408, 1071408, 1071577, 1071985, 1071985, 1071985, 1071985, 1071985, 1072970, 1072970, 1073378, +1074363, 1074363, 1074363, 1074363, 1074363, 1074363, 1074363, 1074363, 1074363, 1074363, 1074363, 1074363, 1074363, 1074363, 1074363, 1074363, +1074363, 1074771, 1074771, 1074940, 1075348, 1075348, 1075348, 1075348, 1075348, 1075348, 1075348, 1075348, 1075348, 1075756, 1075756, 1075912, +1076299, 1077284, 1077284, 1077692, 1078677, 1079085, 1079085, 1079241, 1079628, 1079628, 1079628, 1079628, 1079628, 1080613, 1080613, 1081000, +1081951, 1082359, 1082359, 1082528, 1082936, 1082936, 1082936, 1082936, 1082936, 1083105, 1083105, 1083167, 1083323, 1083731, 1083731, 1083887, +1084274, 1084443, 1084443, 1084505, 1084661, 1084661, 1084661, 1084661, 1084661, 1084723, 1084723, 1084737, 1084779, 1084935, 1084935, 1084977, +1085095, 1085095, 1085095, 1085095, 1085095, 1085095, 1085095, 1085095, 1085095, 1085095, 1085095, 1085095, 1085095, 1085095, 1085095, 1085095, +1085095, 1085503, 1085503, 1085659, 1086046, 1086046, 1086046, 1086046, 1086046, 1086202, 1086202, 1086244, 1086362, 1086749, 1086749, 1086867, +1087183, 1087591, 1087591, 1087760, 1088168, 1088168, 1088168, 1088168, 1088168, 1088337, 1088337, 1088399, 1088555, 1088963, 1088963, 1089119, +1089506, 1089506, 1089506, 1089506, 1089506, 1089506, 1089506, 1089506, 1089506, 1089506, 1089506, 1089506, 1089506, 1089506, 1089506, 1089506, +1089506, 1089675, 1089675, 1089737, 1089893, 1089893, 1089893, 1089893, 1089893, 1089955, 1089955, 1089969, 1090011, 1090167, 1090167, 1090209, +1090327, 1090735, 1090735, 1090891, 1091278, 1091278, 1091278, 1091278, 1091278, 1091434, 1091434, 1091476, 1091594, 1091981, 1091981, 1092099, +1092415, 1093400, 1093400, 1093808, 1094793, 1095201, 1095201, 1095357, 1095744, 1095744, 1095744, 1095744, 1095744, 1096729, 1096729, 1097116, +1098067, 1098067, 1098067, 1098067, 1098067, 1098067, 1098067, 1098067, 1098067, 1098067, 1098067, 1098067, 1098067, 1098067, 1098067, 1098067, +1098067, 1098475, 1098475, 1098631, 1099018, 1099018, 1099018, 1099018, 1099018, 1099018, 1099018, 1099018, 1099018, 1099405, 1099405, 1099523, +1099839, 1100824, 1100824, 1101211, 1102162, 1102549, 1102549, 1102667, 1102983, 1102983, 1102983, 1102983, 1102983, 1103934, 1103934, 1104250, +1105071, 1107449, 1108434, 1108434, 1110812, 1111797, 1111797, 1112205, 1113190, 1113190, 1113190, 1113190, 1113190, 1115568, 1116553, 1116553, +1118931, 1118931, 1118931, 1118931, 1118931, 1118931, 1118931, 1118931, 1118931, 1118931, 1118931, 1118931, 1118931, 1118931, 1118931, 1118931, +1118931, 1119916, 1119916, 1119916, 1120901, 1121309, 1121309, 1121465, 1121852, 1121852, 1121852, 1121852, 1121852, 1122837, 1122837, 1122837, +1123788, 1126166, 1127151, 1127151, 1129529, 1130514, 1130514, 1130901, 1131852, 1131852, 1131852, 1131852, 1131852, 1134230, 1135181, 1135181, +1137504, 1138489, 1138489, 1138897, 1139882, 1140290, 1140290, 1140446, 1140833, 1140833, 1140833, 1140833, 1140833, 1141818, 1141818, 1142205, +1143156, 1143564, 1143564, 1143720, 1144107, 1144107, 1144107, 1144107, 1144107, 1144263, 1144263, 1144305, 1144423, 1144810, 1144810, 1144928, +1145244, 1145244, 1145244, 1145244, 1145244, 1145244, 1145244, 1145244, 1145244, 1145244, 1145244, 1145244, 1145244, 1145244, 1145244, 1145244, +1145244, 1146229, 1146229, 1146616, 1147567, 1147954, 1147954, 1148072, 1148388, 1148388, 1148388, 1148388, 1148388, 1149339, 1149339, 1149655, +1150476, 1151461, 1151461, 1151869, 1152854, 1152854, 1152854, 1152854, 1152854, 1152854, 1152854, 1152854, 1152854, 1153839, 1153839, 1154226, +1155177, 1155177, 1155177, 1155177, 1155177, 1155177, 1155177, 1155177, 1155177, 1155177, 1155177, 1155177, 1155177, 1155177, 1155177, 1155177, +1155177, 1155585, 1155585, 1155741, 1156128, 1156128, 1156128, 1156128, 1156128, 1156128, 1156128, 1156128, 1156128, 1156515, 1156515, 1156633, +1156949, 1157934, 1157934, 1158321, 1159272, 1159272, 1159272, 1159272, 1159272, 1159272, 1159272, 1159272, 1159272, 1160223, 1160223, 1160539, +1161360, 1163738, 1164723, 1164723, 1167101, 1168086, 1168086, 1168473, 1169424, 1169424, 1169424, 1169424, 1169424, 1171802, 1172753, 1172753, +1175076, 1175076, 1175076, 1175076, 1175076, 1175076, 1175076, 1175076, 1175076, 1175076, 1175076, 1175076, 1175076, 1175076, 1175076, 1175076, +1175076, 1176061, 1176061, 1176061, 1177012, 1177399, 1177399, 1177517, 1177833, 1177833, 1177833, 1177833, 1177833, 1178784, 1178784, 1178784, +1179605, 1181983, 1182934, 1182934, 1185257, 1186208, 1186208, 1186524, 1187345, 1187345, 1187345, 1187345, 1187345, 1189668, 1190489, 1190489, +1192577, 1198318, 1200696, 1200696, 1206437, 1208815, 1209800, 1209800, 1212178, 1214556, 1215541, 1215541, 1217919, 1223660, 1226038, 1226038, +1231779, 1231779, 1231779, 1231779, 1231779, 1231779, 1231779, 1231779, 1231779, 1231779, 1231779, 1231779, 1231779, 1231779, 1231779, 1231779, +1231779, 1233749, 1234734, 1234734, 1236704, 1237689, 1237689, 1237689, 1238674, 1239490, 1239898, 1239898, 1240714, 1242684, 1243669, 1243669, +1245639, 1251380, 1253758, 1253758, 1259499, 1261877, 1262862, 1262862, 1265240, 1267618, 1268603, 1268603, 1270981, 1276722, 1279100, 1279100, +1284841, 1287219, 1288204, 1288204, 1290582, 1291567, 1291567, 1291975, 1292960, 1292960, 1292960, 1292960, 1292960, 1295338, 1296323, 1296323, +1298701, 1299686, 1299686, 1300094, 1301079, 1301487, 1301487, 1301643, 1302030, 1302030, 1302030, 1302030, 1302030, 1303015, 1303015, 1303402, +1304353, 1305338, 1305746, 1305746, 1306731, 1307139, 1307139, 1307295, 1307682, 1307682, 1307682, 1307682, 1307682, 1308667, 1309054, 1309054, +1310005, 1312383, 1313368, 1313368, 1315746, 1316731, 1316731, 1317118, 1318069, 1318069, 1318069, 1318069, 1318069, 1320447, 1321398, 1321398, +1323721, 1326099, 1326099, 1326099, 1328477, 1329462, 1329462, 1329870, 1330855, 1331840, 1331840, 1331840, 1332825, 1335203, 1335203, 1335203, +1337581, 1337581, 1337581, 1337581, 1337581, 1337581, 1337581, 1337581, 1337581, 1337581, 1337581, 1337581, 1337581, 1337581, 1337581, 1337581, +1337581, 1338566, 1338566, 1338566, 1339551, 1339959, 1339959, 1340115, 1340502, 1340910, 1340910, 1340910, 1341297, 1342282, 1342282, 1342282, +1343233, 1345611, 1345611, 1345611, 1347989, 1348974, 1348974, 1349361, 1350312, 1351297, 1351297, 1351297, 1352248, 1354626, 1354626, 1354626, +1356949, 1362690, 1365068, 1365068, 1370809, 1373187, 1374172, 1374172, 1376550, 1378928, 1379913, 1379913, 1382291, 1388032, 1390410, 1390410, +1396151, 1396151, 1396151, 1396151, 1396151, 1396151, 1396151, 1396151, 1396151, 1396151, 1396151, 1396151, 1396151, 1396151, 1396151, 1396151, +1396151, 1398121, 1399106, 1399106, 1401076, 1402061, 1402061, 1402061, 1403012, 1403828, 1404215, 1404215, 1405010, 1406980, 1407931, 1407931, +1409867, 1415608, 1417986, 1417986, 1423727, 1426105, 1427056, 1427056, 1429379, 1431757, 1432708, 1432708, 1435031, 1440772, 1443095, 1443095, +1448747, 1451125, 1452110, 1452110, 1454488, 1455473, 1455473, 1455881, 1456866, 1456866, 1456866, 1456866, 1456866, 1459244, 1460229, 1460229, +1462607, 1463592, 1463592, 1464000, 1464985, 1465393, 1465393, 1465549, 1465936, 1465936, 1465936, 1465936, 1465936, 1466921, 1466921, 1467308, +1468259, 1469244, 1469652, 1469652, 1470637, 1471045, 1471045, 1471201, 1471588, 1471588, 1471588, 1471588, 1471588, 1472573, 1472960, 1472960, +1473911, 1476289, 1477274, 1477274, 1479652, 1480637, 1480637, 1481024, 1481975, 1481975, 1481975, 1481975, 1481975, 1484353, 1485304, 1485304, +1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, +1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, +1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, +1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, 1487627, +1487627, 1488612, 1488612, 1488612, 1489597, 1490005, 1490005, 1490161, 1490548, 1490548, 1490548, 1490548, 1490548, 1491533, 1491533, 1491533, +1492484, 1492892, 1492892, 1493048, 1493435, 1493435, 1493435, 1493435, 1493435, 1493435, 1493435, 1493435, 1493435, 1493822, 1493822, 1493940, +1494256, 1494664, 1494664, 1494664, 1495051, 1495207, 1495207, 1495249, 1495367, 1495367, 1495367, 1495367, 1495367, 1495754, 1495754, 1495754, +1496070, 1497055, 1497055, 1497055, 1498006, 1498393, 1498393, 1498511, 1498827, 1498827, 1498827, 1498827, 1498827, 1499778, 1499778, 1499778, +1500599, 1502977, 1503962, 1503962, 1506340, 1507325, 1507325, 1507712, 1508663, 1508663, 1508663, 1508663, 1508663, 1511041, 1511992, 1511992, +1514315, 1515300, 1515300, 1515687, 1516638, 1517025, 1517025, 1517143, 1517459, 1517459, 1517459, 1517459, 1517459, 1518410, 1518410, 1518726, +1519547, 1520532, 1520919, 1520919, 1521870, 1522257, 1522257, 1522375, 1522691, 1522691, 1522691, 1522691, 1522691, 1523642, 1523958, 1523958, +1524779, 1527157, 1528108, 1528108, 1530431, 1531382, 1531382, 1531698, 1532519, 1532519, 1532519, 1532519, 1532519, 1534842, 1535663, 1535663, +1537751, 1540129, 1541114, 1541114, 1543492, 1543492, 1543492, 1543492, 1543492, 1544477, 1544885, 1544885, 1545870, 1548248, 1549233, 1549233, +1551611, 1551611, 1551611, 1551611, 1551611, 1551611, 1551611, 1551611, 1551611, 1551611, 1551611, 1551611, 1551611, 1551611, 1551611, 1551611, +1551611, 1552596, 1552596, 1552596, 1553581, 1553581, 1553581, 1553581, 1553581, 1553989, 1553989, 1553989, 1554376, 1555361, 1555361, 1555361, +1556312, 1558690, 1559675, 1559675, 1562053, 1562053, 1562053, 1562053, 1562053, 1563038, 1563425, 1563425, 1564376, 1566754, 1567705, 1567705, +1570028, 1571013, 1571013, 1571421, 1572406, 1572814, 1572814, 1572970, 1573357, 1573357, 1573357, 1573357, 1573357, 1574342, 1574342, 1574729, +1575680, 1575680, 1575680, 1575680, 1575680, 1575680, 1575680, 1575680, 1575680, 1575680, 1575680, 1575680, 1575680, 1575680, 1575680, 1575680, +1575680, 1576088, 1576088, 1576244, 1576631, 1576787, 1576787, 1576829, 1576947, 1576947, 1576947, 1576947, 1576947, 1577334, 1577334, 1577452, +1577768, 1578753, 1578753, 1579140, 1580091, 1580478, 1580478, 1580596, 1580912, 1580912, 1580912, 1580912, 1580912, 1581863, 1581863, 1582179, +1583000, 1583985, 1583985, 1584393, 1585378, 1585378, 1585378, 1585378, 1585378, 1585786, 1585786, 1585942, 1586329, 1587314, 1587314, 1587701, +1588652, 1588652, 1588652, 1588652, 1588652, 1588652, 1588652, 1588652, 1588652, 1588652, 1588652, 1588652, 1588652, 1588652, 1588652, 1588652, +1588652, 1589060, 1589060, 1589216, 1589603, 1589603, 1589603, 1589603, 1589603, 1589759, 1589759, 1589801, 1589919, 1590306, 1590306, 1590424, +1590740, 1591725, 1591725, 1592112, 1593063, 1593063, 1593063, 1593063, 1593063, 1593450, 1593450, 1593568, 1593884, 1594835, 1594835, 1595151, +1595972, 1598350, 1599335, 1599335, 1601713, 1601713, 1601713, 1601713, 1601713, 1602698, 1603085, 1603085, 1604036, 1606414, 1607365, 1607365, +1609688, 1609688, 1609688, 1609688, 1609688, 1609688, 1609688, 1609688, 1609688, 1609688, 1609688, 1609688, 1609688, 1609688, 1609688, 1609688, +1609688, 1610673, 1610673, 1610673, 1611624, 1611624, 1611624, 1611624, 1611624, 1612011, 1612011, 1612011, 1612327, 1613278, 1613278, 1613278, +1614099, 1616477, 1617428, 1617428, 1619751, 1619751, 1619751, 1619751, 1619751, 1620702, 1621018, 1621018, 1621839, 1624162, 1624983, 1624983, +1627071, 1632812, 1635190, 1635190, 1640931, 1643309, 1644294, 1644294, 1646672, 1649050, 1650035, 1650035, 1652413, 1658154, 1660532, 1660532, +1666273, 1666273, 1666273, 1666273, 1666273, 1666273, 1666273, 1666273, 1666273, 1666273, 1666273, 1666273, 1666273, 1666273, 1666273, 1666273, +1666273, 1668243, 1669228, 1669228, 1671198, 1672183, 1672183, 1672183, 1673134, 1673950, 1674337, 1674337, 1675132, 1677102, 1678053, 1678053, +1679989, 1685730, 1688108, 1688108, 1693849, 1696227, 1697178, 1697178, 1699501, 1701879, 1702830, 1702830, 1705153, 1710894, 1713217, 1713217, +1718869, 1721247, 1722232, 1722232, 1724610, 1725595, 1725595, 1725982, 1726933, 1726933, 1726933, 1726933, 1726933, 1729311, 1730262, 1730262, +1732585, 1733570, 1733570, 1733957, 1734908, 1735295, 1735295, 1735413, 1735729, 1735729, 1735729, 1735729, 1735729, 1736680, 1736680, 1736996, +1737817, 1738802, 1739189, 1739189, 1740140, 1740527, 1740527, 1740645, 1740961, 1740961, 1740961, 1740961, 1740961, 1741912, 1742228, 1742228, +1743049, 1745427, 1746378, 1746378, 1748701, 1749652, 1749652, 1749968, 1750789, 1750789, 1750789, 1750789, 1750789, 1753112, 1753933, 1753933, +1756021, 1758399, 1758399, 1758399, 1760777, 1761762, 1761762, 1762149, 1763100, 1764085, 1764085, 1764085, 1765036, 1767414, 1767414, 1767414, +1769737, 1769737, 1769737, 1769737, 1769737, 1769737, 1769737, 1769737, 1769737, 1769737, 1769737, 1769737, 1769737, 1769737, 1769737, 1769737, +1769737, 1770722, 1770722, 1770722, 1771673, 1772060, 1772060, 1772178, 1772494, 1772881, 1772881, 1772881, 1773197, 1774148, 1774148, 1774148, +1774969, 1777347, 1777347, 1777347, 1779670, 1780621, 1780621, 1780937, 1781758, 1782709, 1782709, 1782709, 1783530, 1785853, 1785853, 1785853, +1787941, 1793682, 1796060, 1796060, 1801801, 1804179, 1805130, 1805130, 1807453, 1809831, 1810782, 1810782, 1813105, 1818846, 1821169, 1821169, +1826821, 1826821, 1826821, 1826821, 1826821, 1826821, 1826821, 1826821, 1826821, 1826821, 1826821, 1826821, 1826821, 1826821, 1826821, 1826821, +1826821, 1828791, 1829742, 1829742, 1831678, 1832629, 1832629, 1832629, 1833450, 1834245, 1834561, 1834561, 1835264, 1837200, 1838021, 1838021, +1839793, 1845534, 1847857, 1847857, 1853509, 1855832, 1856653, 1856653, 1858741, 1861064, 1861885, 1861885, 1863973, 1869625, 1871713, 1871713, diff --git a/src/core/short_code/offset/range_prefix/offset_0xA.inc b/src/core/short_code/offset/range_prefix/offset_0xA.inc new file mode 100644 index 0000000..77aee3c --- /dev/null +++ b/src/core/short_code/offset/range_prefix/offset_0xA.inc @@ -0,0 +1,256 @@ + 0, 6375, 8925, 11205, 17580, 20130, 21405, 21405, 23955, 26245, 27161, 28131, 30421, 36796, 39346, 41626, + 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, + 48001, 50551, 51826, 52738, 55288, 56563, 56563, 56563, 57838, 58754, 59212, 59600, 60516, 63066, 64341, 65253, + 67803, 74178, 76728, 79008, 85383, 87933, 89208, 89208, 91758, 94048, 94964, 95934, 98224, 104599, 107149, 109429, + 115804, 118354, 119629, 119629, 122179, 123454, 123454, 123454, 124729, 125641, 126097, 126097, 127009, 129559, 130834, 130834, + 133384, 134659, 134659, 134659, 135934, 136392, 136586, 136751, 137209, 137209, 137209, 137209, 137209, 138484, 138484, 138484, + 139759, 140675, 141133, 141133, 142049, 142507, 142507, 142507, 142965, 143353, 143547, 143547, 143935, 144851, 145309, 145309, + 146225, 148775, 150050, 150050, 152600, 153875, 153875, 153875, 155150, 156062, 156518, 156518, 157430, 159980, 161255, 161255, + 163805, 166355, 166355, 167267, 169817, 171092, 171092, 171092, 172367, 173283, 173283, 173671, 174587, 177137, 177137, 178049, + 180599, 180599, 180599, 180599, 180599, 180599, 180599, 180599, 180599, 180599, 180599, 180599, 180599, 180599, 180599, 180599, + 180599, 181874, 181874, 182330, 183605, 184063, 184257, 184422, 184880, 185338, 185338, 185532, 185990, 187265, 187265, 187721, + 188996, 191546, 191546, 192458, 195008, 196283, 196283, 196283, 197558, 198474, 198474, 198862, 199778, 202328, 202328, 203240, + 205790, 212165, 214715, 216995, 223370, 225920, 227195, 227195, 229745, 232035, 232951, 233921, 236211, 242586, 245136, 247416, + 253791, 253791, 253791, 253791, 253791, 253791, 253791, 253791, 253791, 253791, 253791, 253791, 253791, 253791, 253791, 253791, + 253791, 256341, 257616, 258528, 261078, 262353, 262353, 262353, 263628, 264544, 265002, 265390, 266306, 268856, 270131, 271043, + 273593, 279968, 282518, 284798, 291173, 293723, 294998, 294998, 297548, 299838, 300754, 301724, 304014, 310389, 312939, 315219, + 321594, 324144, 325419, 325419, 327969, 329244, 329244, 329244, 330519, 331431, 331887, 331887, 332799, 335349, 336624, 336624, + 339174, 340449, 340449, 340449, 341724, 342182, 342376, 342541, 342999, 342999, 342999, 342999, 342999, 344274, 344274, 344274, + 345549, 346465, 346923, 346923, 347839, 348297, 348297, 348297, 348755, 349143, 349337, 349337, 349725, 350641, 351099, 351099, + 352015, 354565, 355840, 355840, 358390, 359665, 359665, 359665, 360940, 361852, 362308, 362308, 363220, 365770, 367045, 367045, + 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, + 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, + 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, + 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, 369595, + 369595, 370870, 370870, 370870, 372145, 372603, 372797, 372962, 373420, 373876, 373876, 373876, 374332, 375607, 375607, 375607, + 376882, 377340, 377534, 377699, 378157, 378157, 378157, 378157, 378157, 378157, 378157, 378157, 378157, 378615, 378792, 378945, + 379378, 379836, 379836, 379836, 380294, 380488, 380488, 380550, 380727, 380921, 380921, 380921, 381098, 381556, 381556, 381556, + 381989, 383264, 383264, 383264, 384539, 384997, 385174, 385327, 385760, 386216, 386216, 386216, 386648, 387923, 387923, 387923, + 389144, 391694, 392969, 392969, 395519, 396794, 396794, 396794, 398069, 398981, 399437, 399437, 400349, 402899, 404174, 404174, + 406724, 407999, 407999, 407999, 409274, 409732, 409909, 410062, 410495, 410495, 410495, 410495, 410495, 411770, 411770, 411770, + 412991, 413907, 414365, 414365, 415281, 415739, 415739, 415739, 416172, 416560, 416737, 416737, 417108, 418024, 418457, 418457, + 419348, 421898, 423173, 423173, 425723, 426998, 426998, 426998, 428219, 429131, 429563, 429563, 430451, 433001, 434222, 434222, + 436718, 439268, 440543, 440543, 443093, 443093, 443093, 443093, 443093, 444009, 444467, 444467, 445383, 447933, 449208, 449208, + 451758, 451758, 451758, 451758, 451758, 451758, 451758, 451758, 451758, 451758, 451758, 451758, 451758, 451758, 451758, 451758, + 451758, 453033, 453033, 453033, 454308, 454308, 454308, 454308, 454308, 454766, 454766, 454766, 455224, 456499, 456499, 456499, + 457774, 460324, 461599, 461599, 464149, 464149, 464149, 464149, 464149, 465065, 465523, 465523, 466439, 468989, 470264, 470264, + 472814, 474089, 474089, 474089, 475364, 475822, 476016, 476181, 476639, 476639, 476639, 476639, 476639, 477914, 477914, 477914, + 479189, 479189, 479189, 479189, 479189, 479189, 479189, 479189, 479189, 479189, 479189, 479189, 479189, 479189, 479189, 479189, + 479189, 479647, 479647, 479647, 480105, 480299, 480299, 480361, 480538, 480538, 480538, 480538, 480538, 480996, 480996, 480996, + 481429, 482704, 482704, 482704, 483979, 484437, 484614, 484767, 485200, 485200, 485200, 485200, 485200, 486475, 486475, 486475, + 487696, 488971, 488971, 488971, 490246, 490246, 490246, 490246, 490246, 490704, 490704, 490704, 491162, 492437, 492437, 492437, + 493712, 493712, 493712, 493712, 493712, 493712, 493712, 493712, 493712, 493712, 493712, 493712, 493712, 493712, 493712, 493712, + 493712, 494170, 494364, 494529, 494987, 494987, 494987, 494987, 494987, 495181, 495181, 495243, 495420, 495878, 496055, 496208, + 496641, 497916, 497916, 497916, 499191, 499191, 499191, 499191, 499191, 499649, 499649, 499649, 500082, 501357, 501357, 501357, + 502578, 505128, 506403, 506403, 508953, 508953, 508953, 508953, 508953, 509869, 510327, 510327, 511243, 513793, 515068, 515068, + 517618, 517618, 517618, 517618, 517618, 517618, 517618, 517618, 517618, 517618, 517618, 517618, 517618, 517618, 517618, 517618, + 517618, 518893, 518893, 518893, 520168, 520168, 520168, 520168, 520168, 520626, 520626, 520626, 521059, 522334, 522334, 522334, + 523555, 526105, 527380, 527380, 529930, 529930, 529930, 529930, 529930, 530846, 531279, 531279, 532170, 534720, 535941, 535941, + 538437, 544812, 547362, 549642, 556017, 558567, 559842, 559842, 562392, 564682, 565598, 566568, 568858, 575233, 577783, 580063, + 586438, 586438, 586438, 586438, 586438, 586438, 586438, 586438, 586438, 586438, 586438, 586438, 586438, 586438, 586438, 586438, + 586438, 588988, 590263, 591175, 593725, 595000, 595000, 595000, 596275, 597191, 597649, 598037, 598953, 601503, 602778, 603690, + 606240, 612615, 615165, 617445, 623820, 626370, 627645, 627645, 630195, 632485, 633401, 634371, 636661, 643036, 645586, 647866, + 654241, 656791, 658066, 658066, 660616, 661891, 661891, 661891, 663166, 664078, 664534, 664534, 665446, 667996, 669271, 669271, + 671821, 673096, 673096, 673096, 674371, 674829, 675006, 675159, 675592, 675592, 675592, 675592, 675592, 676867, 676867, 676867, + 678088, 679004, 679462, 679462, 680378, 680836, 680836, 680836, 681269, 681657, 681834, 681834, 682205, 683121, 683554, 683554, + 684445, 686995, 688270, 688270, 690820, 692095, 692095, 692095, 693316, 694228, 694660, 694660, 695548, 698098, 699319, 699319, + 701815, 704365, 704365, 705277, 707827, 709102, 709102, 709102, 710377, 711293, 711293, 711681, 712597, 715147, 715147, 716059, + 718609, 718609, 718609, 718609, 718609, 718609, 718609, 718609, 718609, 718609, 718609, 718609, 718609, 718609, 718609, 718609, + 718609, 719884, 719884, 720340, 721615, 722073, 722250, 722403, 722836, 723294, 723294, 723471, 723904, 725179, 725179, 725611, + 726832, 729382, 729382, 730294, 732844, 734119, 734119, 734119, 735340, 736256, 736256, 736627, 737518, 740068, 740068, 740956, + 743452, 749827, 752377, 754657, 761032, 763582, 764857, 764857, 767407, 769697, 770613, 771583, 773873, 780248, 782798, 785078, + 791453, 791453, 791453, 791453, 791453, 791453, 791453, 791453, 791453, 791453, 791453, 791453, 791453, 791453, 791453, 791453, + 791453, 794003, 795278, 796190, 798740, 800015, 800015, 800015, 801236, 802152, 802585, 802956, 803847, 806397, 807618, 808506, + 811002, 817377, 819927, 822207, 828582, 831132, 832353, 832353, 834849, 837139, 838030, 838966, 841206, 847581, 850077, 852309, + 858576, 861126, 862401, 862401, 864951, 866226, 866226, 866226, 867501, 868413, 868869, 868869, 869781, 872331, 873606, 873606, + 876156, 877431, 877431, 877431, 878706, 879164, 879358, 879523, 879981, 879981, 879981, 879981, 879981, 881256, 881256, 881256, + 882531, 883447, 883905, 883905, 884821, 885279, 885279, 885279, 885737, 886125, 886319, 886319, 886707, 887623, 888081, 888081, + 888997, 891547, 892822, 892822, 895372, 896647, 896647, 896647, 897922, 898834, 899290, 899290, 900202, 902752, 904027, 904027, + 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, + 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, + 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, + 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, 906577, + 906577, 907852, 907852, 907852, 909127, 909585, 909779, 909944, 910402, 910858, 910858, 910858, 911314, 912589, 912589, 912589, + 913864, 914322, 914516, 914681, 915139, 915139, 915139, 915139, 915139, 915139, 915139, 915139, 915139, 915597, 915774, 915927, + 916360, 916818, 916818, 916818, 917276, 917470, 917470, 917532, 917709, 917903, 917903, 917903, 918080, 918538, 918538, 918538, + 918971, 920246, 920246, 920246, 921521, 921979, 922156, 922309, 922742, 923198, 923198, 923198, 923630, 924905, 924905, 924905, + 926126, 928676, 929951, 929951, 932501, 933776, 933776, 933776, 935051, 935963, 936419, 936419, 937331, 939881, 941156, 941156, + 943706, 944981, 944981, 944981, 946256, 946714, 946891, 947044, 947477, 947477, 947477, 947477, 947477, 948752, 948752, 948752, + 949973, 950889, 951347, 951347, 952263, 952721, 952721, 952721, 953154, 953542, 953719, 953719, 954090, 955006, 955439, 955439, + 956330, 958880, 960155, 960155, 962705, 963980, 963980, 963980, 965201, 966113, 966545, 966545, 967433, 969983, 971204, 971204, + 973700, 974975, 974975, 974975, 976250, 976708, 976902, 977067, 977525, 977525, 977525, 977525, 977525, 978800, 978800, 978800, + 980075, 980533, 980727, 980892, 981350, 981350, 981350, 981350, 981350, 981350, 981350, 981350, 981350, 981808, 981985, 982138, + 982571, 983027, 983027, 983027, 983483, 983677, 983677, 983738, 983915, 983915, 983915, 983915, 983915, 984371, 984371, 984371, + 984803, 986078, 986078, 986078, 987353, 987811, 987988, 988141, 988574, 988574, 988574, 988574, 988574, 989849, 989849, 989849, + 991070, 991528, 991722, 991887, 992345, 992345, 992345, 992345, 992345, 992345, 992345, 992345, 992345, 992803, 992980, 993133, + 993566, 993760, 993760, 993822, 993999, 994060, 994074, 994088, 994130, 994191, 994191, 994205, 994247, 994424, 994424, 994466, + 994597, 994597, 994597, 994597, 994597, 994597, 994597, 994597, 994597, 994597, 994597, 994597, 994597, 994597, 994597, 994597, + 994597, 995055, 995232, 995385, 995818, 995818, 995818, 995818, 995818, 995818, 995818, 995818, 995818, 996251, 996382, 996499, + 996849, 997307, 997307, 997307, 997765, 997959, 997959, 998021, 998198, 998198, 998198, 998198, 998198, 998656, 998656, 998656, + 999089, 999283, 999283, 999345, 999522, 999522, 999522, 999522, 999522, 999522, 999522, 999522, 999522, 999699, 999699, 999741, + 999872, 1000066, 1000066, 1000066, 1000243, 1000304, 1000318, 1000332, 1000374, 1000374, 1000374, 1000374, 1000374, 1000551, 1000551, 1000551, +1000682, 1001140, 1001140, 1001140, 1001573, 1001750, 1001750, 1001792, 1001923, 1001923, 1001923, 1001923, 1001923, 1002356, 1002356, 1002356, +1002706, 1003981, 1003981, 1003981, 1005256, 1005714, 1005891, 1006044, 1006477, 1006477, 1006477, 1006477, 1006477, 1007752, 1007752, 1007752, +1008973, 1009431, 1009608, 1009761, 1010194, 1010194, 1010194, 1010194, 1010194, 1010194, 1010194, 1010194, 1010194, 1010627, 1010758, 1010875, +1011225, 1011681, 1011681, 1011681, 1012113, 1012290, 1012290, 1012332, 1012463, 1012463, 1012463, 1012463, 1012463, 1012895, 1012895, 1012895, +1013245, 1014520, 1014520, 1014520, 1015741, 1016174, 1016305, 1016422, 1016772, 1016772, 1016772, 1016772, 1016772, 1017993, 1017993, 1017993, +1019024, 1020299, 1020299, 1020299, 1021574, 1021574, 1021574, 1021574, 1021574, 1022030, 1022030, 1022030, 1022486, 1023761, 1023761, 1023761, +1025036, 1025494, 1025688, 1025853, 1026311, 1026311, 1026311, 1026311, 1026311, 1026311, 1026311, 1026311, 1026311, 1026769, 1026946, 1027099, +1027532, 1027990, 1027990, 1027990, 1028448, 1028448, 1028448, 1028448, 1028448, 1028642, 1028642, 1028642, 1028819, 1029277, 1029277, 1029277, +1029710, 1030985, 1030985, 1030985, 1032260, 1032260, 1032260, 1032260, 1032260, 1032716, 1032716, 1032716, 1033148, 1034423, 1034423, 1034423, +1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, +1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, +1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, +1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, 1035644, +1035644, 1036102, 1036296, 1036461, 1036919, 1036919, 1036919, 1036919, 1036919, 1037113, 1037113, 1037174, 1037351, 1037809, 1037986, 1038139, +1038572, 1038766, 1038766, 1038828, 1039005, 1039066, 1039080, 1039094, 1039136, 1039197, 1039197, 1039211, 1039253, 1039430, 1039430, 1039472, +1039603, 1039797, 1039797, 1039859, 1040036, 1040036, 1040036, 1040036, 1040036, 1040097, 1040111, 1040125, 1040167, 1040344, 1040344, 1040386, +1040517, 1040975, 1041152, 1041305, 1041738, 1041738, 1041738, 1041738, 1041738, 1041915, 1041915, 1041957, 1042088, 1042521, 1042652, 1042769, +1043119, 1044394, 1044394, 1044394, 1045669, 1045669, 1045669, 1045669, 1045669, 1046125, 1046125, 1046125, 1046557, 1047832, 1047832, 1047832, +1049053, 1049511, 1049688, 1049841, 1050274, 1050274, 1050274, 1050274, 1050274, 1050274, 1050274, 1050274, 1050274, 1050707, 1050838, 1050955, +1051305, 1051763, 1051763, 1051763, 1052196, 1052196, 1052196, 1052196, 1052196, 1052373, 1052373, 1052373, 1052504, 1052937, 1052937, 1052937, +1053287, 1054562, 1054562, 1054562, 1055783, 1055783, 1055783, 1055783, 1055783, 1056215, 1056215, 1056215, 1056565, 1057786, 1057786, 1057786, +1058817, 1061367, 1062642, 1062642, 1065192, 1066467, 1066467, 1066467, 1067742, 1068654, 1069110, 1069110, 1070022, 1072572, 1073847, 1073847, +1076397, 1077672, 1077672, 1077672, 1078947, 1079405, 1079582, 1079735, 1080168, 1080168, 1080168, 1080168, 1080168, 1081443, 1081443, 1081443, +1082664, 1083580, 1084038, 1084038, 1084954, 1085412, 1085412, 1085412, 1085845, 1086233, 1086410, 1086410, 1086781, 1087697, 1088130, 1088130, +1089021, 1091571, 1092846, 1092846, 1095396, 1096671, 1096671, 1096671, 1097892, 1098804, 1099236, 1099236, 1100124, 1102674, 1103895, 1103895, +1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, +1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, +1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, +1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, 1106391, +1106391, 1107666, 1107666, 1107666, 1108941, 1109399, 1109576, 1109729, 1110162, 1110618, 1110618, 1110618, 1111050, 1112325, 1112325, 1112325, +1113546, 1114004, 1114181, 1114334, 1114767, 1114767, 1114767, 1114767, 1114767, 1114767, 1114767, 1114767, 1114767, 1115200, 1115331, 1115448, +1115798, 1116256, 1116256, 1116256, 1116689, 1116866, 1116866, 1116908, 1117039, 1117216, 1117216, 1117216, 1117347, 1117780, 1117780, 1117780, +1118130, 1119405, 1119405, 1119405, 1120626, 1121059, 1121190, 1121307, 1121657, 1122089, 1122089, 1122089, 1122439, 1123660, 1123660, 1123660, +1124691, 1127241, 1128516, 1128516, 1131066, 1132341, 1132341, 1132341, 1133562, 1134474, 1134906, 1134906, 1135794, 1138344, 1139565, 1139565, +1142061, 1143336, 1143336, 1143336, 1144557, 1144990, 1145121, 1145238, 1145588, 1145588, 1145588, 1145588, 1145588, 1146809, 1146809, 1146809, +1147840, 1148756, 1149189, 1149189, 1150080, 1150513, 1150513, 1150513, 1150863, 1151234, 1151365, 1151365, 1151673, 1152564, 1152914, 1152914, +1153697, 1156247, 1157468, 1157468, 1159964, 1161185, 1161185, 1161185, 1162216, 1163104, 1163454, 1163454, 1164236, 1166732, 1167763, 1167763, +1170015, 1172565, 1173840, 1173840, 1176390, 1177665, 1177665, 1177665, 1178940, 1179852, 1180308, 1180308, 1181220, 1183770, 1185045, 1185045, +1187595, 1187595, 1187595, 1187595, 1187595, 1187595, 1187595, 1187595, 1187595, 1187595, 1187595, 1187595, 1187595, 1187595, 1187595, 1187595, +1187595, 1188870, 1188870, 1188870, 1190145, 1190603, 1190797, 1190962, 1191420, 1191876, 1191876, 1191876, 1192332, 1193607, 1193607, 1193607, +1194882, 1197432, 1198707, 1198707, 1201257, 1202532, 1202532, 1202532, 1203807, 1204719, 1205175, 1205175, 1206087, 1208637, 1209912, 1209912, +1212462, 1213737, 1213737, 1213737, 1215012, 1215470, 1215664, 1215829, 1216287, 1216287, 1216287, 1216287, 1216287, 1217562, 1217562, 1217562, +1218837, 1219295, 1219489, 1219654, 1220112, 1220112, 1220112, 1220112, 1220112, 1220112, 1220112, 1220112, 1220112, 1220570, 1220747, 1220900, +1221333, 1221789, 1221789, 1221789, 1222245, 1222439, 1222439, 1222500, 1222677, 1222677, 1222677, 1222677, 1222677, 1223133, 1223133, 1223133, +1223565, 1224840, 1224840, 1224840, 1226115, 1226573, 1226750, 1226903, 1227336, 1227336, 1227336, 1227336, 1227336, 1228611, 1228611, 1228611, +1229832, 1231107, 1231107, 1231107, 1232382, 1232382, 1232382, 1232382, 1232382, 1232838, 1232838, 1232838, 1233294, 1234569, 1234569, 1234569, +1235844, 1235844, 1235844, 1235844, 1235844, 1235844, 1235844, 1235844, 1235844, 1235844, 1235844, 1235844, 1235844, 1235844, 1235844, 1235844, +1235844, 1236302, 1236496, 1236661, 1237119, 1237119, 1237119, 1237119, 1237119, 1237313, 1237313, 1237374, 1237551, 1238009, 1238186, 1238339, +1238772, 1240047, 1240047, 1240047, 1241322, 1241322, 1241322, 1241322, 1241322, 1241778, 1241778, 1241778, 1242210, 1243485, 1243485, 1243485, +1244706, 1247256, 1248531, 1248531, 1251081, 1252356, 1252356, 1252356, 1253631, 1254543, 1254999, 1254999, 1255911, 1258461, 1259736, 1259736, +1262286, 1262286, 1262286, 1262286, 1262286, 1262286, 1262286, 1262286, 1262286, 1262286, 1262286, 1262286, 1262286, 1262286, 1262286, 1262286, +1262286, 1263561, 1263561, 1263561, 1264836, 1265294, 1265471, 1265624, 1266057, 1266513, 1266513, 1266513, 1266945, 1268220, 1268220, 1268220, +1269441, 1271991, 1273266, 1273266, 1275816, 1277091, 1277091, 1277091, 1278312, 1279224, 1279656, 1279656, 1280544, 1283094, 1284315, 1284315, +1286811, 1288086, 1288086, 1288086, 1289361, 1289819, 1290013, 1290178, 1290636, 1290636, 1290636, 1290636, 1290636, 1291911, 1291911, 1291911, +1293186, 1293644, 1293838, 1294003, 1294461, 1294461, 1294461, 1294461, 1294461, 1294461, 1294461, 1294461, 1294461, 1294919, 1295096, 1295249, +1295682, 1296138, 1296138, 1296138, 1296594, 1296788, 1296788, 1296849, 1297026, 1297026, 1297026, 1297026, 1297026, 1297482, 1297482, 1297482, +1297914, 1299189, 1299189, 1299189, 1300464, 1300922, 1301099, 1301252, 1301685, 1301685, 1301685, 1301685, 1301685, 1302960, 1302960, 1302960, +1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, +1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, +1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, +1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, 1304181, +1304181, 1304639, 1304833, 1304998, 1305456, 1305456, 1305456, 1305456, 1305456, 1305456, 1305456, 1305456, 1305456, 1305914, 1306091, 1306244, +1306677, 1306871, 1306871, 1306933, 1307110, 1307171, 1307185, 1307199, 1307241, 1307302, 1307302, 1307316, 1307358, 1307535, 1307535, 1307577, +1307708, 1307902, 1307902, 1307963, 1308140, 1308140, 1308140, 1308140, 1308140, 1308140, 1308140, 1308140, 1308140, 1308317, 1308317, 1308359, +1308490, 1308948, 1309125, 1309278, 1309711, 1309711, 1309711, 1309711, 1309711, 1309711, 1309711, 1309711, 1309711, 1310144, 1310275, 1310392, +1310742, 1312017, 1312017, 1312017, 1313292, 1313750, 1313927, 1314080, 1314513, 1314513, 1314513, 1314513, 1314513, 1315788, 1315788, 1315788, +1317009, 1317467, 1317644, 1317797, 1318230, 1318230, 1318230, 1318230, 1318230, 1318230, 1318230, 1318230, 1318230, 1318663, 1318794, 1318911, +1319261, 1319717, 1319717, 1319717, 1320149, 1320326, 1320326, 1320368, 1320499, 1320499, 1320499, 1320499, 1320499, 1320931, 1320931, 1320931, +1321281, 1322556, 1322556, 1322556, 1323777, 1324210, 1324341, 1324458, 1324808, 1324808, 1324808, 1324808, 1324808, 1326029, 1326029, 1326029, +1327060, 1328335, 1328335, 1328335, 1329610, 1330068, 1330262, 1330427, 1330885, 1330885, 1330885, 1330885, 1330885, 1332160, 1332160, 1332160, +1333435, 1333435, 1333435, 1333435, 1333435, 1333435, 1333435, 1333435, 1333435, 1333435, 1333435, 1333435, 1333435, 1333435, 1333435, 1333435, +1333435, 1333893, 1334087, 1334252, 1334710, 1334710, 1334710, 1334710, 1334710, 1334710, 1334710, 1334710, 1334710, 1335168, 1335345, 1335498, +1335931, 1337206, 1337206, 1337206, 1338481, 1338939, 1339116, 1339269, 1339702, 1339702, 1339702, 1339702, 1339702, 1340977, 1340977, 1340977, +1342198, 1342656, 1342850, 1343015, 1343473, 1343473, 1343473, 1343473, 1343473, 1343473, 1343473, 1343473, 1343473, 1343931, 1344108, 1344261, +1344694, 1344888, 1344888, 1344950, 1345127, 1345188, 1345202, 1345216, 1345258, 1345319, 1345319, 1345333, 1345375, 1345552, 1345552, 1345594, +1345725, 1345725, 1345725, 1345725, 1345725, 1345725, 1345725, 1345725, 1345725, 1345725, 1345725, 1345725, 1345725, 1345725, 1345725, 1345725, +1345725, 1346183, 1346360, 1346513, 1346946, 1346946, 1346946, 1346946, 1346946, 1346946, 1346946, 1346946, 1346946, 1347379, 1347510, 1347627, +1347977, 1348435, 1348629, 1348794, 1349252, 1349252, 1349252, 1349252, 1349252, 1349252, 1349252, 1349252, 1349252, 1349710, 1349887, 1350040, +1350473, 1350473, 1350473, 1350473, 1350473, 1350473, 1350473, 1350473, 1350473, 1350473, 1350473, 1350473, 1350473, 1350473, 1350473, 1350473, +1350473, 1350667, 1350667, 1350729, 1350906, 1350967, 1350981, 1350995, 1351037, 1351098, 1351098, 1351112, 1351154, 1351331, 1351331, 1351373, +1351504, 1351962, 1352139, 1352292, 1352725, 1352725, 1352725, 1352725, 1352725, 1352725, 1352725, 1352725, 1352725, 1353158, 1353289, 1353406, +1353756, 1355031, 1355031, 1355031, 1356306, 1356764, 1356941, 1357094, 1357527, 1357527, 1357527, 1357527, 1357527, 1358802, 1358802, 1358802, +1360023, 1360023, 1360023, 1360023, 1360023, 1360023, 1360023, 1360023, 1360023, 1360023, 1360023, 1360023, 1360023, 1360023, 1360023, 1360023, +1360023, 1360481, 1360658, 1360811, 1361244, 1361244, 1361244, 1361244, 1361244, 1361244, 1361244, 1361244, 1361244, 1361677, 1361808, 1361925, +1362275, 1363550, 1363550, 1363550, 1364771, 1365204, 1365335, 1365452, 1365802, 1365802, 1365802, 1365802, 1365802, 1367023, 1367023, 1367023, +1368054, 1370604, 1371879, 1371879, 1374429, 1375704, 1375704, 1375704, 1376979, 1377891, 1378347, 1378347, 1379259, 1381809, 1383084, 1383084, +1385634, 1385634, 1385634, 1385634, 1385634, 1385634, 1385634, 1385634, 1385634, 1385634, 1385634, 1385634, 1385634, 1385634, 1385634, 1385634, +1385634, 1386909, 1386909, 1386909, 1388184, 1388642, 1388819, 1388972, 1389405, 1389861, 1389861, 1389861, 1390293, 1391568, 1391568, 1391568, +1392789, 1395339, 1396614, 1396614, 1399164, 1400439, 1400439, 1400439, 1401660, 1402572, 1403004, 1403004, 1403892, 1406442, 1407663, 1407663, +1410159, 1411434, 1411434, 1411434, 1412709, 1413167, 1413344, 1413497, 1413930, 1413930, 1413930, 1413930, 1413930, 1415205, 1415205, 1415205, +1416426, 1416884, 1417061, 1417214, 1417647, 1417647, 1417647, 1417647, 1417647, 1417647, 1417647, 1417647, 1417647, 1418080, 1418211, 1418328, +1418678, 1419134, 1419134, 1419134, 1419566, 1419743, 1419743, 1419785, 1419916, 1419916, 1419916, 1419916, 1419916, 1420348, 1420348, 1420348, +1420698, 1421973, 1421973, 1421973, 1423194, 1423627, 1423758, 1423875, 1424225, 1424225, 1424225, 1424225, 1424225, 1425446, 1425446, 1425446, +1426477, 1427752, 1427752, 1427752, 1429027, 1429027, 1429027, 1429027, 1429027, 1429483, 1429483, 1429483, 1429915, 1431190, 1431190, 1431190, +1432411, 1432411, 1432411, 1432411, 1432411, 1432411, 1432411, 1432411, 1432411, 1432411, 1432411, 1432411, 1432411, 1432411, 1432411, 1432411, +1432411, 1432869, 1433046, 1433199, 1433632, 1433632, 1433632, 1433632, 1433632, 1433809, 1433809, 1433851, 1433982, 1434415, 1434546, 1434663, +1435013, 1436288, 1436288, 1436288, 1437509, 1437509, 1437509, 1437509, 1437509, 1437941, 1437941, 1437941, 1438291, 1439512, 1439512, 1439512, +1440543, 1443093, 1444368, 1444368, 1446918, 1448193, 1448193, 1448193, 1449414, 1450326, 1450758, 1450758, 1451646, 1454196, 1455417, 1455417, +1457913, 1457913, 1457913, 1457913, 1457913, 1457913, 1457913, 1457913, 1457913, 1457913, 1457913, 1457913, 1457913, 1457913, 1457913, 1457913, +1457913, 1459188, 1459188, 1459188, 1460409, 1460842, 1460973, 1461090, 1461440, 1461872, 1461872, 1461872, 1462222, 1463443, 1463443, 1463443, +1464474, 1467024, 1468245, 1468245, 1470741, 1471962, 1471962, 1471962, 1472993, 1473881, 1474231, 1474231, 1475013, 1477509, 1478540, 1478540, +1480792, 1487167, 1489717, 1491997, 1498372, 1500922, 1502197, 1502197, 1504747, 1507037, 1507953, 1508923, 1511213, 1517588, 1520138, 1522418, +1528793, 1528793, 1528793, 1528793, 1528793, 1528793, 1528793, 1528793, 1528793, 1528793, 1528793, 1528793, 1528793, 1528793, 1528793, 1528793, +1528793, 1531343, 1532618, 1533530, 1536080, 1537355, 1537355, 1537355, 1538630, 1539546, 1540004, 1540392, 1541308, 1543858, 1545133, 1546045, +1548595, 1554970, 1557520, 1559800, 1566175, 1568725, 1570000, 1570000, 1572550, 1574840, 1575756, 1576726, 1579016, 1585391, 1587941, 1590221, +1596596, 1599146, 1600421, 1600421, 1602971, 1604246, 1604246, 1604246, 1605521, 1606433, 1606889, 1606889, 1607801, 1610351, 1611626, 1611626, +1614176, 1615451, 1615451, 1615451, 1616726, 1617184, 1617361, 1617514, 1617947, 1617947, 1617947, 1617947, 1617947, 1619222, 1619222, 1619222, +1620443, 1621359, 1621817, 1621817, 1622733, 1623191, 1623191, 1623191, 1623624, 1624012, 1624189, 1624189, 1624560, 1625476, 1625909, 1625909, +1626800, 1629350, 1630625, 1630625, 1633175, 1634450, 1634450, 1634450, 1635671, 1636583, 1637015, 1637015, 1637903, 1640453, 1641674, 1641674, +1644170, 1646720, 1646720, 1647632, 1650182, 1651457, 1651457, 1651457, 1652732, 1653648, 1653648, 1654036, 1654952, 1657502, 1657502, 1658414, +1660964, 1660964, 1660964, 1660964, 1660964, 1660964, 1660964, 1660964, 1660964, 1660964, 1660964, 1660964, 1660964, 1660964, 1660964, 1660964, +1660964, 1662239, 1662239, 1662695, 1663970, 1664428, 1664605, 1664758, 1665191, 1665649, 1665649, 1665826, 1666259, 1667534, 1667534, 1667966, +1669187, 1671737, 1671737, 1672649, 1675199, 1676474, 1676474, 1676474, 1677695, 1678611, 1678611, 1678982, 1679873, 1682423, 1682423, 1683311, +1685807, 1692182, 1694732, 1697012, 1703387, 1705937, 1707212, 1707212, 1709762, 1712052, 1712968, 1713938, 1716228, 1722603, 1725153, 1727433, +1733808, 1733808, 1733808, 1733808, 1733808, 1733808, 1733808, 1733808, 1733808, 1733808, 1733808, 1733808, 1733808, 1733808, 1733808, 1733808, +1733808, 1736358, 1737633, 1738545, 1741095, 1742370, 1742370, 1742370, 1743591, 1744507, 1744940, 1745311, 1746202, 1748752, 1749973, 1750861, +1753357, 1759732, 1762282, 1764562, 1770937, 1773487, 1774708, 1774708, 1777204, 1779494, 1780385, 1781321, 1783561, 1789936, 1792432, 1794664, +1800931, 1803481, 1804756, 1804756, 1807306, 1808581, 1808581, 1808581, 1809856, 1810768, 1811224, 1811224, 1812136, 1814686, 1815961, 1815961, +1818511, 1819786, 1819786, 1819786, 1821061, 1821519, 1821696, 1821849, 1822282, 1822282, 1822282, 1822282, 1822282, 1823557, 1823557, 1823557, +1824778, 1825694, 1826152, 1826152, 1827068, 1827526, 1827526, 1827526, 1827959, 1828347, 1828524, 1828524, 1828895, 1829811, 1830244, 1830244, +1831135, 1833685, 1834960, 1834960, 1837510, 1838785, 1838785, 1838785, 1840006, 1840918, 1841350, 1841350, 1842238, 1844788, 1846009, 1846009, +1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, +1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, +1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, +1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, 1848505, +1848505, 1849780, 1849780, 1849780, 1851055, 1851513, 1851690, 1851843, 1852276, 1852732, 1852732, 1852732, 1853164, 1854439, 1854439, 1854439, +1855660, 1856118, 1856295, 1856448, 1856881, 1856881, 1856881, 1856881, 1856881, 1856881, 1856881, 1856881, 1856881, 1857314, 1857445, 1857562, +1857912, 1858370, 1858370, 1858370, 1858803, 1858980, 1858980, 1859022, 1859153, 1859330, 1859330, 1859330, 1859461, 1859894, 1859894, 1859894, +1860244, 1861519, 1861519, 1861519, 1862740, 1863173, 1863304, 1863421, 1863771, 1864203, 1864203, 1864203, 1864553, 1865774, 1865774, 1865774, +1866805, 1869355, 1870630, 1870630, 1873180, 1874455, 1874455, 1874455, 1875676, 1876588, 1877020, 1877020, 1877908, 1880458, 1881679, 1881679, +1884175, 1885450, 1885450, 1885450, 1886671, 1887104, 1887235, 1887352, 1887702, 1887702, 1887702, 1887702, 1887702, 1888923, 1888923, 1888923, +1889954, 1890870, 1891303, 1891303, 1892194, 1892627, 1892627, 1892627, 1892977, 1893348, 1893479, 1893479, 1893787, 1894678, 1895028, 1895028, +1895811, 1898361, 1899582, 1899582, 1902078, 1903299, 1903299, 1903299, 1904330, 1905218, 1905568, 1905568, 1906350, 1908846, 1909877, 1909877, +1912129, 1914679, 1915954, 1915954, 1918504, 1918504, 1918504, 1918504, 1918504, 1919420, 1919878, 1919878, 1920794, 1923344, 1924619, 1924619, +1927169, 1927169, 1927169, 1927169, 1927169, 1927169, 1927169, 1927169, 1927169, 1927169, 1927169, 1927169, 1927169, 1927169, 1927169, 1927169, +1927169, 1928444, 1928444, 1928444, 1929719, 1929719, 1929719, 1929719, 1929719, 1930177, 1930177, 1930177, 1930610, 1931885, 1931885, 1931885, +1933106, 1935656, 1936931, 1936931, 1939481, 1939481, 1939481, 1939481, 1939481, 1940397, 1940830, 1940830, 1941721, 1944271, 1945492, 1945492, +1947988, 1949263, 1949263, 1949263, 1950538, 1950996, 1951173, 1951326, 1951759, 1951759, 1951759, 1951759, 1951759, 1953034, 1953034, 1953034, +1954255, 1954255, 1954255, 1954255, 1954255, 1954255, 1954255, 1954255, 1954255, 1954255, 1954255, 1954255, 1954255, 1954255, 1954255, 1954255, +1954255, 1954713, 1954713, 1954713, 1955146, 1955323, 1955323, 1955365, 1955496, 1955496, 1955496, 1955496, 1955496, 1955929, 1955929, 1955929, +1956279, 1957554, 1957554, 1957554, 1958775, 1959208, 1959339, 1959456, 1959806, 1959806, 1959806, 1959806, 1959806, 1961027, 1961027, 1961027, +1962058, 1963333, 1963333, 1963333, 1964608, 1964608, 1964608, 1964608, 1964608, 1965066, 1965066, 1965066, 1965499, 1966774, 1966774, 1966774, +1967995, 1967995, 1967995, 1967995, 1967995, 1967995, 1967995, 1967995, 1967995, 1967995, 1967995, 1967995, 1967995, 1967995, 1967995, 1967995, +1967995, 1968453, 1968630, 1968783, 1969216, 1969216, 1969216, 1969216, 1969216, 1969393, 1969393, 1969435, 1969566, 1969999, 1970130, 1970247, +1970597, 1971872, 1971872, 1971872, 1973093, 1973093, 1973093, 1973093, 1973093, 1973526, 1973526, 1973526, 1973876, 1975097, 1975097, 1975097, +1976128, 1978678, 1979953, 1979953, 1982503, 1982503, 1982503, 1982503, 1982503, 1983419, 1983852, 1983852, 1984743, 1987293, 1988514, 1988514, +1991010, 1991010, 1991010, 1991010, 1991010, 1991010, 1991010, 1991010, 1991010, 1991010, 1991010, 1991010, 1991010, 1991010, 1991010, 1991010, +1991010, 1992285, 1992285, 1992285, 1993506, 1993506, 1993506, 1993506, 1993506, 1993939, 1993939, 1993939, 1994289, 1995510, 1995510, 1995510, +1996541, 1999091, 2000312, 2000312, 2002808, 2002808, 2002808, 2002808, 2002808, 2003699, 2004049, 2004049, 2004832, 2007328, 2008359, 2008359, +2010611, 2016986, 2019536, 2021816, 2028191, 2030741, 2032016, 2032016, 2034566, 2036856, 2037772, 2038742, 2041032, 2047407, 2049957, 2052237, +2058612, 2058612, 2058612, 2058612, 2058612, 2058612, 2058612, 2058612, 2058612, 2058612, 2058612, 2058612, 2058612, 2058612, 2058612, 2058612, +2058612, 2061162, 2062437, 2063349, 2065899, 2067174, 2067174, 2067174, 2068395, 2069311, 2069744, 2070115, 2071006, 2073556, 2074777, 2075665, +2078161, 2084536, 2087086, 2089366, 2095741, 2098291, 2099512, 2099512, 2102008, 2104298, 2105189, 2106125, 2108365, 2114740, 2117236, 2119468, +2125735, 2128285, 2129560, 2129560, 2132110, 2133385, 2133385, 2133385, 2134606, 2135518, 2135950, 2135950, 2136838, 2139388, 2140609, 2140609, +2143105, 2144380, 2144380, 2144380, 2145601, 2146034, 2146165, 2146282, 2146632, 2146632, 2146632, 2146632, 2146632, 2147853, 2147853, 2147853, +2148884, 2149800, 2150233, 2150233, 2151124, 2151557, 2151557, 2151557, 2151907, 2152278, 2152409, 2152409, 2152717, 2153608, 2153958, 2153958, +2154741, 2157291, 2158512, 2158512, 2161008, 2162229, 2162229, 2162229, 2163260, 2164148, 2164498, 2164498, 2165280, 2167776, 2168807, 2168807, +2171059, 2173609, 2173609, 2174521, 2177071, 2178346, 2178346, 2178346, 2179567, 2180483, 2180483, 2180854, 2181745, 2184295, 2184295, 2185183, +2187679, 2187679, 2187679, 2187679, 2187679, 2187679, 2187679, 2187679, 2187679, 2187679, 2187679, 2187679, 2187679, 2187679, 2187679, 2187679, +2187679, 2188954, 2188954, 2189386, 2190607, 2191040, 2191171, 2191288, 2191638, 2192071, 2192071, 2192202, 2192552, 2193773, 2193773, 2194123, +2195154, 2197704, 2197704, 2198592, 2201088, 2202309, 2202309, 2202309, 2203340, 2204231, 2204231, 2204539, 2205322, 2207818, 2207818, 2208600, +2210852, 2217227, 2219777, 2222057, 2228432, 2230982, 2232203, 2232203, 2234699, 2236989, 2237880, 2238816, 2241056, 2247431, 2249927, 2252159, +2258426, 2258426, 2258426, 2258426, 2258426, 2258426, 2258426, 2258426, 2258426, 2258426, 2258426, 2258426, 2258426, 2258426, 2258426, 2258426, +2258426, 2260976, 2262197, 2263085, 2265581, 2266802, 2266802, 2266802, 2267833, 2268724, 2269074, 2269382, 2270165, 2272661, 2273692, 2274474, +2276726, 2283101, 2285597, 2287829, 2294096, 2296592, 2297623, 2297623, 2299875, 2302115, 2302898, 2303708, 2305732, 2311999, 2314251, 2316271, diff --git a/src/core/short_code/offset/range_prefix/offset_0xC.inc b/src/core/short_code/offset/range_prefix/offset_0xC.inc new file mode 100644 index 0000000..cd61010 --- /dev/null +++ b/src/core/short_code/offset/range_prefix/offset_0xC.inc @@ -0,0 +1,256 @@ + 0, 8281, 11299, 14237, 22518, 25536, 26811, 27781, 30799, 34205, 35451, 36920, 40326, 48607, 51625, 54563, + 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, + 62844, 65794, 67069, 68121, 71071, 72346, 72346, 72746, 74021, 75233, 75759, 76285, 77497, 80447, 81722, 82774, + 85724, 94005, 97023, 99961, 108242, 111260, 112535, 113505, 116523, 119929, 121175, 122644, 126050, 134331, 137349, 140287, + 148568, 151586, 152861, 153831, 156849, 158124, 158124, 158592, 159867, 160919, 161365, 161753, 162805, 165823, 167098, 168068, + 171086, 172361, 172361, 172829, 174104, 174630, 174853, 174853, 175379, 175779, 175779, 175949, 176349, 177624, 177624, 178092, + 179367, 180613, 181139, 181527, 182773, 183299, 183299, 183493, 184019, 184545, 184768, 184962, 185488, 186734, 187260, 187648, + 188894, 191912, 193187, 194157, 197175, 198450, 198450, 198918, 200193, 201245, 201691, 202079, 203131, 206149, 207424, 208394, + 211412, 214430, 214430, 215482, 218500, 219775, 219775, 220243, 221518, 222764, 222764, 223290, 224536, 227554, 227554, 228606, + 231624, 231624, 231624, 231624, 231624, 231624, 231624, 231624, 231624, 231624, 231624, 231624, 231624, 231624, 231624, 231624, + 231624, 232899, 232899, 233345, 234620, 235146, 235369, 235369, 235895, 236421, 236421, 236644, 237170, 238445, 238445, 238891, + 240166, 243184, 243184, 244236, 247254, 248529, 248529, 248997, 250272, 251518, 251518, 252044, 253290, 256308, 256308, 257360, + 260378, 268659, 271677, 274615, 282896, 285914, 287189, 288159, 291177, 294583, 295829, 297298, 300704, 308985, 312003, 314941, + 323222, 323222, 323222, 323222, 323222, 323222, 323222, 323222, 323222, 323222, 323222, 323222, 323222, 323222, 323222, 323222, + 323222, 326172, 327447, 328499, 331449, 332724, 332724, 333124, 334399, 335611, 336137, 336663, 337875, 340825, 342100, 343152, + 346102, 354383, 357401, 360339, 368620, 371638, 372913, 373883, 376901, 380307, 381553, 383022, 386428, 394709, 397727, 400665, + 408946, 411964, 413239, 414209, 417227, 418502, 418502, 418970, 420245, 421297, 421743, 422131, 423183, 426201, 427476, 428446, + 431464, 432739, 432739, 433207, 434482, 435008, 435231, 435231, 435757, 436157, 436157, 436327, 436727, 438002, 438002, 438470, + 439745, 440991, 441517, 441905, 443151, 443677, 443677, 443871, 444397, 444923, 445146, 445340, 445866, 447112, 447638, 448026, + 449272, 452290, 453565, 454535, 457553, 458828, 458828, 459296, 460571, 461623, 462069, 462457, 463509, 466527, 467802, 468772, + 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, + 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, + 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, + 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, 471790, + 471790, 473065, 473065, 473465, 474740, 475266, 475489, 475489, 476015, 476461, 476461, 476621, 477067, 478342, 478342, 478742, + 480017, 480543, 480766, 480766, 481292, 481292, 481292, 481292, 481292, 481452, 481522, 481522, 481672, 482198, 482399, 482399, + 482893, 483419, 483419, 483579, 484105, 484328, 484398, 484398, 484599, 484822, 484822, 484892, 485093, 485619, 485619, 485769, + 486263, 487538, 487538, 487938, 489213, 489739, 489940, 489940, 490434, 490880, 490880, 491030, 491454, 492729, 492729, 493109, + 494330, 497348, 498623, 499593, 502611, 503886, 503886, 504354, 505629, 506681, 507127, 507515, 508567, 511585, 512860, 513830, + 516848, 518123, 518123, 518591, 519866, 520392, 520593, 520593, 521087, 521487, 521487, 521643, 522023, 523298, 523298, 523739, + 524960, 526206, 526732, 527120, 528366, 528892, 528892, 529069, 529563, 530089, 530290, 530467, 530961, 532207, 532701, 533072, + 534269, 537287, 538562, 539532, 542550, 543825, 543825, 544266, 545487, 546539, 546963, 547334, 548354, 551372, 552593, 553529, + 556466, 559484, 560759, 561729, 564747, 564747, 564747, 564747, 564747, 565993, 566519, 566907, 568153, 571171, 572446, 573416, + 576434, 576434, 576434, 576434, 576434, 576434, 576434, 576434, 576434, 576434, 576434, 576434, 576434, 576434, 576434, 576434, + 576434, 577709, 577709, 578109, 579384, 579384, 579384, 579384, 579384, 579910, 579910, 580070, 580596, 581871, 581871, 582271, + 583546, 586564, 587839, 588809, 591827, 591827, 591827, 591827, 591827, 593073, 593599, 593987, 595233, 598251, 599526, 600496, + 603514, 604789, 604789, 605257, 606532, 607058, 607281, 607281, 607807, 608207, 608207, 608377, 608777, 610052, 610052, 610520, + 611795, 611795, 611795, 611795, 611795, 611795, 611795, 611795, 611795, 611795, 611795, 611795, 611795, 611795, 611795, 611795, + 611795, 612321, 612321, 612515, 613041, 613264, 613334, 613334, 613535, 613695, 613695, 613756, 613906, 614432, 614432, 614609, + 615103, 616378, 616378, 616846, 618121, 618647, 618848, 618848, 619342, 619742, 619742, 619898, 620278, 621553, 621553, 621994, + 623215, 624490, 624490, 624958, 626233, 626233, 626233, 626233, 626233, 626759, 626759, 626953, 627479, 628754, 628754, 629222, + 630497, 630497, 630497, 630497, 630497, 630497, 630497, 630497, 630497, 630497, 630497, 630497, 630497, 630497, 630497, 630497, + 630497, 631023, 631246, 631246, 631772, 631772, 631772, 631772, 631772, 631995, 632065, 632065, 632266, 632792, 632993, 632993, + 633487, 634762, 634762, 635230, 636505, 636505, 636505, 636505, 636505, 637031, 637031, 637208, 637702, 638977, 638977, 639418, + 640639, 643657, 644932, 645902, 648920, 648920, 648920, 648920, 648920, 650166, 650692, 651080, 652326, 655344, 656619, 657589, + 660607, 660607, 660607, 660607, 660607, 660607, 660607, 660607, 660607, 660607, 660607, 660607, 660607, 660607, 660607, 660607, + 660607, 661882, 661882, 662282, 663557, 663557, 663557, 663557, 663557, 664083, 664083, 664233, 664727, 666002, 666002, 666382, + 667603, 670621, 671896, 672866, 675884, 675884, 675884, 675884, 675884, 677130, 677624, 677995, 679192, 682210, 683431, 684367, + 687304, 695585, 698603, 701541, 709822, 712840, 714115, 715085, 718103, 721509, 722755, 724224, 727630, 735911, 738929, 741867, + 750148, 750148, 750148, 750148, 750148, 750148, 750148, 750148, 750148, 750148, 750148, 750148, 750148, 750148, 750148, 750148, + 750148, 753098, 754373, 755425, 758375, 759650, 759650, 760050, 761325, 762537, 763063, 763589, 764801, 767751, 769026, 770078, + 773028, 781309, 784327, 787265, 795546, 798564, 799839, 800809, 803827, 807233, 808479, 809948, 813354, 821635, 824653, 827591, + 835872, 838890, 840165, 841135, 844153, 845428, 845428, 845896, 847171, 848223, 848669, 849057, 850109, 853127, 854402, 855372, + 858390, 859665, 859665, 860133, 861408, 861934, 862135, 862135, 862629, 863029, 863029, 863185, 863565, 864840, 864840, 865281, + 866502, 867748, 868274, 868662, 869908, 870434, 870434, 870611, 871105, 871631, 871832, 872009, 872503, 873749, 874243, 874614, + 875811, 878829, 880104, 881074, 884092, 885367, 885367, 885808, 887029, 888081, 888505, 888876, 889896, 892914, 894135, 895071, + 898008, 901026, 901026, 902078, 905096, 906371, 906371, 906839, 908114, 909360, 909360, 909886, 911132, 914150, 914150, 915202, + 918220, 918220, 918220, 918220, 918220, 918220, 918220, 918220, 918220, 918220, 918220, 918220, 918220, 918220, 918220, 918220, + 918220, 919495, 919495, 919941, 921216, 921742, 921943, 921943, 922437, 922963, 922963, 923164, 923658, 924933, 924933, 925357, + 926578, 929596, 929596, 930648, 933666, 934941, 934941, 935382, 936603, 937849, 937849, 938343, 939540, 942558, 942558, 943578, + 946515, 954796, 957814, 960752, 969033, 972051, 973326, 974296, 977314, 980720, 981966, 983435, 986841, 995122, 998140, 1001078, +1009359, 1009359, 1009359, 1009359, 1009359, 1009359, 1009359, 1009359, 1009359, 1009359, 1009359, 1009359, 1009359, 1009359, 1009359, 1009359, +1009359, 1012309, 1013584, 1014636, 1017586, 1018861, 1018861, 1019241, 1020462, 1021674, 1022168, 1022662, 1023832, 1026782, 1028003, 1029023, +1031899, 1040180, 1043198, 1046136, 1054417, 1057435, 1058656, 1059592, 1062529, 1065935, 1067132, 1068530, 1071838, 1080119, 1083056, 1085923, +1094035, 1097053, 1098328, 1099298, 1102316, 1103591, 1103591, 1104059, 1105334, 1106386, 1106832, 1107220, 1108272, 1111290, 1112565, 1113535, +1116553, 1117828, 1117828, 1118296, 1119571, 1120097, 1120320, 1120320, 1120846, 1121246, 1121246, 1121416, 1121816, 1123091, 1123091, 1123559, +1124834, 1126080, 1126606, 1126994, 1128240, 1128766, 1128766, 1128960, 1129486, 1130012, 1130235, 1130429, 1130955, 1132201, 1132727, 1133115, +1134361, 1137379, 1138654, 1139624, 1142642, 1143917, 1143917, 1144385, 1145660, 1146712, 1147158, 1147546, 1148598, 1151616, 1152891, 1153861, +1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, +1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, +1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, +1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, 1156879, +1156879, 1158154, 1158154, 1158554, 1159829, 1160355, 1160578, 1160578, 1161104, 1161550, 1161550, 1161710, 1162156, 1163431, 1163431, 1163831, +1165106, 1165632, 1165855, 1165855, 1166381, 1166381, 1166381, 1166381, 1166381, 1166541, 1166611, 1166611, 1166761, 1167287, 1167488, 1167488, +1167982, 1168508, 1168508, 1168668, 1169194, 1169417, 1169487, 1169487, 1169688, 1169911, 1169911, 1169981, 1170182, 1170708, 1170708, 1170858, +1171352, 1172627, 1172627, 1173027, 1174302, 1174828, 1175029, 1175029, 1175523, 1175969, 1175969, 1176119, 1176543, 1177818, 1177818, 1178198, +1179419, 1182437, 1183712, 1184682, 1187700, 1188975, 1188975, 1189443, 1190718, 1191770, 1192216, 1192604, 1193656, 1196674, 1197949, 1198919, +1201937, 1203212, 1203212, 1203680, 1204955, 1205481, 1205682, 1205682, 1206176, 1206576, 1206576, 1206732, 1207112, 1208387, 1208387, 1208828, +1210049, 1211295, 1211821, 1212209, 1213455, 1213981, 1213981, 1214158, 1214652, 1215178, 1215379, 1215556, 1216050, 1217296, 1217790, 1218161, +1219358, 1222376, 1223651, 1224621, 1227639, 1228914, 1228914, 1229355, 1230576, 1231628, 1232052, 1232423, 1233443, 1236461, 1237682, 1238618, +1241555, 1242830, 1242830, 1243298, 1244573, 1245099, 1245322, 1245322, 1245848, 1246248, 1246248, 1246418, 1246818, 1248093, 1248093, 1248561, +1249836, 1250362, 1250585, 1250585, 1251111, 1251111, 1251111, 1251111, 1251111, 1251305, 1251375, 1251375, 1251552, 1252078, 1252279, 1252279, +1252773, 1253219, 1253219, 1253379, 1253825, 1254048, 1254048, 1254048, 1254249, 1254409, 1254409, 1254470, 1254620, 1255066, 1255066, 1255216, +1255640, 1256915, 1256915, 1257383, 1258658, 1259184, 1259385, 1259385, 1259879, 1260279, 1260279, 1260435, 1260815, 1262090, 1262090, 1262531, +1263752, 1264278, 1264501, 1264501, 1265027, 1265027, 1265027, 1265027, 1265027, 1265221, 1265291, 1265291, 1265468, 1265994, 1266195, 1266195, +1266689, 1266912, 1266982, 1266982, 1267183, 1267253, 1267268, 1267282, 1267328, 1267328, 1267328, 1267328, 1267328, 1267529, 1267575, 1267575, +1267720, 1267880, 1267950, 1267950, 1268100, 1268100, 1268100, 1268100, 1268100, 1268161, 1268176, 1268176, 1268218, 1268368, 1268414, 1268414, +1268530, 1269056, 1269257, 1269257, 1269751, 1269751, 1269751, 1269751, 1269751, 1269928, 1269974, 1269974, 1270105, 1270599, 1270744, 1270744, +1271136, 1271662, 1271662, 1271856, 1272382, 1272605, 1272675, 1272675, 1272876, 1273036, 1273036, 1273097, 1273247, 1273773, 1273773, 1273950, +1274444, 1274667, 1274737, 1274737, 1274938, 1274938, 1274938, 1274938, 1274938, 1275008, 1275023, 1275023, 1275069, 1275270, 1275316, 1275316, +1275461, 1275684, 1275684, 1275754, 1275955, 1276025, 1276040, 1276054, 1276100, 1276170, 1276170, 1276185, 1276231, 1276432, 1276432, 1276478, +1276623, 1277149, 1277149, 1277326, 1277820, 1278021, 1278067, 1278067, 1278212, 1278362, 1278362, 1278404, 1278520, 1279014, 1279014, 1279145, +1279537, 1280812, 1280812, 1281280, 1282555, 1283081, 1283282, 1283282, 1283776, 1284176, 1284176, 1284332, 1284712, 1285987, 1285987, 1286428, +1287649, 1288175, 1288376, 1288376, 1288870, 1288870, 1288870, 1288870, 1288870, 1289047, 1289093, 1289093, 1289224, 1289718, 1289863, 1289863, +1290255, 1290701, 1290701, 1290851, 1291275, 1291476, 1291476, 1291476, 1291621, 1291771, 1291771, 1291813, 1291929, 1292353, 1292353, 1292469, +1292815, 1294090, 1294090, 1294531, 1295752, 1296246, 1296391, 1296391, 1296783, 1297163, 1297163, 1297281, 1297593, 1298814, 1298814, 1299168, +1300199, 1301474, 1301474, 1301942, 1303217, 1303217, 1303217, 1303217, 1303217, 1303663, 1303663, 1303823, 1304269, 1305544, 1305544, 1306012, +1307287, 1307813, 1308036, 1308036, 1308562, 1308562, 1308562, 1308562, 1308562, 1308756, 1308826, 1308826, 1309003, 1309529, 1309730, 1309730, +1310224, 1310750, 1310750, 1310944, 1311470, 1311470, 1311470, 1311470, 1311470, 1311693, 1311693, 1311763, 1311964, 1312490, 1312490, 1312667, +1313161, 1314436, 1314436, 1314904, 1316179, 1316179, 1316179, 1316179, 1316179, 1316625, 1316625, 1316775, 1317199, 1318474, 1318474, 1318915, +1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, +1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, +1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, +1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, 1320136, +1320136, 1320662, 1320885, 1320885, 1321411, 1321411, 1321411, 1321411, 1321411, 1321634, 1321634, 1321634, 1321835, 1322361, 1322562, 1322562, +1323056, 1323279, 1323349, 1323349, 1323550, 1323620, 1323635, 1323649, 1323695, 1323695, 1323695, 1323695, 1323695, 1323896, 1323942, 1323942, +1324087, 1324310, 1324380, 1324380, 1324581, 1324581, 1324581, 1324581, 1324581, 1324651, 1324666, 1324680, 1324726, 1324927, 1324973, 1324973, +1325118, 1325644, 1325845, 1325845, 1326339, 1326339, 1326339, 1326339, 1326339, 1326540, 1326540, 1326540, 1326685, 1327179, 1327324, 1327324, +1327716, 1328991, 1328991, 1329459, 1330734, 1330734, 1330734, 1330734, 1330734, 1331180, 1331180, 1331330, 1331754, 1333029, 1333029, 1333470, +1334691, 1335217, 1335418, 1335418, 1335912, 1335912, 1335912, 1335912, 1335912, 1336089, 1336135, 1336135, 1336266, 1336760, 1336905, 1336905, +1337297, 1337823, 1337823, 1338000, 1338494, 1338494, 1338494, 1338494, 1338494, 1338695, 1338695, 1338741, 1338886, 1339380, 1339380, 1339511, +1339903, 1341178, 1341178, 1341619, 1342840, 1342840, 1342840, 1342840, 1342840, 1343264, 1343264, 1343380, 1343726, 1344947, 1344947, 1345301, +1346332, 1349350, 1350625, 1351595, 1354613, 1355888, 1355888, 1356356, 1357631, 1358683, 1359129, 1359517, 1360569, 1363587, 1364862, 1365832, +1368850, 1370125, 1370125, 1370593, 1371868, 1372394, 1372595, 1372595, 1373089, 1373489, 1373489, 1373645, 1374025, 1375300, 1375300, 1375741, +1376962, 1378208, 1378734, 1379122, 1380368, 1380894, 1380894, 1381071, 1381565, 1382091, 1382292, 1382469, 1382963, 1384209, 1384703, 1385074, +1386271, 1389289, 1390564, 1391534, 1394552, 1395827, 1395827, 1396268, 1397489, 1398541, 1398965, 1399336, 1400356, 1403374, 1404595, 1405531, +1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, +1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, +1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, +1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, 1408468, +1408468, 1409743, 1409743, 1410143, 1411418, 1411944, 1412145, 1412145, 1412639, 1413085, 1413085, 1413235, 1413659, 1414934, 1414934, 1415314, +1416535, 1417061, 1417262, 1417262, 1417756, 1417756, 1417756, 1417756, 1417756, 1417906, 1417952, 1417952, 1418068, 1418562, 1418707, 1418707, +1419099, 1419625, 1419625, 1419775, 1420269, 1420470, 1420516, 1420516, 1420661, 1420862, 1420862, 1420908, 1421053, 1421547, 1421547, 1421663, +1422055, 1423330, 1423330, 1423710, 1424931, 1425425, 1425570, 1425570, 1425962, 1426386, 1426386, 1426502, 1426848, 1428069, 1428069, 1428381, +1429412, 1432430, 1433705, 1434675, 1437693, 1438968, 1438968, 1439409, 1440630, 1441682, 1442106, 1442477, 1443497, 1446515, 1447736, 1448672, +1451609, 1452884, 1452884, 1453325, 1454546, 1455040, 1455185, 1455185, 1455577, 1455957, 1455957, 1456075, 1456387, 1457608, 1457608, 1457962, +1458993, 1460239, 1460733, 1461104, 1462301, 1462795, 1462795, 1462926, 1463318, 1463812, 1463957, 1464088, 1464480, 1465677, 1466069, 1466377, +1467394, 1470412, 1471633, 1472569, 1475506, 1476727, 1476727, 1477081, 1478112, 1479132, 1479478, 1479786, 1480672, 1483609, 1484640, 1485450, +1488056, 1491074, 1492349, 1493319, 1496337, 1497612, 1497612, 1498080, 1499355, 1500407, 1500853, 1501241, 1502293, 1505311, 1506586, 1507556, +1510574, 1510574, 1510574, 1510574, 1510574, 1510574, 1510574, 1510574, 1510574, 1510574, 1510574, 1510574, 1510574, 1510574, 1510574, 1510574, +1510574, 1511849, 1511849, 1512249, 1513524, 1514050, 1514273, 1514273, 1514799, 1515245, 1515245, 1515405, 1515851, 1517126, 1517126, 1517526, +1518801, 1521819, 1523094, 1524064, 1527082, 1528357, 1528357, 1528825, 1530100, 1531152, 1531598, 1531986, 1533038, 1536056, 1537331, 1538301, +1541319, 1542594, 1542594, 1543062, 1544337, 1544863, 1545086, 1545086, 1545612, 1546012, 1546012, 1546182, 1546582, 1547857, 1547857, 1548325, +1549600, 1550126, 1550349, 1550349, 1550875, 1550875, 1550875, 1550875, 1550875, 1551069, 1551139, 1551139, 1551316, 1551842, 1552043, 1552043, +1552537, 1552983, 1552983, 1553143, 1553589, 1553812, 1553812, 1553812, 1554013, 1554173, 1554173, 1554234, 1554384, 1554830, 1554830, 1554980, +1555404, 1556679, 1556679, 1557147, 1558422, 1558948, 1559149, 1559149, 1559643, 1560043, 1560043, 1560199, 1560579, 1561854, 1561854, 1562295, +1563516, 1564791, 1564791, 1565259, 1566534, 1566534, 1566534, 1566534, 1566534, 1566980, 1566980, 1567140, 1567586, 1568861, 1568861, 1569329, +1570604, 1570604, 1570604, 1570604, 1570604, 1570604, 1570604, 1570604, 1570604, 1570604, 1570604, 1570604, 1570604, 1570604, 1570604, 1570604, +1570604, 1571130, 1571353, 1571353, 1571879, 1571879, 1571879, 1571879, 1571879, 1572102, 1572102, 1572102, 1572303, 1572829, 1573030, 1573030, +1573524, 1574799, 1574799, 1575267, 1576542, 1576542, 1576542, 1576542, 1576542, 1576988, 1576988, 1577138, 1577562, 1578837, 1578837, 1579278, +1580499, 1583517, 1584792, 1585762, 1588780, 1590055, 1590055, 1590523, 1591798, 1592850, 1593296, 1593684, 1594736, 1597754, 1599029, 1599999, +1603017, 1603017, 1603017, 1603017, 1603017, 1603017, 1603017, 1603017, 1603017, 1603017, 1603017, 1603017, 1603017, 1603017, 1603017, 1603017, +1603017, 1604292, 1604292, 1604692, 1605967, 1606493, 1606694, 1606694, 1607188, 1607634, 1607634, 1607784, 1608208, 1609483, 1609483, 1609863, +1611084, 1614102, 1615377, 1616347, 1619365, 1620640, 1620640, 1621081, 1622302, 1623354, 1623778, 1624149, 1625169, 1628187, 1629408, 1630344, +1633281, 1634556, 1634556, 1635024, 1636299, 1636825, 1637048, 1637048, 1637574, 1637974, 1637974, 1638144, 1638544, 1639819, 1639819, 1640287, +1641562, 1642088, 1642311, 1642311, 1642837, 1642837, 1642837, 1642837, 1642837, 1643031, 1643101, 1643101, 1643278, 1643804, 1644005, 1644005, +1644499, 1644945, 1644945, 1645105, 1645551, 1645774, 1645774, 1645774, 1645975, 1646135, 1646135, 1646196, 1646346, 1646792, 1646792, 1646942, +1647366, 1648641, 1648641, 1649109, 1650384, 1650910, 1651111, 1651111, 1651605, 1652005, 1652005, 1652161, 1652541, 1653816, 1653816, 1654257, +1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, +1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, +1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, +1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, 1655478, +1655478, 1656004, 1656227, 1656227, 1656753, 1656753, 1656753, 1656753, 1656753, 1656913, 1656983, 1656983, 1657133, 1657659, 1657860, 1657860, +1658354, 1658577, 1658647, 1658647, 1658848, 1658918, 1658933, 1658947, 1658993, 1658993, 1658993, 1658993, 1658993, 1659194, 1659240, 1659240, +1659385, 1659608, 1659608, 1659608, 1659809, 1659809, 1659809, 1659809, 1659809, 1659879, 1659879, 1659879, 1659925, 1660126, 1660126, 1660126, +1660271, 1660797, 1660998, 1660998, 1661492, 1661492, 1661492, 1661492, 1661492, 1661642, 1661688, 1661688, 1661804, 1662298, 1662443, 1662443, +1662835, 1664110, 1664110, 1664578, 1665853, 1666379, 1666580, 1666580, 1667074, 1667474, 1667474, 1667630, 1668010, 1669285, 1669285, 1669726, +1670947, 1671473, 1671674, 1671674, 1672168, 1672168, 1672168, 1672168, 1672168, 1672345, 1672391, 1672391, 1672522, 1673016, 1673161, 1673161, +1673553, 1673999, 1673999, 1674149, 1674573, 1674774, 1674774, 1674774, 1674919, 1675069, 1675069, 1675111, 1675227, 1675651, 1675651, 1675767, +1676113, 1677388, 1677388, 1677829, 1679050, 1679544, 1679689, 1679689, 1680081, 1680461, 1680461, 1680579, 1680891, 1682112, 1682112, 1682466, +1683497, 1684772, 1684772, 1685240, 1686515, 1687041, 1687264, 1687264, 1687790, 1688190, 1688190, 1688360, 1688760, 1690035, 1690035, 1690503, +1691778, 1691778, 1691778, 1691778, 1691778, 1691778, 1691778, 1691778, 1691778, 1691778, 1691778, 1691778, 1691778, 1691778, 1691778, 1691778, +1691778, 1692304, 1692527, 1692527, 1693053, 1693053, 1693053, 1693053, 1693053, 1693213, 1693283, 1693283, 1693433, 1693959, 1694160, 1694160, +1694654, 1695929, 1695929, 1696397, 1697672, 1698198, 1698399, 1698399, 1698893, 1699293, 1699293, 1699449, 1699829, 1701104, 1701104, 1701545, +1702766, 1703292, 1703515, 1703515, 1704041, 1704041, 1704041, 1704041, 1704041, 1704235, 1704305, 1704305, 1704482, 1705008, 1705209, 1705209, +1705703, 1705926, 1705996, 1705996, 1706197, 1706267, 1706282, 1706296, 1706342, 1706342, 1706342, 1706342, 1706342, 1706543, 1706589, 1706589, +1706734, 1706894, 1706964, 1706964, 1707114, 1707114, 1707114, 1707114, 1707114, 1707175, 1707190, 1707190, 1707232, 1707382, 1707428, 1707428, +1707544, 1708070, 1708271, 1708271, 1708765, 1708765, 1708765, 1708765, 1708765, 1708942, 1708988, 1708988, 1709119, 1709613, 1709758, 1709758, +1710150, 1710676, 1710899, 1710899, 1711425, 1711425, 1711425, 1711425, 1711425, 1711619, 1711689, 1711689, 1711866, 1712392, 1712593, 1712593, +1713087, 1713087, 1713087, 1713087, 1713087, 1713087, 1713087, 1713087, 1713087, 1713087, 1713087, 1713087, 1713087, 1713087, 1713087, 1713087, +1713087, 1713310, 1713380, 1713380, 1713581, 1713651, 1713666, 1713680, 1713726, 1713726, 1713726, 1713726, 1713726, 1713927, 1713973, 1713973, +1714118, 1714644, 1714845, 1714845, 1715339, 1715339, 1715339, 1715339, 1715339, 1715516, 1715562, 1715562, 1715693, 1716187, 1716332, 1716332, +1716724, 1717999, 1717999, 1718467, 1719742, 1720268, 1720469, 1720469, 1720963, 1721363, 1721363, 1721519, 1721899, 1723174, 1723174, 1723615, +1724836, 1724836, 1724836, 1724836, 1724836, 1724836, 1724836, 1724836, 1724836, 1724836, 1724836, 1724836, 1724836, 1724836, 1724836, 1724836, +1724836, 1725362, 1725563, 1725563, 1726057, 1726057, 1726057, 1726057, 1726057, 1726207, 1726253, 1726253, 1726369, 1726863, 1727008, 1727008, +1727400, 1728675, 1728675, 1729116, 1730337, 1730831, 1730976, 1730976, 1731368, 1731748, 1731748, 1731866, 1732178, 1733399, 1733399, 1733753, +1734784, 1737802, 1739077, 1740047, 1743065, 1744340, 1744340, 1744808, 1746083, 1747135, 1747581, 1747969, 1749021, 1752039, 1753314, 1754284, +1757302, 1757302, 1757302, 1757302, 1757302, 1757302, 1757302, 1757302, 1757302, 1757302, 1757302, 1757302, 1757302, 1757302, 1757302, 1757302, +1757302, 1758577, 1758577, 1758977, 1760252, 1760778, 1760979, 1760979, 1761473, 1761919, 1761919, 1762069, 1762493, 1763768, 1763768, 1764148, +1765369, 1768387, 1769662, 1770632, 1773650, 1774925, 1774925, 1775366, 1776587, 1777639, 1778063, 1778434, 1779454, 1782472, 1783693, 1784629, +1787566, 1788841, 1788841, 1789309, 1790584, 1791110, 1791311, 1791311, 1791805, 1792205, 1792205, 1792361, 1792741, 1794016, 1794016, 1794457, +1795678, 1796204, 1796405, 1796405, 1796899, 1796899, 1796899, 1796899, 1796899, 1797076, 1797122, 1797122, 1797253, 1797747, 1797892, 1797892, +1798284, 1798730, 1798730, 1798880, 1799304, 1799505, 1799505, 1799505, 1799650, 1799800, 1799800, 1799842, 1799958, 1800382, 1800382, 1800498, +1800844, 1802119, 1802119, 1802560, 1803781, 1804275, 1804420, 1804420, 1804812, 1805192, 1805192, 1805310, 1805622, 1806843, 1806843, 1807197, +1808228, 1809503, 1809503, 1809971, 1811246, 1811246, 1811246, 1811246, 1811246, 1811692, 1811692, 1811842, 1812266, 1813541, 1813541, 1813982, +1815203, 1815203, 1815203, 1815203, 1815203, 1815203, 1815203, 1815203, 1815203, 1815203, 1815203, 1815203, 1815203, 1815203, 1815203, 1815203, +1815203, 1815729, 1815930, 1815930, 1816424, 1816424, 1816424, 1816424, 1816424, 1816625, 1816625, 1816625, 1816770, 1817264, 1817409, 1817409, +1817801, 1819076, 1819076, 1819517, 1820738, 1820738, 1820738, 1820738, 1820738, 1821162, 1821162, 1821278, 1821624, 1822845, 1822845, 1823199, +1824230, 1827248, 1828523, 1829493, 1832511, 1833786, 1833786, 1834227, 1835448, 1836500, 1836924, 1837295, 1838315, 1841333, 1842554, 1843490, +1846427, 1846427, 1846427, 1846427, 1846427, 1846427, 1846427, 1846427, 1846427, 1846427, 1846427, 1846427, 1846427, 1846427, 1846427, 1846427, +1846427, 1847702, 1847702, 1848082, 1849303, 1849797, 1849942, 1849942, 1850334, 1850758, 1850758, 1850874, 1851220, 1852441, 1852441, 1852753, +1853784, 1856802, 1858023, 1858959, 1861896, 1863117, 1863117, 1863471, 1864502, 1865522, 1865868, 1866176, 1867062, 1869999, 1871030, 1871840, +1874446, 1882727, 1885745, 1888683, 1896964, 1899982, 1901257, 1902227, 1905245, 1908651, 1909897, 1911366, 1914772, 1923053, 1926071, 1929009, +1937290, 1937290, 1937290, 1937290, 1937290, 1937290, 1937290, 1937290, 1937290, 1937290, 1937290, 1937290, 1937290, 1937290, 1937290, 1937290, +1937290, 1940240, 1941515, 1942567, 1945517, 1946792, 1946792, 1947192, 1948467, 1949679, 1950205, 1950731, 1951943, 1954893, 1956168, 1957220, +1960170, 1968451, 1971469, 1974407, 1982688, 1985706, 1986981, 1987951, 1990969, 1994375, 1995621, 1997090, 2000496, 2008777, 2011795, 2014733, +2023014, 2026032, 2027307, 2028277, 2031295, 2032570, 2032570, 2033038, 2034313, 2035365, 2035811, 2036199, 2037251, 2040269, 2041544, 2042514, +2045532, 2046807, 2046807, 2047275, 2048550, 2049076, 2049277, 2049277, 2049771, 2050171, 2050171, 2050327, 2050707, 2051982, 2051982, 2052423, +2053644, 2054890, 2055416, 2055804, 2057050, 2057576, 2057576, 2057753, 2058247, 2058773, 2058974, 2059151, 2059645, 2060891, 2061385, 2061756, +2062953, 2065971, 2067246, 2068216, 2071234, 2072509, 2072509, 2072950, 2074171, 2075223, 2075647, 2076018, 2077038, 2080056, 2081277, 2082213, +2085150, 2088168, 2088168, 2089220, 2092238, 2093513, 2093513, 2093981, 2095256, 2096502, 2096502, 2097028, 2098274, 2101292, 2101292, 2102344, +2105362, 2105362, 2105362, 2105362, 2105362, 2105362, 2105362, 2105362, 2105362, 2105362, 2105362, 2105362, 2105362, 2105362, 2105362, 2105362, +2105362, 2106637, 2106637, 2107083, 2108358, 2108884, 2109085, 2109085, 2109579, 2110105, 2110105, 2110306, 2110800, 2112075, 2112075, 2112499, +2113720, 2116738, 2116738, 2117790, 2120808, 2122083, 2122083, 2122524, 2123745, 2124991, 2124991, 2125485, 2126682, 2129700, 2129700, 2130720, +2133657, 2141938, 2144956, 2147894, 2156175, 2159193, 2160468, 2161438, 2164456, 2167862, 2169108, 2170577, 2173983, 2182264, 2185282, 2188220, +2196501, 2196501, 2196501, 2196501, 2196501, 2196501, 2196501, 2196501, 2196501, 2196501, 2196501, 2196501, 2196501, 2196501, 2196501, 2196501, +2196501, 2199451, 2200726, 2201778, 2204728, 2206003, 2206003, 2206383, 2207604, 2208816, 2209310, 2209804, 2210974, 2213924, 2215145, 2216165, +2219041, 2227322, 2230340, 2233278, 2241559, 2244577, 2245798, 2246734, 2249671, 2253077, 2254274, 2255672, 2258980, 2267261, 2270198, 2273065, +2281177, 2284195, 2285470, 2286440, 2289458, 2290733, 2290733, 2291201, 2292476, 2293528, 2293974, 2294362, 2295414, 2298432, 2299707, 2300677, +2303695, 2304970, 2304970, 2305438, 2306713, 2307239, 2307440, 2307440, 2307934, 2308334, 2308334, 2308490, 2308870, 2310145, 2310145, 2310586, +2311807, 2313053, 2313579, 2313967, 2315213, 2315739, 2315739, 2315916, 2316410, 2316936, 2317137, 2317314, 2317808, 2319054, 2319548, 2319919, +2321116, 2324134, 2325409, 2326379, 2329397, 2330672, 2330672, 2331113, 2332334, 2333386, 2333810, 2334181, 2335201, 2338219, 2339440, 2340376, +2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, +2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, +2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, +2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, 2343313, +2343313, 2344588, 2344588, 2344988, 2346263, 2346789, 2346990, 2346990, 2347484, 2347930, 2347930, 2348080, 2348504, 2349779, 2349779, 2350159, +2351380, 2351906, 2352107, 2352107, 2352601, 2352601, 2352601, 2352601, 2352601, 2352751, 2352797, 2352797, 2352913, 2353407, 2353552, 2353552, +2353944, 2354470, 2354470, 2354620, 2355114, 2355315, 2355361, 2355361, 2355506, 2355707, 2355707, 2355753, 2355898, 2356392, 2356392, 2356508, +2356900, 2358175, 2358175, 2358555, 2359776, 2360270, 2360415, 2360415, 2360807, 2361231, 2361231, 2361347, 2361693, 2362914, 2362914, 2363226, +2364257, 2367275, 2368550, 2369520, 2372538, 2373813, 2373813, 2374254, 2375475, 2376527, 2376951, 2377322, 2378342, 2381360, 2382581, 2383517, +2386454, 2387729, 2387729, 2388170, 2389391, 2389885, 2390030, 2390030, 2390422, 2390802, 2390802, 2390920, 2391232, 2392453, 2392453, 2392807, +2393838, 2395084, 2395578, 2395949, 2397146, 2397640, 2397640, 2397771, 2398163, 2398657, 2398802, 2398933, 2399325, 2400522, 2400914, 2401222, +2402239, 2405257, 2406478, 2407414, 2410351, 2411572, 2411572, 2411926, 2412957, 2413977, 2414323, 2414631, 2415517, 2418454, 2419485, 2420295, +2422901, 2425919, 2427194, 2428164, 2431182, 2431182, 2431182, 2431182, 2431182, 2432428, 2432954, 2433342, 2434588, 2437606, 2438881, 2439851, +2442869, 2442869, 2442869, 2442869, 2442869, 2442869, 2442869, 2442869, 2442869, 2442869, 2442869, 2442869, 2442869, 2442869, 2442869, 2442869, +2442869, 2444144, 2444144, 2444544, 2445819, 2445819, 2445819, 2445819, 2445819, 2446345, 2446345, 2446495, 2446989, 2448264, 2448264, 2448644, +2449865, 2452883, 2454158, 2455128, 2458146, 2458146, 2458146, 2458146, 2458146, 2459392, 2459886, 2460257, 2461454, 2464472, 2465693, 2466629, +2469566, 2470841, 2470841, 2471309, 2472584, 2473110, 2473311, 2473311, 2473805, 2474205, 2474205, 2474361, 2474741, 2476016, 2476016, 2476457, +2477678, 2477678, 2477678, 2477678, 2477678, 2477678, 2477678, 2477678, 2477678, 2477678, 2477678, 2477678, 2477678, 2477678, 2477678, 2477678, +2477678, 2478204, 2478204, 2478381, 2478875, 2479076, 2479122, 2479122, 2479267, 2479417, 2479417, 2479459, 2479575, 2480069, 2480069, 2480200, +2480592, 2481867, 2481867, 2482308, 2483529, 2484023, 2484168, 2484168, 2484560, 2484940, 2484940, 2485058, 2485370, 2486591, 2486591, 2486945, +2487976, 2489251, 2489251, 2489719, 2490994, 2490994, 2490994, 2490994, 2490994, 2491520, 2491520, 2491697, 2492191, 2493466, 2493466, 2493907, +2495128, 2495128, 2495128, 2495128, 2495128, 2495128, 2495128, 2495128, 2495128, 2495128, 2495128, 2495128, 2495128, 2495128, 2495128, 2495128, +2495128, 2495654, 2495855, 2495855, 2496349, 2496349, 2496349, 2496349, 2496349, 2496550, 2496596, 2496596, 2496741, 2497235, 2497380, 2497380, +2497772, 2499047, 2499047, 2499488, 2500709, 2500709, 2500709, 2500709, 2500709, 2501203, 2501203, 2501334, 2501726, 2502947, 2502947, 2503301, +2504332, 2507350, 2508625, 2509595, 2512613, 2512613, 2512613, 2512613, 2512613, 2513859, 2514353, 2514724, 2515921, 2518939, 2520160, 2521096, +2524033, 2524033, 2524033, 2524033, 2524033, 2524033, 2524033, 2524033, 2524033, 2524033, 2524033, 2524033, 2524033, 2524033, 2524033, 2524033, +2524033, 2525308, 2525308, 2525688, 2526909, 2526909, 2526909, 2526909, 2526909, 2527403, 2527403, 2527519, 2527911, 2529132, 2529132, 2529444, +2530475, 2533493, 2534714, 2535650, 2538587, 2538587, 2538587, 2538587, 2538587, 2539784, 2540176, 2540484, 2541501, 2544438, 2545469, 2546279, +2548885, 2557166, 2560184, 2563122, 2571403, 2574421, 2575696, 2576666, 2579684, 2583090, 2584336, 2585805, 2589211, 2597492, 2600510, 2603448, +2611729, 2611729, 2611729, 2611729, 2611729, 2611729, 2611729, 2611729, 2611729, 2611729, 2611729, 2611729, 2611729, 2611729, 2611729, 2611729, +2611729, 2614679, 2615954, 2617006, 2619956, 2621231, 2621231, 2621611, 2622832, 2624044, 2624538, 2625032, 2626202, 2629152, 2630373, 2631393, +2634269, 2642550, 2645568, 2648506, 2656787, 2659805, 2661026, 2661962, 2664899, 2668305, 2669502, 2670900, 2674208, 2682489, 2685426, 2688293, +2696405, 2699423, 2700698, 2701668, 2704686, 2705961, 2705961, 2706402, 2707623, 2708675, 2709099, 2709470, 2710490, 2713508, 2714729, 2715665, +2718602, 2719877, 2719877, 2720318, 2721539, 2722033, 2722178, 2722178, 2722570, 2722950, 2722950, 2723068, 2723380, 2724601, 2724601, 2724955, +2725986, 2727232, 2727726, 2728097, 2729294, 2729788, 2729788, 2729919, 2730311, 2730805, 2730950, 2731081, 2731473, 2732670, 2733062, 2733370, +2734387, 2737405, 2738626, 2739562, 2742499, 2743720, 2743720, 2744074, 2745105, 2746125, 2746471, 2746779, 2747665, 2750602, 2751633, 2752443, +2755049, 2758067, 2758067, 2759119, 2762137, 2763412, 2763412, 2763853, 2765074, 2766320, 2766320, 2766814, 2768011, 2771029, 2771029, 2772049, +2774986, 2774986, 2774986, 2774986, 2774986, 2774986, 2774986, 2774986, 2774986, 2774986, 2774986, 2774986, 2774986, 2774986, 2774986, 2774986, +2774986, 2776261, 2776261, 2776685, 2777906, 2778400, 2778545, 2778545, 2778937, 2779431, 2779431, 2779576, 2779968, 2781189, 2781189, 2781535, +2782566, 2785584, 2785584, 2786604, 2789541, 2790762, 2790762, 2791116, 2792147, 2793344, 2793344, 2793736, 2794753, 2797690, 2797690, 2798576, +2801182, 2809463, 2812481, 2815419, 2823700, 2826718, 2827939, 2828875, 2831812, 2835218, 2836415, 2837813, 2841121, 2849402, 2852339, 2855206, +2863318, 2863318, 2863318, 2863318, 2863318, 2863318, 2863318, 2863318, 2863318, 2863318, 2863318, 2863318, 2863318, 2863318, 2863318, 2863318, +2863318, 2866268, 2867489, 2868509, 2871385, 2872606, 2872606, 2872918, 2873949, 2875119, 2875511, 2875903, 2876905, 2879781, 2880812, 2881698, +2884262, 2892543, 2895480, 2898347, 2906459, 2909396, 2910427, 2911237, 2913843, 2917151, 2918168, 2919330, 2922244, 2930356, 2932962, 2935522, diff --git a/src/core/short_code/offset/range_prefix/offset_0xD.inc b/src/core/short_code/offset/range_prefix/offset_0xD.inc new file mode 100644 index 0000000..a907d65 --- /dev/null +++ b/src/core/short_code/offset/range_prefix/offset_0xD.inc @@ -0,0 +1,256 @@ + 0, 6466, 8786, 11114, 17580, 19900, 20885, 21726, 24046, 26336, 27161, 28131, 30421, 36887, 39207, 41535, + 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, 48001, + 48001, 50319, 51304, 52144, 54462, 55447, 55447, 55795, 56780, 57600, 57950, 58300, 59120, 61438, 62423, 63263, + 65581, 72047, 74367, 76695, 83161, 85481, 86466, 87307, 89627, 91917, 92742, 93712, 96002, 102468, 104788, 107116, + 113582, 115902, 116887, 117728, 120048, 121033, 121033, 121383, 122368, 123184, 123532, 123880, 124696, 127016, 128001, 128842, + 131162, 132147, 132147, 132497, 133482, 133832, 133977, 134117, 134467, 134815, 134815, 134960, 135308, 136293, 136293, 136643, + 137628, 138453, 138803, 139093, 139918, 140268, 140268, 140393, 140743, 141083, 141228, 141373, 141713, 142538, 142888, 143178, + 144003, 146323, 147308, 148149, 150469, 151454, 151454, 151804, 152789, 153605, 153953, 154301, 155117, 157437, 158422, 159263, + 161583, 163903, 163903, 164719, 167039, 168024, 168024, 168374, 169359, 170184, 170184, 170524, 171349, 173669, 173669, 174485, + 176805, 176805, 176805, 176805, 176805, 176805, 176805, 176805, 176805, 176805, 176805, 176805, 176805, 176805, 176805, 176805, + 176805, 177790, 177790, 178138, 179123, 179473, 179618, 179758, 180108, 180458, 180458, 180603, 180953, 181938, 181938, 182286, + 183271, 185591, 185591, 186407, 188727, 189712, 189712, 190062, 191047, 191872, 191872, 192212, 193037, 195357, 195357, 196173, + 198493, 204959, 207279, 209607, 216073, 218393, 219378, 220219, 222539, 224829, 225654, 226624, 228914, 235380, 237700, 240028, + 246494, 246494, 246494, 246494, 246494, 246494, 246494, 246494, 246494, 246494, 246494, 246494, 246494, 246494, 246494, 246494, + 246494, 248812, 249797, 250637, 252955, 253940, 253940, 254288, 255273, 256093, 256443, 256793, 257613, 259931, 260916, 261756, + 264074, 270540, 272860, 275188, 281654, 283974, 284959, 285800, 288120, 290410, 291235, 292205, 294495, 300961, 303281, 305609, + 312075, 314395, 315380, 316221, 318541, 319526, 319526, 319876, 320861, 321677, 322025, 322373, 323189, 325509, 326494, 327335, + 329655, 330640, 330640, 330990, 331975, 332325, 332470, 332610, 332960, 333308, 333308, 333453, 333801, 334786, 334786, 335136, + 336121, 336946, 337296, 337586, 338411, 338761, 338761, 338886, 339236, 339576, 339721, 339866, 340206, 341031, 341381, 341671, + 342496, 344816, 345801, 346642, 348962, 349947, 349947, 350297, 351282, 352098, 352446, 352794, 353610, 355930, 356915, 357756, + 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, + 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, + 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, + 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, 360076, + 360076, 361061, 361061, 361409, 362394, 362744, 362889, 363029, 363379, 363727, 363727, 363871, 364219, 365204, 365204, 365552, + 366537, 366887, 367032, 367172, 367522, 367522, 367522, 367522, 367522, 367642, 367696, 367741, 367855, 368205, 368340, 368472, + 368806, 369156, 369156, 369276, 369626, 369771, 369825, 369825, 369960, 370105, 370105, 370159, 370294, 370644, 370644, 370758, + 371092, 372077, 372077, 372425, 373410, 373760, 373895, 374027, 374361, 374709, 374709, 374844, 375177, 376162, 376162, 376495, + 377446, 379766, 380751, 381592, 383912, 384897, 384897, 385247, 386232, 387048, 387396, 387744, 388560, 390880, 391865, 392706, + 395026, 396011, 396011, 396361, 397346, 397696, 397831, 397963, 398297, 398645, 398645, 398780, 399113, 400098, 400098, 400432, + 401383, 402208, 402558, 402848, 403673, 404023, 404023, 404140, 404474, 404814, 404949, 405084, 405410, 406235, 406569, 406849, + 407650, 409970, 410955, 411796, 414116, 415101, 415101, 415435, 416386, 417202, 417535, 417868, 418663, 420983, 421934, 422750, + 425020, 427340, 428325, 429166, 431486, 431486, 431486, 431486, 431486, 432311, 432661, 432951, 433776, 436096, 437081, 437922, + 440242, 440242, 440242, 440242, 440242, 440242, 440242, 440242, 440242, 440242, 440242, 440242, 440242, 440242, 440242, 440242, + 440242, 441227, 441227, 441575, 442560, 442560, 442560, 442560, 442560, 442910, 442910, 443030, 443380, 444365, 444365, 444713, + 445698, 448018, 449003, 449844, 452164, 452164, 452164, 452164, 452164, 452989, 453339, 453629, 454454, 456774, 457759, 458600, + 460920, 461905, 461905, 462255, 463240, 463590, 463735, 463875, 464225, 464573, 464573, 464718, 465066, 466051, 466051, 466401, + 467386, 467386, 467386, 467386, 467386, 467386, 467386, 467386, 467386, 467386, 467386, 467386, 467386, 467386, 467386, 467386, + 467386, 467736, 467736, 467861, 468211, 468356, 468410, 468410, 468545, 468665, 468665, 468711, 468825, 469175, 469175, 469292, + 469626, 470611, 470611, 470961, 471946, 472296, 472431, 472563, 472897, 473245, 473245, 473380, 473713, 474698, 474698, 475032, + 475983, 476968, 476968, 477318, 478303, 478303, 478303, 478303, 478303, 478653, 478653, 478778, 479128, 480113, 480113, 480463, + 481448, 481448, 481448, 481448, 481448, 481448, 481448, 481448, 481448, 481448, 481448, 481448, 481448, 481448, 481448, 481448, + 481448, 481798, 481943, 482083, 482433, 482433, 482433, 482433, 482433, 482578, 482632, 482632, 482767, 483117, 483252, 483384, + 483718, 484703, 484703, 485053, 486038, 486038, 486038, 486038, 486038, 486388, 486388, 486505, 486839, 487824, 487824, 488158, + 489109, 491429, 492414, 493255, 495575, 495575, 495575, 495575, 495575, 496400, 496750, 497040, 497865, 500185, 501170, 502011, + 504331, 504331, 504331, 504331, 504331, 504331, 504331, 504331, 504331, 504331, 504331, 504331, 504331, 504331, 504331, 504331, + 504331, 505316, 505316, 505664, 506649, 506649, 506649, 506649, 506649, 506999, 506999, 507113, 507447, 508432, 508432, 508765, + 509716, 512036, 513021, 513862, 516182, 516182, 516182, 516182, 516182, 517007, 517341, 517621, 518422, 520742, 521693, 522509, + 524779, 531245, 533565, 535893, 542359, 544679, 545664, 546505, 548825, 551115, 551940, 552910, 555200, 561666, 563986, 566314, + 572780, 572780, 572780, 572780, 572780, 572780, 572780, 572780, 572780, 572780, 572780, 572780, 572780, 572780, 572780, 572780, + 572780, 575098, 576083, 576923, 579241, 580226, 580226, 580574, 581559, 582379, 582729, 583079, 583899, 586217, 587202, 588042, + 590360, 596826, 599146, 601474, 607940, 610260, 611245, 612086, 614406, 616696, 617521, 618491, 620781, 627247, 629567, 631895, + 638361, 640681, 641666, 642507, 644827, 645812, 645812, 646162, 647147, 647963, 648311, 648659, 649475, 651795, 652780, 653621, + 655941, 656926, 656926, 657276, 658261, 658611, 658746, 658878, 659212, 659560, 659560, 659695, 660028, 661013, 661013, 661347, + 662298, 663123, 663473, 663763, 664588, 664938, 664938, 665055, 665389, 665729, 665864, 665999, 666325, 667150, 667484, 667764, + 668565, 670885, 671870, 672711, 675031, 676016, 676016, 676350, 677301, 678117, 678450, 678783, 679578, 681898, 682849, 683665, + 685935, 688255, 688255, 689071, 691391, 692376, 692376, 692726, 693711, 694536, 694536, 694876, 695701, 698021, 698021, 698837, + 701157, 701157, 701157, 701157, 701157, 701157, 701157, 701157, 701157, 701157, 701157, 701157, 701157, 701157, 701157, 701157, + 701157, 702142, 702142, 702490, 703475, 703825, 703960, 704092, 704426, 704776, 704776, 704911, 705245, 706230, 706230, 706563, + 707514, 709834, 709834, 710650, 712970, 713955, 713955, 714289, 715240, 716065, 716065, 716391, 717192, 719512, 719512, 720307, + 722577, 729043, 731363, 733691, 740157, 742477, 743462, 744303, 746623, 748913, 749738, 750708, 752998, 759464, 761784, 764112, + 770578, 770578, 770578, 770578, 770578, 770578, 770578, 770578, 770578, 770578, 770578, 770578, 770578, 770578, 770578, 770578, + 770578, 772896, 773881, 774721, 777039, 778024, 778024, 778357, 779308, 780128, 780462, 780796, 781594, 783912, 784863, 785679, + 787948, 794414, 796734, 799062, 805528, 807848, 808799, 809615, 811885, 814175, 814976, 815912, 818152, 824618, 826888, 829165, + 835522, 837842, 838827, 839668, 841988, 842973, 842973, 843323, 844308, 845124, 845472, 845820, 846636, 848956, 849941, 850782, + 853102, 854087, 854087, 854437, 855422, 855772, 855917, 856057, 856407, 856755, 856755, 856900, 857248, 858233, 858233, 858583, + 859568, 860393, 860743, 861033, 861858, 862208, 862208, 862333, 862683, 863023, 863168, 863313, 863653, 864478, 864828, 865118, + 865943, 868263, 869248, 870089, 872409, 873394, 873394, 873744, 874729, 875545, 875893, 876241, 877057, 879377, 880362, 881203, + 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, + 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, + 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, + 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, 883523, + 883523, 884508, 884508, 884856, 885841, 886191, 886336, 886476, 886826, 887174, 887174, 887318, 887666, 888651, 888651, 888999, + 889984, 890334, 890479, 890619, 890969, 890969, 890969, 890969, 890969, 891089, 891143, 891188, 891302, 891652, 891787, 891919, + 892253, 892603, 892603, 892723, 893073, 893218, 893272, 893272, 893407, 893552, 893552, 893606, 893741, 894091, 894091, 894205, + 894539, 895524, 895524, 895872, 896857, 897207, 897342, 897474, 897808, 898156, 898156, 898291, 898624, 899609, 899609, 899942, + 900893, 903213, 904198, 905039, 907359, 908344, 908344, 908694, 909679, 910495, 910843, 911191, 912007, 914327, 915312, 916153, + 918473, 919458, 919458, 919808, 920793, 921143, 921278, 921410, 921744, 922092, 922092, 922227, 922560, 923545, 923545, 923879, + 924830, 925655, 926005, 926295, 927120, 927470, 927470, 927587, 927921, 928261, 928396, 928531, 928857, 929682, 930016, 930296, + 931097, 933417, 934402, 935243, 937563, 938548, 938548, 938882, 939833, 940649, 940982, 941315, 942110, 944430, 945381, 946197, + 948467, 949452, 949452, 949802, 950787, 951137, 951282, 951422, 951772, 952120, 952120, 952265, 952613, 953598, 953598, 953948, + 954933, 955283, 955428, 955568, 955918, 955918, 955918, 955918, 955918, 956043, 956089, 956135, 956252, 956602, 956737, 956869, + 957203, 957551, 957551, 957671, 958019, 958164, 958164, 958217, 958352, 958496, 958496, 958550, 958685, 959033, 959033, 959147, + 959480, 960465, 960465, 960815, 961800, 962150, 962285, 962417, 962751, 963099, 963099, 963234, 963567, 964552, 964552, 964886, + 965837, 966187, 966332, 966472, 966822, 966822, 966822, 966822, 966822, 966947, 966993, 967039, 967156, 967506, 967641, 967773, + 968107, 968252, 968306, 968306, 968441, 968495, 968508, 968508, 968546, 968599, 968612, 968612, 968650, 968785, 968823, 968823, + 968928, 969048, 969102, 969147, 969261, 969261, 969261, 969261, 969261, 969307, 969320, 969332, 969366, 969480, 969518, 969552, + 969644, 969994, 970129, 970261, 970595, 970595, 970595, 970595, 970595, 970712, 970746, 970780, 970873, 971207, 971312, 971416, + 971694, 972044, 972044, 972169, 972519, 972664, 972718, 972718, 972853, 972973, 972973, 973019, 973133, 973483, 973483, 973600, + 973934, 974079, 974133, 974133, 974268, 974268, 974268, 974268, 974268, 974314, 974327, 974327, 974361, 974496, 974534, 974534, + 974639, 974784, 974784, 974830, 974965, 975019, 975032, 975032, 975070, 975124, 975124, 975137, 975175, 975310, 975310, 975344, + 975449, 975799, 975799, 975916, 976250, 976385, 976423, 976423, 976528, 976642, 976642, 976676, 976768, 977102, 977102, 977195, + 977473, 978458, 978458, 978808, 979793, 980143, 980278, 980410, 980744, 981092, 981092, 981227, 981560, 982545, 982545, 982879, + 983830, 984180, 984315, 984447, 984781, 984781, 984781, 984781, 984781, 984898, 984932, 984966, 985059, 985393, 985498, 985602, + 985880, 986228, 986228, 986342, 986675, 986810, 986810, 986848, 986953, 987088, 987088, 987126, 987231, 987564, 987564, 987656, + 987934, 988919, 988919, 989253, 990204, 990538, 990643, 990747, 991025, 991358, 991358, 991463, 991741, 992692, 992692, 992970, + 993791, 994776, 994776, 995126, 996111, 996111, 996111, 996111, 996111, 996459, 996459, 996579, 996927, 997912, 997912, 998262, + 999247, 999597, 999742, 999882, 1000232, 1000232, 1000232, 1000232, 1000232, 1000357, 1000403, 1000449, 1000566, 1000916, 1001051, 1001183, +1001517, 1001867, 1001867, 1001992, 1002342, 1002342, 1002342, 1002342, 1002342, 1002487, 1002487, 1002533, 1002668, 1003018, 1003018, 1003135, +1003469, 1004454, 1004454, 1004804, 1005789, 1005789, 1005789, 1005789, 1005789, 1006137, 1006137, 1006251, 1006584, 1007569, 1007569, 1007903, +1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, +1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, +1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, +1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, 1008854, +1008854, 1009204, 1009349, 1009489, 1009839, 1009839, 1009839, 1009839, 1009839, 1009984, 1009984, 1010037, 1010172, 1010522, 1010657, 1010789, +1011123, 1011268, 1011322, 1011322, 1011457, 1011511, 1011524, 1011524, 1011562, 1011615, 1011628, 1011628, 1011666, 1011801, 1011839, 1011839, +1011944, 1012089, 1012143, 1012143, 1012278, 1012278, 1012278, 1012278, 1012278, 1012332, 1012345, 1012345, 1012383, 1012518, 1012556, 1012556, +1012661, 1013011, 1013146, 1013278, 1013612, 1013612, 1013612, 1013612, 1013612, 1013747, 1013747, 1013785, 1013890, 1014224, 1014329, 1014433, +1014711, 1015696, 1015696, 1016046, 1017031, 1017031, 1017031, 1017031, 1017031, 1017379, 1017379, 1017493, 1017826, 1018811, 1018811, 1019145, +1020096, 1020446, 1020581, 1020713, 1021047, 1021047, 1021047, 1021047, 1021047, 1021164, 1021198, 1021232, 1021325, 1021659, 1021764, 1021868, +1022146, 1022496, 1022496, 1022613, 1022947, 1022947, 1022947, 1022947, 1022947, 1023082, 1023082, 1023116, 1023221, 1023555, 1023555, 1023648, +1023926, 1024911, 1024911, 1025245, 1026196, 1026196, 1026196, 1026196, 1026196, 1026529, 1026529, 1026621, 1026899, 1027850, 1027850, 1028128, +1028949, 1031269, 1032254, 1033095, 1035415, 1036400, 1036400, 1036750, 1037735, 1038551, 1038899, 1039247, 1040063, 1042383, 1043368, 1044209, +1046529, 1047514, 1047514, 1047864, 1048849, 1049199, 1049334, 1049466, 1049800, 1050148, 1050148, 1050283, 1050616, 1051601, 1051601, 1051935, +1052886, 1053711, 1054061, 1054351, 1055176, 1055526, 1055526, 1055643, 1055977, 1056317, 1056452, 1056587, 1056913, 1057738, 1058072, 1058352, +1059153, 1061473, 1062458, 1063299, 1065619, 1066604, 1066604, 1066938, 1067889, 1068705, 1069038, 1069371, 1070166, 1072486, 1073437, 1074253, +1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, +1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, +1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, +1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, 1076523, +1076523, 1077508, 1077508, 1077856, 1078841, 1079191, 1079326, 1079458, 1079792, 1080140, 1080140, 1080275, 1080608, 1081593, 1081593, 1081926, +1082877, 1083227, 1083362, 1083494, 1083828, 1083828, 1083828, 1083828, 1083828, 1083942, 1083980, 1084014, 1084106, 1084440, 1084545, 1084649, +1084927, 1085277, 1085277, 1085391, 1085725, 1085860, 1085898, 1085898, 1086003, 1086138, 1086138, 1086176, 1086281, 1086615, 1086615, 1086707, +1086985, 1087970, 1087970, 1088303, 1089254, 1089588, 1089693, 1089797, 1090075, 1090408, 1090408, 1090513, 1090791, 1091742, 1091742, 1092020, +1092841, 1095161, 1096146, 1096987, 1099307, 1100292, 1100292, 1100626, 1101577, 1102393, 1102726, 1103059, 1103854, 1106174, 1107125, 1107941, +1110211, 1111196, 1111196, 1111530, 1112481, 1112815, 1112920, 1113024, 1113302, 1113635, 1113635, 1113740, 1114018, 1114969, 1114969, 1115247, +1116068, 1116893, 1117227, 1117507, 1118308, 1118642, 1118642, 1118735, 1119013, 1119339, 1119444, 1119549, 1119823, 1120624, 1120902, 1121142, +1121847, 1124167, 1125118, 1125934, 1128204, 1129155, 1129155, 1129433, 1130254, 1131049, 1131327, 1131605, 1132308, 1134578, 1135399, 1136115, +1138165, 1140485, 1141470, 1142311, 1144631, 1145616, 1145616, 1145966, 1146951, 1147767, 1148115, 1148463, 1149279, 1151599, 1152584, 1153425, +1155745, 1155745, 1155745, 1155745, 1155745, 1155745, 1155745, 1155745, 1155745, 1155745, 1155745, 1155745, 1155745, 1155745, 1155745, 1155745, +1155745, 1156730, 1156730, 1157078, 1158063, 1158413, 1158558, 1158698, 1159048, 1159396, 1159396, 1159540, 1159888, 1160873, 1160873, 1161221, +1162206, 1164526, 1165511, 1166352, 1168672, 1169657, 1169657, 1170007, 1170992, 1171808, 1172156, 1172504, 1173320, 1175640, 1176625, 1177466, +1179786, 1180771, 1180771, 1181121, 1182106, 1182456, 1182601, 1182741, 1183091, 1183439, 1183439, 1183584, 1183932, 1184917, 1184917, 1185267, +1186252, 1186602, 1186747, 1186887, 1187237, 1187237, 1187237, 1187237, 1187237, 1187362, 1187408, 1187454, 1187571, 1187921, 1188056, 1188188, +1188522, 1188870, 1188870, 1188990, 1189338, 1189483, 1189483, 1189536, 1189671, 1189815, 1189815, 1189869, 1190004, 1190352, 1190352, 1190466, +1190799, 1191784, 1191784, 1192134, 1193119, 1193469, 1193604, 1193736, 1194070, 1194418, 1194418, 1194553, 1194886, 1195871, 1195871, 1196205, +1197156, 1198141, 1198141, 1198491, 1199476, 1199476, 1199476, 1199476, 1199476, 1199824, 1199824, 1199944, 1200292, 1201277, 1201277, 1201627, +1202612, 1202612, 1202612, 1202612, 1202612, 1202612, 1202612, 1202612, 1202612, 1202612, 1202612, 1202612, 1202612, 1202612, 1202612, 1202612, +1202612, 1202962, 1203107, 1203247, 1203597, 1203597, 1203597, 1203597, 1203597, 1203742, 1203742, 1203795, 1203930, 1204280, 1204415, 1204547, +1204881, 1205866, 1205866, 1206216, 1207201, 1207201, 1207201, 1207201, 1207201, 1207549, 1207549, 1207663, 1207996, 1208981, 1208981, 1209315, +1210266, 1212586, 1213571, 1214412, 1216732, 1217717, 1217717, 1218067, 1219052, 1219868, 1220216, 1220564, 1221380, 1223700, 1224685, 1225526, +1227846, 1227846, 1227846, 1227846, 1227846, 1227846, 1227846, 1227846, 1227846, 1227846, 1227846, 1227846, 1227846, 1227846, 1227846, 1227846, +1227846, 1228831, 1228831, 1229179, 1230164, 1230514, 1230649, 1230781, 1231115, 1231463, 1231463, 1231598, 1231931, 1232916, 1232916, 1233249, +1234200, 1236520, 1237505, 1238346, 1240666, 1241651, 1241651, 1241985, 1242936, 1243752, 1244085, 1244418, 1245213, 1247533, 1248484, 1249300, +1251570, 1252555, 1252555, 1252905, 1253890, 1254240, 1254385, 1254525, 1254875, 1255223, 1255223, 1255368, 1255716, 1256701, 1256701, 1257051, +1258036, 1258386, 1258531, 1258671, 1259021, 1259021, 1259021, 1259021, 1259021, 1259146, 1259192, 1259238, 1259355, 1259705, 1259840, 1259972, +1260306, 1260654, 1260654, 1260774, 1261122, 1261267, 1261267, 1261320, 1261455, 1261599, 1261599, 1261653, 1261788, 1262136, 1262136, 1262250, +1262583, 1263568, 1263568, 1263918, 1264903, 1265253, 1265388, 1265520, 1265854, 1266202, 1266202, 1266337, 1266670, 1267655, 1267655, 1267989, +1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, +1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, +1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, +1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, 1268940, +1268940, 1269290, 1269435, 1269575, 1269925, 1269925, 1269925, 1269925, 1269925, 1270045, 1270099, 1270144, 1270258, 1270608, 1270743, 1270875, +1271209, 1271354, 1271408, 1271408, 1271543, 1271597, 1271610, 1271610, 1271648, 1271701, 1271714, 1271714, 1271752, 1271887, 1271925, 1271925, +1272030, 1272175, 1272175, 1272228, 1272363, 1272363, 1272363, 1272363, 1272363, 1272417, 1272417, 1272430, 1272468, 1272603, 1272603, 1272641, +1272746, 1273096, 1273231, 1273363, 1273697, 1273697, 1273697, 1273697, 1273697, 1273811, 1273849, 1273883, 1273975, 1274309, 1274414, 1274518, +1274796, 1275781, 1275781, 1276131, 1277116, 1277466, 1277601, 1277733, 1278067, 1278415, 1278415, 1278550, 1278883, 1279868, 1279868, 1280202, +1281153, 1281503, 1281638, 1281770, 1282104, 1282104, 1282104, 1282104, 1282104, 1282221, 1282255, 1282289, 1282382, 1282716, 1282821, 1282925, +1283203, 1283551, 1283551, 1283665, 1283998, 1284133, 1284133, 1284171, 1284276, 1284411, 1284411, 1284449, 1284554, 1284887, 1284887, 1284979, +1285257, 1286242, 1286242, 1286576, 1287527, 1287861, 1287966, 1288070, 1288348, 1288681, 1288681, 1288786, 1289064, 1290015, 1290015, 1290293, +1291114, 1292099, 1292099, 1292449, 1293434, 1293784, 1293929, 1294069, 1294419, 1294767, 1294767, 1294912, 1295260, 1296245, 1296245, 1296595, +1297580, 1297580, 1297580, 1297580, 1297580, 1297580, 1297580, 1297580, 1297580, 1297580, 1297580, 1297580, 1297580, 1297580, 1297580, 1297580, +1297580, 1297930, 1298075, 1298215, 1298565, 1298565, 1298565, 1298565, 1298565, 1298685, 1298739, 1298784, 1298898, 1299248, 1299383, 1299515, +1299849, 1300834, 1300834, 1301184, 1302169, 1302519, 1302654, 1302786, 1303120, 1303468, 1303468, 1303603, 1303936, 1304921, 1304921, 1305255, +1306206, 1306556, 1306701, 1306841, 1307191, 1307191, 1307191, 1307191, 1307191, 1307316, 1307362, 1307408, 1307525, 1307875, 1308010, 1308142, +1308476, 1308621, 1308675, 1308675, 1308810, 1308864, 1308877, 1308877, 1308915, 1308968, 1308981, 1308981, 1309019, 1309154, 1309192, 1309192, +1309297, 1309417, 1309471, 1309516, 1309630, 1309630, 1309630, 1309630, 1309630, 1309676, 1309689, 1309701, 1309735, 1309849, 1309887, 1309921, +1310013, 1310363, 1310498, 1310630, 1310964, 1310964, 1310964, 1310964, 1310964, 1311081, 1311115, 1311149, 1311242, 1311576, 1311681, 1311785, +1312063, 1312413, 1312558, 1312698, 1313048, 1313048, 1313048, 1313048, 1313048, 1313173, 1313219, 1313265, 1313382, 1313732, 1313867, 1313999, +1314333, 1314333, 1314333, 1314333, 1314333, 1314333, 1314333, 1314333, 1314333, 1314333, 1314333, 1314333, 1314333, 1314333, 1314333, 1314333, +1314333, 1314478, 1314532, 1314532, 1314667, 1314721, 1314734, 1314734, 1314772, 1314825, 1314838, 1314838, 1314876, 1315011, 1315049, 1315049, +1315154, 1315504, 1315639, 1315771, 1316105, 1316105, 1316105, 1316105, 1316105, 1316222, 1316256, 1316290, 1316383, 1316717, 1316822, 1316926, +1317204, 1318189, 1318189, 1318539, 1319524, 1319874, 1320009, 1320141, 1320475, 1320823, 1320823, 1320958, 1321291, 1322276, 1322276, 1322610, +1323561, 1323561, 1323561, 1323561, 1323561, 1323561, 1323561, 1323561, 1323561, 1323561, 1323561, 1323561, 1323561, 1323561, 1323561, 1323561, +1323561, 1323911, 1324046, 1324178, 1324512, 1324512, 1324512, 1324512, 1324512, 1324626, 1324664, 1324698, 1324790, 1325124, 1325229, 1325333, +1325611, 1326596, 1326596, 1326930, 1327881, 1328215, 1328320, 1328424, 1328702, 1329035, 1329035, 1329140, 1329418, 1330369, 1330369, 1330647, +1331468, 1333788, 1334773, 1335614, 1337934, 1338919, 1338919, 1339269, 1340254, 1341070, 1341418, 1341766, 1342582, 1344902, 1345887, 1346728, +1349048, 1349048, 1349048, 1349048, 1349048, 1349048, 1349048, 1349048, 1349048, 1349048, 1349048, 1349048, 1349048, 1349048, 1349048, 1349048, +1349048, 1350033, 1350033, 1350381, 1351366, 1351716, 1351851, 1351983, 1352317, 1352665, 1352665, 1352800, 1353133, 1354118, 1354118, 1354451, +1355402, 1357722, 1358707, 1359548, 1361868, 1362853, 1362853, 1363187, 1364138, 1364954, 1365287, 1365620, 1366415, 1368735, 1369686, 1370502, +1372772, 1373757, 1373757, 1374107, 1375092, 1375442, 1375577, 1375709, 1376043, 1376391, 1376391, 1376526, 1376859, 1377844, 1377844, 1378178, +1379129, 1379479, 1379614, 1379746, 1380080, 1380080, 1380080, 1380080, 1380080, 1380197, 1380231, 1380265, 1380358, 1380692, 1380797, 1380901, +1381179, 1381527, 1381527, 1381641, 1381974, 1382109, 1382109, 1382147, 1382252, 1382387, 1382387, 1382425, 1382530, 1382863, 1382863, 1382955, +1383233, 1384218, 1384218, 1384552, 1385503, 1385837, 1385942, 1386046, 1386324, 1386657, 1386657, 1386762, 1387040, 1387991, 1387991, 1388269, +1389090, 1390075, 1390075, 1390425, 1391410, 1391410, 1391410, 1391410, 1391410, 1391758, 1391758, 1391872, 1392205, 1393190, 1393190, 1393524, +1394475, 1394475, 1394475, 1394475, 1394475, 1394475, 1394475, 1394475, 1394475, 1394475, 1394475, 1394475, 1394475, 1394475, 1394475, 1394475, +1394475, 1394825, 1394960, 1395092, 1395426, 1395426, 1395426, 1395426, 1395426, 1395561, 1395561, 1395599, 1395704, 1396038, 1396143, 1396247, +1396525, 1397510, 1397510, 1397844, 1398795, 1398795, 1398795, 1398795, 1398795, 1399128, 1399128, 1399220, 1399498, 1400449, 1400449, 1400727, +1401548, 1403868, 1404853, 1405694, 1408014, 1408999, 1408999, 1409333, 1410284, 1411100, 1411433, 1411766, 1412561, 1414881, 1415832, 1416648, +1418918, 1418918, 1418918, 1418918, 1418918, 1418918, 1418918, 1418918, 1418918, 1418918, 1418918, 1418918, 1418918, 1418918, 1418918, 1418918, +1418918, 1419903, 1419903, 1420236, 1421187, 1421521, 1421626, 1421730, 1422008, 1422341, 1422341, 1422446, 1422724, 1423675, 1423675, 1423953, +1424774, 1427094, 1428045, 1428861, 1431131, 1432082, 1432082, 1432360, 1433181, 1433976, 1434254, 1434532, 1435235, 1437505, 1438326, 1439042, +1441092, 1447558, 1449878, 1452206, 1458672, 1460992, 1461977, 1462818, 1465138, 1467428, 1468253, 1469223, 1471513, 1477979, 1480299, 1482627, +1489093, 1489093, 1489093, 1489093, 1489093, 1489093, 1489093, 1489093, 1489093, 1489093, 1489093, 1489093, 1489093, 1489093, 1489093, 1489093, +1489093, 1491411, 1492396, 1493236, 1495554, 1496539, 1496539, 1496887, 1497872, 1498692, 1499042, 1499392, 1500212, 1502530, 1503515, 1504355, +1506673, 1513139, 1515459, 1517787, 1524253, 1526573, 1527558, 1528399, 1530719, 1533009, 1533834, 1534804, 1537094, 1543560, 1545880, 1548208, +1554674, 1556994, 1557979, 1558820, 1561140, 1562125, 1562125, 1562475, 1563460, 1564276, 1564624, 1564972, 1565788, 1568108, 1569093, 1569934, +1572254, 1573239, 1573239, 1573589, 1574574, 1574924, 1575059, 1575191, 1575525, 1575873, 1575873, 1576008, 1576341, 1577326, 1577326, 1577660, +1578611, 1579436, 1579786, 1580076, 1580901, 1581251, 1581251, 1581368, 1581702, 1582042, 1582177, 1582312, 1582638, 1583463, 1583797, 1584077, +1584878, 1587198, 1588183, 1589024, 1591344, 1592329, 1592329, 1592663, 1593614, 1594430, 1594763, 1595096, 1595891, 1598211, 1599162, 1599978, +1602248, 1604568, 1604568, 1605384, 1607704, 1608689, 1608689, 1609039, 1610024, 1610849, 1610849, 1611189, 1612014, 1614334, 1614334, 1615150, +1617470, 1617470, 1617470, 1617470, 1617470, 1617470, 1617470, 1617470, 1617470, 1617470, 1617470, 1617470, 1617470, 1617470, 1617470, 1617470, +1617470, 1618455, 1618455, 1618803, 1619788, 1620138, 1620273, 1620405, 1620739, 1621089, 1621089, 1621224, 1621558, 1622543, 1622543, 1622876, +1623827, 1626147, 1626147, 1626963, 1629283, 1630268, 1630268, 1630602, 1631553, 1632378, 1632378, 1632704, 1633505, 1635825, 1635825, 1636620, +1638890, 1645356, 1647676, 1650004, 1656470, 1658790, 1659775, 1660616, 1662936, 1665226, 1666051, 1667021, 1669311, 1675777, 1678097, 1680425, +1686891, 1686891, 1686891, 1686891, 1686891, 1686891, 1686891, 1686891, 1686891, 1686891, 1686891, 1686891, 1686891, 1686891, 1686891, 1686891, +1686891, 1689209, 1690194, 1691034, 1693352, 1694337, 1694337, 1694670, 1695621, 1696441, 1696775, 1697109, 1697907, 1700225, 1701176, 1701992, +1704261, 1710727, 1713047, 1715375, 1721841, 1724161, 1725112, 1725928, 1728198, 1730488, 1731289, 1732225, 1734465, 1740931, 1743201, 1745478, +1751835, 1754155, 1755140, 1755981, 1758301, 1759286, 1759286, 1759636, 1760621, 1761437, 1761785, 1762133, 1762949, 1765269, 1766254, 1767095, +1769415, 1770400, 1770400, 1770750, 1771735, 1772085, 1772220, 1772352, 1772686, 1773034, 1773034, 1773169, 1773502, 1774487, 1774487, 1774821, +1775772, 1776597, 1776947, 1777237, 1778062, 1778412, 1778412, 1778529, 1778863, 1779203, 1779338, 1779473, 1779799, 1780624, 1780958, 1781238, +1782039, 1784359, 1785344, 1786185, 1788505, 1789490, 1789490, 1789824, 1790775, 1791591, 1791924, 1792257, 1793052, 1795372, 1796323, 1797139, +1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, +1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, +1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, +1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, 1799409, +1799409, 1800394, 1800394, 1800742, 1801727, 1802077, 1802212, 1802344, 1802678, 1803026, 1803026, 1803161, 1803494, 1804479, 1804479, 1804812, +1805763, 1806113, 1806248, 1806380, 1806714, 1806714, 1806714, 1806714, 1806714, 1806828, 1806866, 1806900, 1806992, 1807326, 1807431, 1807535, +1807813, 1808163, 1808163, 1808277, 1808611, 1808746, 1808784, 1808784, 1808889, 1809024, 1809024, 1809062, 1809167, 1809501, 1809501, 1809593, +1809871, 1810856, 1810856, 1811189, 1812140, 1812474, 1812579, 1812683, 1812961, 1813294, 1813294, 1813399, 1813677, 1814628, 1814628, 1814906, +1815727, 1818047, 1819032, 1819873, 1822193, 1823178, 1823178, 1823512, 1824463, 1825279, 1825612, 1825945, 1826740, 1829060, 1830011, 1830827, +1833097, 1834082, 1834082, 1834416, 1835367, 1835701, 1835806, 1835910, 1836188, 1836521, 1836521, 1836626, 1836904, 1837855, 1837855, 1838133, +1838954, 1839779, 1840113, 1840393, 1841194, 1841528, 1841528, 1841621, 1841899, 1842225, 1842330, 1842435, 1842709, 1843510, 1843788, 1844028, +1844733, 1847053, 1848004, 1848820, 1851090, 1852041, 1852041, 1852319, 1853140, 1853935, 1854213, 1854491, 1855194, 1857464, 1858285, 1859001, +1861051, 1863371, 1864356, 1865197, 1867517, 1867517, 1867517, 1867517, 1867517, 1868342, 1868692, 1868982, 1869807, 1872127, 1873112, 1873953, +1876273, 1876273, 1876273, 1876273, 1876273, 1876273, 1876273, 1876273, 1876273, 1876273, 1876273, 1876273, 1876273, 1876273, 1876273, 1876273, +1876273, 1877258, 1877258, 1877606, 1878591, 1878591, 1878591, 1878591, 1878591, 1878941, 1878941, 1879055, 1879389, 1880374, 1880374, 1880707, +1881658, 1883978, 1884963, 1885804, 1888124, 1888124, 1888124, 1888124, 1888124, 1888949, 1889283, 1889563, 1890364, 1892684, 1893635, 1894451, +1896721, 1897706, 1897706, 1898056, 1899041, 1899391, 1899526, 1899658, 1899992, 1900340, 1900340, 1900475, 1900808, 1901793, 1901793, 1902127, +1903078, 1903078, 1903078, 1903078, 1903078, 1903078, 1903078, 1903078, 1903078, 1903078, 1903078, 1903078, 1903078, 1903078, 1903078, 1903078, +1903078, 1903428, 1903428, 1903545, 1903879, 1904014, 1904052, 1904052, 1904157, 1904271, 1904271, 1904305, 1904397, 1904731, 1904731, 1904824, +1905102, 1906087, 1906087, 1906421, 1907372, 1907706, 1907811, 1907915, 1908193, 1908526, 1908526, 1908631, 1908909, 1909860, 1909860, 1910138, +1910959, 1911944, 1911944, 1912294, 1913279, 1913279, 1913279, 1913279, 1913279, 1913629, 1913629, 1913746, 1914080, 1915065, 1915065, 1915399, +1916350, 1916350, 1916350, 1916350, 1916350, 1916350, 1916350, 1916350, 1916350, 1916350, 1916350, 1916350, 1916350, 1916350, 1916350, 1916350, +1916350, 1916700, 1916835, 1916967, 1917301, 1917301, 1917301, 1917301, 1917301, 1917436, 1917474, 1917474, 1917579, 1917913, 1918018, 1918122, +1918400, 1919385, 1919385, 1919719, 1920670, 1920670, 1920670, 1920670, 1920670, 1921004, 1921004, 1921097, 1921375, 1922326, 1922326, 1922604, +1923425, 1925745, 1926730, 1927571, 1929891, 1929891, 1929891, 1929891, 1929891, 1930716, 1931050, 1931330, 1932131, 1934451, 1935402, 1936218, +1938488, 1938488, 1938488, 1938488, 1938488, 1938488, 1938488, 1938488, 1938488, 1938488, 1938488, 1938488, 1938488, 1938488, 1938488, 1938488, +1938488, 1939473, 1939473, 1939806, 1940757, 1940757, 1940757, 1940757, 1940757, 1941091, 1941091, 1941183, 1941461, 1942412, 1942412, 1942690, +1943511, 1945831, 1946782, 1947598, 1949868, 1949868, 1949868, 1949868, 1949868, 1950669, 1950947, 1951187, 1951892, 1954162, 1954983, 1955699, +1957749, 1964215, 1966535, 1968863, 1975329, 1977649, 1978634, 1979475, 1981795, 1984085, 1984910, 1985880, 1988170, 1994636, 1996956, 1999284, +2005750, 2005750, 2005750, 2005750, 2005750, 2005750, 2005750, 2005750, 2005750, 2005750, 2005750, 2005750, 2005750, 2005750, 2005750, 2005750, +2005750, 2008068, 2009053, 2009893, 2012211, 2013196, 2013196, 2013529, 2014480, 2015300, 2015634, 2015968, 2016766, 2019084, 2020035, 2020851, +2023120, 2029586, 2031906, 2034234, 2040700, 2043020, 2043971, 2044787, 2047057, 2049347, 2050148, 2051084, 2053324, 2059790, 2062060, 2064337, +2070694, 2073014, 2073999, 2074840, 2077160, 2078145, 2078145, 2078479, 2079430, 2080246, 2080579, 2080912, 2081707, 2084027, 2084978, 2085794, +2088064, 2089049, 2089049, 2089383, 2090334, 2090668, 2090773, 2090877, 2091155, 2091488, 2091488, 2091593, 2091871, 2092822, 2092822, 2093100, +2093921, 2094746, 2095080, 2095360, 2096161, 2096495, 2096495, 2096588, 2096866, 2097192, 2097297, 2097402, 2097676, 2098477, 2098755, 2098995, +2099700, 2102020, 2102971, 2103787, 2106057, 2107008, 2107008, 2107286, 2108107, 2108902, 2109180, 2109458, 2110161, 2112431, 2113252, 2113968, +2116018, 2118338, 2118338, 2119154, 2121474, 2122459, 2122459, 2122793, 2123744, 2124569, 2124569, 2124895, 2125696, 2128016, 2128016, 2128811, +2131081, 2131081, 2131081, 2131081, 2131081, 2131081, 2131081, 2131081, 2131081, 2131081, 2131081, 2131081, 2131081, 2131081, 2131081, 2131081, +2131081, 2132066, 2132066, 2132399, 2133350, 2133684, 2133789, 2133893, 2134171, 2134505, 2134505, 2134610, 2134888, 2135839, 2135839, 2136117, +2136938, 2139258, 2139258, 2140053, 2142323, 2143274, 2143274, 2143552, 2144373, 2145174, 2145174, 2145448, 2146153, 2148423, 2148423, 2149126, +2151176, 2157642, 2159962, 2162290, 2168756, 2171076, 2172027, 2172843, 2175113, 2177403, 2178204, 2179140, 2181380, 2187846, 2190116, 2192393, +2198750, 2198750, 2198750, 2198750, 2198750, 2198750, 2198750, 2198750, 2198750, 2198750, 2198750, 2198750, 2198750, 2198750, 2198750, 2198750, +2198750, 2201068, 2202019, 2202835, 2205104, 2206055, 2206055, 2206333, 2207154, 2207952, 2208230, 2208508, 2209212, 2211481, 2212302, 2213018, +2215068, 2221534, 2223804, 2226081, 2232438, 2234708, 2235529, 2236245, 2238295, 2240535, 2241240, 2242050, 2244074, 2250431, 2252481, 2254535, diff --git a/src/core/short_code/offset/range_prefix/offset_0xE.inc b/src/core/short_code/offset/range_prefix/offset_0xE.inc new file mode 100644 index 0000000..b28db46 --- /dev/null +++ b/src/core/short_code/offset/range_prefix/offset_0xE.inc @@ -0,0 +1,256 @@ + 0, 8542, 11618, 14338, 22880, 25956, 27231, 28346, 31422, 34550, 35680, 36836, 39964, 48506, 51582, 54302, + 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, 62844, + 62844, 65840, 67115, 68075, 71071, 72346, 72346, 72792, 74067, 75163, 75631, 76039, 77135, 80131, 81406, 82366, + 85362, 93904, 96980, 99700, 108242, 111318, 112593, 113708, 116784, 119912, 121042, 122198, 125326, 133868, 136944, 139664, + 148206, 151282, 152557, 153672, 156748, 158023, 158023, 158549, 159824, 160784, 161184, 161584, 162544, 165620, 166895, 168010, + 171086, 172361, 172361, 172887, 174162, 174630, 174800, 174969, 175437, 175883, 175883, 176106, 176552, 177827, 177827, 178353, + 179628, 180758, 181226, 181626, 182756, 183224, 183224, 183418, 183886, 184294, 184464, 184634, 185042, 186172, 186640, 187040, + 188170, 191246, 192521, 193636, 196712, 197987, 197987, 198513, 199788, 200748, 201148, 201548, 202508, 205584, 206859, 207974, + 211050, 214126, 214126, 215086, 218162, 219437, 219437, 219963, 221238, 222368, 222368, 222776, 223906, 226982, 226982, 227942, + 231018, 231018, 231018, 231018, 231018, 231018, 231018, 231018, 231018, 231018, 231018, 231018, 231018, 231018, 231018, 231018, + 231018, 232293, 232293, 232693, 233968, 234436, 234606, 234775, 235243, 235711, 235711, 235881, 236349, 237624, 237624, 238024, + 239299, 242375, 242375, 243335, 246411, 247686, 247686, 248212, 249487, 250617, 250617, 251025, 252155, 255231, 255231, 256191, + 259267, 267809, 270885, 273605, 282147, 285223, 286498, 287613, 290689, 293817, 294947, 296103, 299231, 307773, 310849, 313569, + 322111, 322111, 322111, 322111, 322111, 322111, 322111, 322111, 322111, 322111, 322111, 322111, 322111, 322111, 322111, 322111, + 322111, 325107, 326382, 327342, 330338, 331613, 331613, 332059, 333334, 334430, 334898, 335306, 336402, 339398, 340673, 341633, + 344629, 353171, 356247, 358967, 367509, 370585, 371860, 372975, 376051, 379179, 380309, 381465, 384593, 393135, 396211, 398931, + 407473, 410549, 411824, 412939, 416015, 417290, 417290, 417816, 419091, 420051, 420451, 420851, 421811, 424887, 426162, 427277, + 430353, 431628, 431628, 432154, 433429, 433897, 434067, 434236, 434704, 435150, 435150, 435373, 435819, 437094, 437094, 437620, + 438895, 440025, 440493, 440893, 442023, 442491, 442491, 442685, 443153, 443561, 443731, 443901, 444309, 445439, 445907, 446307, + 447437, 450513, 451788, 452903, 455979, 457254, 457254, 457780, 459055, 460015, 460415, 460815, 461775, 464851, 466126, 467241, + 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, + 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, + 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, + 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, 470317, + 470317, 471592, 471592, 472038, 473313, 473781, 473951, 474120, 474588, 474988, 474988, 475148, 475548, 476823, 476823, 477269, + 478544, 479012, 479182, 479351, 479819, 479819, 479819, 479819, 479819, 479979, 480040, 480093, 480243, 480711, 480867, 481023, + 481464, 481932, 481932, 482092, 482560, 482730, 482791, 482845, 483001, 483171, 483171, 483232, 483388, 483856, 483856, 484006, + 484447, 485722, 485722, 486168, 487443, 487911, 488067, 488223, 488664, 489064, 489064, 489214, 489594, 490869, 490869, 491293, + 492514, 495590, 496865, 497980, 501056, 502331, 502331, 502857, 504132, 505092, 505492, 505892, 506852, 509928, 511203, 512318, + 515394, 516669, 516669, 517195, 518470, 518938, 519094, 519250, 519691, 520137, 520137, 520338, 520762, 522037, 522037, 522531, + 523752, 524882, 525350, 525750, 526880, 527348, 527348, 527525, 527966, 528374, 528530, 528686, 529073, 530203, 530644, 531024, + 532110, 535186, 536461, 537576, 540652, 541927, 541927, 542421, 543642, 544602, 544982, 545362, 546292, 549368, 550589, 551660, + 554650, 557726, 559001, 560116, 563192, 563192, 563192, 563192, 563192, 564322, 564790, 565190, 566320, 569396, 570671, 571786, + 574862, 574862, 574862, 574862, 574862, 574862, 574862, 574862, 574862, 574862, 574862, 574862, 574862, 574862, 574862, 574862, + 574862, 576137, 576137, 576583, 577858, 577858, 577858, 577858, 577858, 578326, 578326, 578486, 578954, 580229, 580229, 580675, + 581950, 585026, 586301, 587416, 590492, 590492, 590492, 590492, 590492, 591622, 592090, 592490, 593620, 596696, 597971, 599086, + 602162, 603437, 603437, 603963, 605238, 605706, 605876, 606045, 606513, 606959, 606959, 607182, 607628, 608903, 608903, 609429, + 610704, 610704, 610704, 610704, 610704, 610704, 610704, 610704, 610704, 610704, 610704, 610704, 610704, 610704, 610704, 610704, + 610704, 611172, 611172, 611366, 611834, 612004, 612065, 612119, 612275, 612435, 612435, 612505, 612655, 613123, 613123, 613300, + 613741, 615016, 615016, 615542, 616817, 617285, 617441, 617597, 618038, 618484, 618484, 618685, 619109, 620384, 620384, 620878, + 622099, 623374, 623374, 623900, 625175, 625175, 625175, 625175, 625175, 625643, 625643, 625837, 626305, 627580, 627580, 628106, + 629381, 629381, 629381, 629381, 629381, 629381, 629381, 629381, 629381, 629381, 629381, 629381, 629381, 629381, 629381, 629381, + 629381, 629849, 630019, 630188, 630656, 630656, 630656, 630656, 630656, 630826, 630887, 630941, 631097, 631565, 631721, 631877, + 632318, 633593, 633593, 634119, 635394, 635394, 635394, 635394, 635394, 635862, 635862, 636039, 636480, 637755, 637755, 638249, + 639470, 642546, 643821, 644936, 648012, 648012, 648012, 648012, 648012, 649142, 649610, 650010, 651140, 654216, 655491, 656606, + 659682, 659682, 659682, 659682, 659682, 659682, 659682, 659682, 659682, 659682, 659682, 659682, 659682, 659682, 659682, 659682, + 659682, 660957, 660957, 661403, 662678, 662678, 662678, 662678, 662678, 663146, 663146, 663296, 663737, 665012, 665012, 665436, + 666657, 669733, 671008, 672123, 675199, 675199, 675199, 675199, 675199, 676329, 676770, 677150, 678236, 681312, 682533, 683604, + 686594, 695136, 698212, 700932, 709474, 712550, 713825, 714940, 718016, 721144, 722274, 723430, 726558, 735100, 738176, 740896, + 749438, 749438, 749438, 749438, 749438, 749438, 749438, 749438, 749438, 749438, 749438, 749438, 749438, 749438, 749438, 749438, + 749438, 752434, 753709, 754669, 757665, 758940, 758940, 759386, 760661, 761757, 762225, 762633, 763729, 766725, 768000, 768960, + 771956, 780498, 783574, 786294, 794836, 797912, 799187, 800302, 803378, 806506, 807636, 808792, 811920, 820462, 823538, 826258, + 834800, 837876, 839151, 840266, 843342, 844617, 844617, 845143, 846418, 847378, 847778, 848178, 849138, 852214, 853489, 854604, + 857680, 858955, 858955, 859481, 860756, 861224, 861380, 861536, 861977, 862423, 862423, 862624, 863048, 864323, 864323, 864817, + 866038, 867168, 867636, 868036, 869166, 869634, 869634, 869811, 870252, 870660, 870816, 870972, 871359, 872489, 872930, 873310, + 874396, 877472, 878747, 879862, 882938, 884213, 884213, 884707, 885928, 886888, 887268, 887648, 888578, 891654, 892875, 893946, + 896936, 900012, 900012, 900972, 904048, 905323, 905323, 905849, 907124, 908254, 908254, 908662, 909792, 912868, 912868, 913828, + 916904, 916904, 916904, 916904, 916904, 916904, 916904, 916904, 916904, 916904, 916904, 916904, 916904, 916904, 916904, 916904, + 916904, 918179, 918179, 918579, 919854, 920322, 920478, 920634, 921075, 921543, 921543, 921699, 922140, 923415, 923415, 923795, + 925016, 928092, 928092, 929052, 932128, 933403, 933403, 933897, 935118, 936248, 936248, 936635, 937721, 940797, 940797, 941727, + 944717, 953259, 956335, 959055, 967597, 970673, 971948, 973063, 976139, 979267, 980397, 981553, 984681, 993223, 996299, 999019, +1007561, 1007561, 1007561, 1007561, 1007561, 1007561, 1007561, 1007561, 1007561, 1007561, 1007561, 1007561, 1007561, 1007561, 1007561, 1007561, +1007561, 1010557, 1011832, 1012792, 1015788, 1017063, 1017063, 1017487, 1018708, 1019804, 1020245, 1020632, 1021691, 1024687, 1025908, 1026838, +1029758, 1038300, 1041376, 1044096, 1052638, 1055714, 1056935, 1058006, 1060996, 1064124, 1065210, 1066317, 1069354, 1077896, 1080886, 1083536, +1091894, 1094970, 1096245, 1097360, 1100436, 1101711, 1101711, 1102237, 1103512, 1104472, 1104872, 1105272, 1106232, 1109308, 1110583, 1111698, +1114774, 1116049, 1116049, 1116575, 1117850, 1118318, 1118488, 1118657, 1119125, 1119571, 1119571, 1119794, 1120240, 1121515, 1121515, 1122041, +1123316, 1124446, 1124914, 1125314, 1126444, 1126912, 1126912, 1127106, 1127574, 1127982, 1128152, 1128322, 1128730, 1129860, 1130328, 1130728, +1131858, 1134934, 1136209, 1137324, 1140400, 1141675, 1141675, 1142201, 1143476, 1144436, 1144836, 1145236, 1146196, 1149272, 1150547, 1151662, +1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, +1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, +1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, +1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, 1154738, +1154738, 1156013, 1156013, 1156459, 1157734, 1158202, 1158372, 1158541, 1159009, 1159409, 1159409, 1159569, 1159969, 1161244, 1161244, 1161690, +1162965, 1163433, 1163603, 1163772, 1164240, 1164240, 1164240, 1164240, 1164240, 1164400, 1164461, 1164514, 1164664, 1165132, 1165288, 1165444, +1165885, 1166353, 1166353, 1166513, 1166981, 1167151, 1167212, 1167266, 1167422, 1167592, 1167592, 1167653, 1167809, 1168277, 1168277, 1168427, +1168868, 1170143, 1170143, 1170589, 1171864, 1172332, 1172488, 1172644, 1173085, 1173485, 1173485, 1173635, 1174015, 1175290, 1175290, 1175714, +1176935, 1180011, 1181286, 1182401, 1185477, 1186752, 1186752, 1187278, 1188553, 1189513, 1189913, 1190313, 1191273, 1194349, 1195624, 1196739, +1199815, 1201090, 1201090, 1201616, 1202891, 1203359, 1203515, 1203671, 1204112, 1204558, 1204558, 1204759, 1205183, 1206458, 1206458, 1206952, +1208173, 1209303, 1209771, 1210171, 1211301, 1211769, 1211769, 1211946, 1212387, 1212795, 1212951, 1213107, 1213494, 1214624, 1215065, 1215445, +1216531, 1219607, 1220882, 1221997, 1225073, 1226348, 1226348, 1226842, 1228063, 1229023, 1229403, 1229783, 1230713, 1233789, 1235010, 1236081, +1239071, 1240346, 1240346, 1240872, 1242147, 1242615, 1242785, 1242954, 1243422, 1243868, 1243868, 1244091, 1244537, 1245812, 1245812, 1246338, +1247613, 1248081, 1248251, 1248420, 1248888, 1248888, 1248888, 1248888, 1248888, 1249082, 1249143, 1249205, 1249382, 1249850, 1250006, 1250162, +1250603, 1251003, 1251003, 1251163, 1251563, 1251733, 1251733, 1251787, 1251943, 1252103, 1252103, 1252173, 1252323, 1252723, 1252723, 1252873, +1253253, 1254528, 1254528, 1255054, 1256329, 1256797, 1256953, 1257109, 1257550, 1257996, 1257996, 1258197, 1258621, 1259896, 1259896, 1260390, +1261611, 1262079, 1262249, 1262418, 1262886, 1262886, 1262886, 1262886, 1262886, 1263080, 1263141, 1263203, 1263380, 1263848, 1264004, 1264160, +1264601, 1264771, 1264832, 1264886, 1265042, 1265103, 1265118, 1265118, 1265160, 1265214, 1265227, 1265240, 1265278, 1265434, 1265476, 1265514, +1265632, 1265792, 1265853, 1265906, 1266056, 1266056, 1266056, 1266056, 1266056, 1266126, 1266141, 1266155, 1266201, 1266351, 1266393, 1266431, +1266547, 1267015, 1267171, 1267327, 1267768, 1267768, 1267768, 1267768, 1267768, 1267945, 1267987, 1268029, 1268160, 1268601, 1268719, 1268837, +1269191, 1269659, 1269659, 1269853, 1270321, 1270491, 1270552, 1270606, 1270762, 1270922, 1270922, 1270992, 1271142, 1271610, 1271610, 1271787, +1272228, 1272398, 1272459, 1272513, 1272669, 1272669, 1272669, 1272669, 1272669, 1272730, 1272745, 1272758, 1272800, 1272956, 1272998, 1273036, +1273154, 1273324, 1273324, 1273385, 1273541, 1273602, 1273617, 1273617, 1273659, 1273720, 1273720, 1273735, 1273777, 1273933, 1273933, 1273975, +1274093, 1274561, 1274561, 1274738, 1275179, 1275335, 1275377, 1275415, 1275533, 1275683, 1275683, 1275729, 1275845, 1276286, 1276286, 1276417, +1276771, 1278046, 1278046, 1278572, 1279847, 1280315, 1280471, 1280627, 1281068, 1281514, 1281514, 1281715, 1282139, 1283414, 1283414, 1283908, +1285129, 1285597, 1285753, 1285909, 1286350, 1286350, 1286350, 1286350, 1286350, 1286527, 1286569, 1286611, 1286742, 1287183, 1287301, 1287419, +1287773, 1288173, 1288173, 1288323, 1288703, 1288859, 1288859, 1288897, 1289015, 1289165, 1289165, 1289211, 1289327, 1289707, 1289707, 1289823, +1290135, 1291410, 1291410, 1291904, 1293125, 1293566, 1293684, 1293802, 1294156, 1294580, 1294580, 1294725, 1295071, 1296292, 1296292, 1296684, +1297715, 1298990, 1298990, 1299516, 1300791, 1300791, 1300791, 1300791, 1300791, 1301191, 1301191, 1301351, 1301751, 1303026, 1303026, 1303552, +1304827, 1305295, 1305465, 1305634, 1306102, 1306102, 1306102, 1306102, 1306102, 1306296, 1306357, 1306419, 1306596, 1307064, 1307220, 1307376, +1307817, 1308285, 1308285, 1308479, 1308947, 1308947, 1308947, 1308947, 1308947, 1309117, 1309117, 1309178, 1309334, 1309802, 1309802, 1309979, +1310420, 1311695, 1311695, 1312221, 1313496, 1313496, 1313496, 1313496, 1313496, 1313896, 1313896, 1314046, 1314426, 1315701, 1315701, 1316195, +1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, +1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, +1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, +1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, 1317416, +1317416, 1317884, 1318054, 1318223, 1318691, 1318691, 1318691, 1318691, 1318691, 1318861, 1318861, 1318915, 1319071, 1319539, 1319695, 1319851, +1320292, 1320462, 1320523, 1320577, 1320733, 1320794, 1320809, 1320809, 1320851, 1320905, 1320918, 1320931, 1320969, 1321125, 1321167, 1321205, +1321323, 1321493, 1321554, 1321608, 1321764, 1321764, 1321764, 1321764, 1321764, 1321825, 1321840, 1321840, 1321882, 1322038, 1322080, 1322118, +1322236, 1322704, 1322860, 1323016, 1323457, 1323457, 1323457, 1323457, 1323457, 1323613, 1323613, 1323651, 1323769, 1324210, 1324328, 1324446, +1324800, 1326075, 1326075, 1326601, 1327876, 1327876, 1327876, 1327876, 1327876, 1328276, 1328276, 1328426, 1328806, 1330081, 1330081, 1330575, +1331796, 1332264, 1332420, 1332576, 1333017, 1333017, 1333017, 1333017, 1333017, 1333194, 1333236, 1333278, 1333409, 1333850, 1333968, 1334086, +1334440, 1334908, 1334908, 1335085, 1335526, 1335526, 1335526, 1335526, 1335526, 1335682, 1335682, 1335724, 1335842, 1336283, 1336283, 1336414, +1336768, 1338043, 1338043, 1338537, 1339758, 1339758, 1339758, 1339758, 1339758, 1340138, 1340138, 1340254, 1340566, 1341787, 1341787, 1342179, +1343210, 1346286, 1347561, 1348676, 1351752, 1353027, 1353027, 1353553, 1354828, 1355788, 1356188, 1356588, 1357548, 1360624, 1361899, 1363014, +1366090, 1367365, 1367365, 1367891, 1369166, 1369634, 1369790, 1369946, 1370387, 1370833, 1370833, 1371034, 1371458, 1372733, 1372733, 1373227, +1374448, 1375578, 1376046, 1376446, 1377576, 1378044, 1378044, 1378221, 1378662, 1379070, 1379226, 1379382, 1379769, 1380899, 1381340, 1381720, +1382806, 1385882, 1387157, 1388272, 1391348, 1392623, 1392623, 1393117, 1394338, 1395298, 1395678, 1396058, 1396988, 1400064, 1401285, 1402356, +1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, +1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, +1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, +1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, 1405346, +1405346, 1406621, 1406621, 1407067, 1408342, 1408810, 1408966, 1409122, 1409563, 1409963, 1409963, 1410113, 1410493, 1411768, 1411768, 1412192, +1413413, 1413881, 1414037, 1414193, 1414634, 1414634, 1414634, 1414634, 1414634, 1414784, 1414826, 1414864, 1414980, 1415421, 1415539, 1415657, +1416011, 1416479, 1416479, 1416629, 1417070, 1417226, 1417268, 1417306, 1417424, 1417580, 1417580, 1417622, 1417740, 1418181, 1418181, 1418297, +1418651, 1419926, 1419926, 1420350, 1421571, 1422012, 1422130, 1422248, 1422602, 1422982, 1422982, 1423098, 1423410, 1424631, 1424631, 1424977, +1426008, 1429084, 1430359, 1431474, 1434550, 1435825, 1435825, 1436319, 1437540, 1438500, 1438880, 1439260, 1440190, 1443266, 1444487, 1445558, +1448548, 1449823, 1449823, 1450317, 1451538, 1451979, 1452097, 1452215, 1452569, 1452993, 1452993, 1453138, 1453484, 1454705, 1454705, 1455097, +1456128, 1457258, 1457699, 1458079, 1459165, 1459606, 1459606, 1459737, 1460091, 1460478, 1460596, 1460714, 1461030, 1462116, 1462470, 1462782, +1463708, 1466784, 1468005, 1469076, 1472066, 1473287, 1473287, 1473679, 1474710, 1475640, 1475952, 1476264, 1477072, 1480062, 1481093, 1482008, +1484652, 1487728, 1489003, 1490118, 1493194, 1494469, 1494469, 1494995, 1496270, 1497230, 1497630, 1498030, 1498990, 1502066, 1503341, 1504456, +1507532, 1507532, 1507532, 1507532, 1507532, 1507532, 1507532, 1507532, 1507532, 1507532, 1507532, 1507532, 1507532, 1507532, 1507532, 1507532, +1507532, 1508807, 1508807, 1509253, 1510528, 1510996, 1511166, 1511335, 1511803, 1512203, 1512203, 1512363, 1512763, 1514038, 1514038, 1514484, +1515759, 1518835, 1520110, 1521225, 1524301, 1525576, 1525576, 1526102, 1527377, 1528337, 1528737, 1529137, 1530097, 1533173, 1534448, 1535563, +1538639, 1539914, 1539914, 1540440, 1541715, 1542183, 1542353, 1542522, 1542990, 1543436, 1543436, 1543659, 1544105, 1545380, 1545380, 1545906, +1547181, 1547649, 1547819, 1547988, 1548456, 1548456, 1548456, 1548456, 1548456, 1548650, 1548711, 1548773, 1548950, 1549418, 1549574, 1549730, +1550171, 1550571, 1550571, 1550731, 1551131, 1551301, 1551301, 1551355, 1551511, 1551671, 1551671, 1551741, 1551891, 1552291, 1552291, 1552441, +1552821, 1554096, 1554096, 1554622, 1555897, 1556365, 1556521, 1556677, 1557118, 1557564, 1557564, 1557765, 1558189, 1559464, 1559464, 1559958, +1561179, 1562454, 1562454, 1562980, 1564255, 1564255, 1564255, 1564255, 1564255, 1564655, 1564655, 1564815, 1565215, 1566490, 1566490, 1567016, +1568291, 1568291, 1568291, 1568291, 1568291, 1568291, 1568291, 1568291, 1568291, 1568291, 1568291, 1568291, 1568291, 1568291, 1568291, 1568291, +1568291, 1568759, 1568929, 1569098, 1569566, 1569566, 1569566, 1569566, 1569566, 1569736, 1569736, 1569790, 1569946, 1570414, 1570570, 1570726, +1571167, 1572442, 1572442, 1572968, 1574243, 1574243, 1574243, 1574243, 1574243, 1574643, 1574643, 1574793, 1575173, 1576448, 1576448, 1576942, +1578163, 1581239, 1582514, 1583629, 1586705, 1587980, 1587980, 1588506, 1589781, 1590741, 1591141, 1591541, 1592501, 1595577, 1596852, 1597967, +1601043, 1601043, 1601043, 1601043, 1601043, 1601043, 1601043, 1601043, 1601043, 1601043, 1601043, 1601043, 1601043, 1601043, 1601043, 1601043, +1601043, 1602318, 1602318, 1602764, 1604039, 1604507, 1604663, 1604819, 1605260, 1605660, 1605660, 1605810, 1606190, 1607465, 1607465, 1607889, +1609110, 1612186, 1613461, 1614576, 1617652, 1618927, 1618927, 1619421, 1620642, 1621602, 1621982, 1622362, 1623292, 1626368, 1627589, 1628660, +1631650, 1632925, 1632925, 1633451, 1634726, 1635194, 1635364, 1635533, 1636001, 1636447, 1636447, 1636670, 1637116, 1638391, 1638391, 1638917, +1640192, 1640660, 1640830, 1640999, 1641467, 1641467, 1641467, 1641467, 1641467, 1641661, 1641722, 1641784, 1641961, 1642429, 1642585, 1642741, +1643182, 1643582, 1643582, 1643742, 1644142, 1644312, 1644312, 1644366, 1644522, 1644682, 1644682, 1644752, 1644902, 1645302, 1645302, 1645452, +1645832, 1647107, 1647107, 1647633, 1648908, 1649376, 1649532, 1649688, 1650129, 1650575, 1650575, 1650776, 1651200, 1652475, 1652475, 1652969, +1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, +1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, +1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, +1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, 1654190, +1654190, 1654658, 1654828, 1654997, 1655465, 1655465, 1655465, 1655465, 1655465, 1655625, 1655686, 1655739, 1655889, 1656357, 1656513, 1656669, +1657110, 1657280, 1657341, 1657395, 1657551, 1657612, 1657627, 1657627, 1657669, 1657723, 1657736, 1657749, 1657787, 1657943, 1657985, 1658023, +1658141, 1658311, 1658311, 1658365, 1658521, 1658521, 1658521, 1658521, 1658521, 1658582, 1658582, 1658595, 1658637, 1658793, 1658793, 1658831, +1658949, 1659417, 1659573, 1659729, 1660170, 1660170, 1660170, 1660170, 1660170, 1660320, 1660362, 1660400, 1660516, 1660957, 1661075, 1661193, +1661547, 1662822, 1662822, 1663348, 1664623, 1665091, 1665247, 1665403, 1665844, 1666290, 1666290, 1666491, 1666915, 1668190, 1668190, 1668684, +1669905, 1670373, 1670529, 1670685, 1671126, 1671126, 1671126, 1671126, 1671126, 1671303, 1671345, 1671387, 1671518, 1671959, 1672077, 1672195, +1672549, 1672949, 1672949, 1673099, 1673479, 1673635, 1673635, 1673673, 1673791, 1673941, 1673941, 1673987, 1674103, 1674483, 1674483, 1674599, +1674911, 1676186, 1676186, 1676680, 1677901, 1678342, 1678460, 1678578, 1678932, 1679356, 1679356, 1679501, 1679847, 1681068, 1681068, 1681460, +1682491, 1683766, 1683766, 1684292, 1685567, 1686035, 1686205, 1686374, 1686842, 1687288, 1687288, 1687511, 1687957, 1689232, 1689232, 1689758, +1691033, 1691033, 1691033, 1691033, 1691033, 1691033, 1691033, 1691033, 1691033, 1691033, 1691033, 1691033, 1691033, 1691033, 1691033, 1691033, +1691033, 1691501, 1691671, 1691840, 1692308, 1692308, 1692308, 1692308, 1692308, 1692468, 1692529, 1692582, 1692732, 1693200, 1693356, 1693512, +1693953, 1695228, 1695228, 1695754, 1697029, 1697497, 1697653, 1697809, 1698250, 1698696, 1698696, 1698897, 1699321, 1700596, 1700596, 1701090, +1702311, 1702779, 1702949, 1703118, 1703586, 1703586, 1703586, 1703586, 1703586, 1703780, 1703841, 1703903, 1704080, 1704548, 1704704, 1704860, +1705301, 1705471, 1705532, 1705586, 1705742, 1705803, 1705818, 1705818, 1705860, 1705914, 1705927, 1705940, 1705978, 1706134, 1706176, 1706214, +1706332, 1706492, 1706553, 1706606, 1706756, 1706756, 1706756, 1706756, 1706756, 1706826, 1706841, 1706855, 1706901, 1707051, 1707093, 1707131, +1707247, 1707715, 1707871, 1708027, 1708468, 1708468, 1708468, 1708468, 1708468, 1708645, 1708687, 1708729, 1708860, 1709301, 1709419, 1709537, +1709891, 1710359, 1710529, 1710698, 1711166, 1711166, 1711166, 1711166, 1711166, 1711360, 1711421, 1711483, 1711660, 1712128, 1712284, 1712440, +1712881, 1712881, 1712881, 1712881, 1712881, 1712881, 1712881, 1712881, 1712881, 1712881, 1712881, 1712881, 1712881, 1712881, 1712881, 1712881, +1712881, 1713051, 1713112, 1713166, 1713322, 1713383, 1713398, 1713398, 1713440, 1713494, 1713507, 1713520, 1713558, 1713714, 1713756, 1713794, +1713912, 1714380, 1714536, 1714692, 1715133, 1715133, 1715133, 1715133, 1715133, 1715310, 1715352, 1715394, 1715525, 1715966, 1716084, 1716202, +1716556, 1717831, 1717831, 1718357, 1719632, 1720100, 1720256, 1720412, 1720853, 1721299, 1721299, 1721500, 1721924, 1723199, 1723199, 1723693, +1724914, 1724914, 1724914, 1724914, 1724914, 1724914, 1724914, 1724914, 1724914, 1724914, 1724914, 1724914, 1724914, 1724914, 1724914, 1724914, +1724914, 1725382, 1725538, 1725694, 1726135, 1726135, 1726135, 1726135, 1726135, 1726285, 1726327, 1726365, 1726481, 1726922, 1727040, 1727158, +1727512, 1728787, 1728787, 1729281, 1730502, 1730943, 1731061, 1731179, 1731533, 1731957, 1731957, 1732102, 1732448, 1733669, 1733669, 1734061, +1735092, 1738168, 1739443, 1740558, 1743634, 1744909, 1744909, 1745435, 1746710, 1747670, 1748070, 1748470, 1749430, 1752506, 1753781, 1754896, +1757972, 1757972, 1757972, 1757972, 1757972, 1757972, 1757972, 1757972, 1757972, 1757972, 1757972, 1757972, 1757972, 1757972, 1757972, 1757972, +1757972, 1759247, 1759247, 1759693, 1760968, 1761436, 1761592, 1761748, 1762189, 1762589, 1762589, 1762739, 1763119, 1764394, 1764394, 1764818, +1766039, 1769115, 1770390, 1771505, 1774581, 1775856, 1775856, 1776350, 1777571, 1778531, 1778911, 1779291, 1780221, 1783297, 1784518, 1785589, +1788579, 1789854, 1789854, 1790380, 1791655, 1792123, 1792279, 1792435, 1792876, 1793322, 1793322, 1793523, 1793947, 1795222, 1795222, 1795716, +1796937, 1797405, 1797561, 1797717, 1798158, 1798158, 1798158, 1798158, 1798158, 1798335, 1798377, 1798419, 1798550, 1798991, 1799109, 1799227, +1799581, 1799981, 1799981, 1800131, 1800511, 1800667, 1800667, 1800705, 1800823, 1800973, 1800973, 1801019, 1801135, 1801515, 1801515, 1801631, +1801943, 1803218, 1803218, 1803712, 1804933, 1805374, 1805492, 1805610, 1805964, 1806388, 1806388, 1806533, 1806879, 1808100, 1808100, 1808492, +1809523, 1810798, 1810798, 1811324, 1812599, 1812599, 1812599, 1812599, 1812599, 1812999, 1812999, 1813149, 1813529, 1814804, 1814804, 1815298, +1816519, 1816519, 1816519, 1816519, 1816519, 1816519, 1816519, 1816519, 1816519, 1816519, 1816519, 1816519, 1816519, 1816519, 1816519, 1816519, +1816519, 1816987, 1817143, 1817299, 1817740, 1817740, 1817740, 1817740, 1817740, 1817896, 1817896, 1817934, 1818052, 1818493, 1818611, 1818729, +1819083, 1820358, 1820358, 1820852, 1822073, 1822073, 1822073, 1822073, 1822073, 1822453, 1822453, 1822569, 1822881, 1824102, 1824102, 1824494, +1825525, 1828601, 1829876, 1830991, 1834067, 1835342, 1835342, 1835836, 1837057, 1838017, 1838397, 1838777, 1839707, 1842783, 1844004, 1845075, +1848065, 1848065, 1848065, 1848065, 1848065, 1848065, 1848065, 1848065, 1848065, 1848065, 1848065, 1848065, 1848065, 1848065, 1848065, 1848065, +1848065, 1849340, 1849340, 1849764, 1850985, 1851426, 1851544, 1851662, 1852016, 1852396, 1852396, 1852512, 1852824, 1854045, 1854045, 1854391, +1855422, 1858498, 1859719, 1860790, 1863780, 1865001, 1865001, 1865393, 1866424, 1867354, 1867666, 1867978, 1868786, 1871776, 1872807, 1873722, +1876366, 1884908, 1887984, 1890704, 1899246, 1902322, 1903597, 1904712, 1907788, 1910916, 1912046, 1913202, 1916330, 1924872, 1927948, 1930668, +1939210, 1939210, 1939210, 1939210, 1939210, 1939210, 1939210, 1939210, 1939210, 1939210, 1939210, 1939210, 1939210, 1939210, 1939210, 1939210, +1939210, 1942206, 1943481, 1944441, 1947437, 1948712, 1948712, 1949158, 1950433, 1951529, 1951997, 1952405, 1953501, 1956497, 1957772, 1958732, +1961728, 1970270, 1973346, 1976066, 1984608, 1987684, 1988959, 1990074, 1993150, 1996278, 1997408, 1998564, 2001692, 2010234, 2013310, 2016030, +2024572, 2027648, 2028923, 2030038, 2033114, 2034389, 2034389, 2034915, 2036190, 2037150, 2037550, 2037950, 2038910, 2041986, 2043261, 2044376, +2047452, 2048727, 2048727, 2049253, 2050528, 2050996, 2051152, 2051308, 2051749, 2052195, 2052195, 2052396, 2052820, 2054095, 2054095, 2054589, +2055810, 2056940, 2057408, 2057808, 2058938, 2059406, 2059406, 2059583, 2060024, 2060432, 2060588, 2060744, 2061131, 2062261, 2062702, 2063082, +2064168, 2067244, 2068519, 2069634, 2072710, 2073985, 2073985, 2074479, 2075700, 2076660, 2077040, 2077420, 2078350, 2081426, 2082647, 2083718, +2086708, 2089784, 2089784, 2090744, 2093820, 2095095, 2095095, 2095621, 2096896, 2098026, 2098026, 2098434, 2099564, 2102640, 2102640, 2103600, +2106676, 2106676, 2106676, 2106676, 2106676, 2106676, 2106676, 2106676, 2106676, 2106676, 2106676, 2106676, 2106676, 2106676, 2106676, 2106676, +2106676, 2107951, 2107951, 2108351, 2109626, 2110094, 2110250, 2110406, 2110847, 2111315, 2111315, 2111471, 2111912, 2113187, 2113187, 2113567, +2114788, 2117864, 2117864, 2118824, 2121900, 2123175, 2123175, 2123669, 2124890, 2126020, 2126020, 2126407, 2127493, 2130569, 2130569, 2131499, +2134489, 2143031, 2146107, 2148827, 2157369, 2160445, 2161720, 2162835, 2165911, 2169039, 2170169, 2171325, 2174453, 2182995, 2186071, 2188791, +2197333, 2197333, 2197333, 2197333, 2197333, 2197333, 2197333, 2197333, 2197333, 2197333, 2197333, 2197333, 2197333, 2197333, 2197333, 2197333, +2197333, 2200329, 2201604, 2202564, 2205560, 2206835, 2206835, 2207259, 2208480, 2209576, 2210017, 2210404, 2211463, 2214459, 2215680, 2216610, +2219530, 2228072, 2231148, 2233868, 2242410, 2245486, 2246707, 2247778, 2250768, 2253896, 2254982, 2256089, 2259126, 2267668, 2270658, 2273308, +2281666, 2284742, 2286017, 2287132, 2290208, 2291483, 2291483, 2292009, 2293284, 2294244, 2294644, 2295044, 2296004, 2299080, 2300355, 2301470, +2304546, 2305821, 2305821, 2306347, 2307622, 2308090, 2308246, 2308402, 2308843, 2309289, 2309289, 2309490, 2309914, 2311189, 2311189, 2311683, +2312904, 2314034, 2314502, 2314902, 2316032, 2316500, 2316500, 2316677, 2317118, 2317526, 2317682, 2317838, 2318225, 2319355, 2319796, 2320176, +2321262, 2324338, 2325613, 2326728, 2329804, 2331079, 2331079, 2331573, 2332794, 2333754, 2334134, 2334514, 2335444, 2338520, 2339741, 2340812, +2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, +2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, +2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, +2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, 2343802, +2343802, 2345077, 2345077, 2345523, 2346798, 2347266, 2347422, 2347578, 2348019, 2348419, 2348419, 2348569, 2348949, 2350224, 2350224, 2350648, +2351869, 2352337, 2352493, 2352649, 2353090, 2353090, 2353090, 2353090, 2353090, 2353240, 2353282, 2353320, 2353436, 2353877, 2353995, 2354113, +2354467, 2354935, 2354935, 2355085, 2355526, 2355682, 2355724, 2355762, 2355880, 2356036, 2356036, 2356078, 2356196, 2356637, 2356637, 2356753, +2357107, 2358382, 2358382, 2358806, 2360027, 2360468, 2360586, 2360704, 2361058, 2361438, 2361438, 2361554, 2361866, 2363087, 2363087, 2363433, +2364464, 2367540, 2368815, 2369930, 2373006, 2374281, 2374281, 2374775, 2375996, 2376956, 2377336, 2377716, 2378646, 2381722, 2382943, 2384014, +2387004, 2388279, 2388279, 2388773, 2389994, 2390435, 2390553, 2390671, 2391025, 2391449, 2391449, 2391594, 2391940, 2393161, 2393161, 2393553, +2394584, 2395714, 2396155, 2396535, 2397621, 2398062, 2398062, 2398193, 2398547, 2398934, 2399052, 2399170, 2399486, 2400572, 2400926, 2401238, +2402164, 2405240, 2406461, 2407532, 2410522, 2411743, 2411743, 2412135, 2413166, 2414096, 2414408, 2414720, 2415528, 2418518, 2419549, 2420464, +2423108, 2426184, 2427459, 2428574, 2431650, 2431650, 2431650, 2431650, 2431650, 2432780, 2433248, 2433648, 2434778, 2437854, 2439129, 2440244, +2443320, 2443320, 2443320, 2443320, 2443320, 2443320, 2443320, 2443320, 2443320, 2443320, 2443320, 2443320, 2443320, 2443320, 2443320, 2443320, +2443320, 2444595, 2444595, 2445041, 2446316, 2446316, 2446316, 2446316, 2446316, 2446784, 2446784, 2446934, 2447375, 2448650, 2448650, 2449074, +2450295, 2453371, 2454646, 2455761, 2458837, 2458837, 2458837, 2458837, 2458837, 2459967, 2460408, 2460788, 2461874, 2464950, 2466171, 2467242, +2470232, 2471507, 2471507, 2472033, 2473308, 2473776, 2473932, 2474088, 2474529, 2474975, 2474975, 2475176, 2475600, 2476875, 2476875, 2477369, +2478590, 2478590, 2478590, 2478590, 2478590, 2478590, 2478590, 2478590, 2478590, 2478590, 2478590, 2478590, 2478590, 2478590, 2478590, 2478590, +2478590, 2479058, 2479058, 2479235, 2479676, 2479832, 2479874, 2479912, 2480030, 2480180, 2480180, 2480226, 2480342, 2480783, 2480783, 2480914, +2481268, 2482543, 2482543, 2483037, 2484258, 2484699, 2484817, 2484935, 2485289, 2485713, 2485713, 2485858, 2486204, 2487425, 2487425, 2487817, +2488848, 2490123, 2490123, 2490649, 2491924, 2491924, 2491924, 2491924, 2491924, 2492392, 2492392, 2492569, 2493010, 2494285, 2494285, 2494779, +2496000, 2496000, 2496000, 2496000, 2496000, 2496000, 2496000, 2496000, 2496000, 2496000, 2496000, 2496000, 2496000, 2496000, 2496000, 2496000, +2496000, 2496468, 2496624, 2496780, 2497221, 2497221, 2497221, 2497221, 2497221, 2497377, 2497419, 2497457, 2497575, 2498016, 2498134, 2498252, +2498606, 2499881, 2499881, 2500375, 2501596, 2501596, 2501596, 2501596, 2501596, 2502037, 2502037, 2502168, 2502522, 2503743, 2503743, 2504135, +2505166, 2508242, 2509517, 2510632, 2513708, 2513708, 2513708, 2513708, 2513708, 2514838, 2515279, 2515659, 2516745, 2519821, 2521042, 2522113, +2525103, 2525103, 2525103, 2525103, 2525103, 2525103, 2525103, 2525103, 2525103, 2525103, 2525103, 2525103, 2525103, 2525103, 2525103, 2525103, +2525103, 2526378, 2526378, 2526802, 2528023, 2528023, 2528023, 2528023, 2528023, 2528464, 2528464, 2528580, 2528934, 2530155, 2530155, 2530501, +2531532, 2534608, 2535829, 2536900, 2539890, 2539890, 2539890, 2539890, 2539890, 2540976, 2541330, 2541642, 2542568, 2545558, 2546589, 2547504, +2550148, 2558690, 2561766, 2564486, 2573028, 2576104, 2577379, 2578494, 2581570, 2584698, 2585828, 2586984, 2590112, 2598654, 2601730, 2604450, +2612992, 2612992, 2612992, 2612992, 2612992, 2612992, 2612992, 2612992, 2612992, 2612992, 2612992, 2612992, 2612992, 2612992, 2612992, 2612992, +2612992, 2615988, 2617263, 2618223, 2621219, 2622494, 2622494, 2622918, 2624139, 2625235, 2625676, 2626063, 2627122, 2630118, 2631339, 2632269, +2635189, 2643731, 2646807, 2649527, 2658069, 2661145, 2662366, 2663437, 2666427, 2669555, 2670641, 2671748, 2674785, 2683327, 2686317, 2688967, +2697325, 2700401, 2701676, 2702791, 2705867, 2707142, 2707142, 2707636, 2708857, 2709817, 2710197, 2710577, 2711507, 2714583, 2715804, 2716875, +2719865, 2721140, 2721140, 2721634, 2722855, 2723296, 2723414, 2723532, 2723886, 2724310, 2724310, 2724455, 2724801, 2726022, 2726022, 2726414, +2727445, 2728575, 2729016, 2729396, 2730482, 2730923, 2730923, 2731054, 2731408, 2731795, 2731913, 2732031, 2732347, 2733433, 2733787, 2734099, +2735025, 2738101, 2739322, 2740393, 2743383, 2744604, 2744604, 2744996, 2746027, 2746957, 2747269, 2747581, 2748389, 2751379, 2752410, 2753325, +2755969, 2759045, 2759045, 2760005, 2763081, 2764356, 2764356, 2764850, 2766071, 2767201, 2767201, 2767588, 2768674, 2771750, 2771750, 2772680, +2775670, 2775670, 2775670, 2775670, 2775670, 2775670, 2775670, 2775670, 2775670, 2775670, 2775670, 2775670, 2775670, 2775670, 2775670, 2775670, +2775670, 2776945, 2776945, 2777325, 2778546, 2778987, 2779105, 2779223, 2779577, 2780018, 2780018, 2780136, 2780490, 2781711, 2781711, 2782023, +2783054, 2786130, 2786130, 2787060, 2790050, 2791271, 2791271, 2791663, 2792694, 2793780, 2793780, 2794096, 2795022, 2798012, 2798012, 2798820, +2801464, 2810006, 2813082, 2815802, 2824344, 2827420, 2828641, 2829712, 2832702, 2835830, 2836916, 2838023, 2841060, 2849602, 2852592, 2855242, +2863600, 2863600, 2863600, 2863600, 2863600, 2863600, 2863600, 2863600, 2863600, 2863600, 2863600, 2863600, 2863600, 2863600, 2863600, 2863600, +2863600, 2866596, 2867817, 2868747, 2871667, 2872888, 2872888, 2873234, 2874265, 2875324, 2875678, 2875994, 2876905, 2879825, 2880856, 2881664, +2884262, 2892804, 2895794, 2898444, 2906802, 2909792, 2910823, 2911738, 2914382, 2917419, 2918345, 2919284, 2921962, 2930320, 2932964, 2935326, diff --git a/src/core/short_code/offset/range_prefix_offset.h b/src/core/short_code/offset/range_prefix_offset.h new file mode 100644 index 0000000..2db7b4e --- /dev/null +++ b/src/core/short_code/offset/range_prefix_offset.h @@ -0,0 +1,46 @@ +#pragma once + +/// This is the index for the range prefix. Given the `head` and the first +/// 12-bit (0 ~ 4095) of the `range`, you can get the positions of all cases +/// in the current `head`. That is, according to the position of 2x2 block +/// and the `range`, the short code range is obtained. + +#include + +namespace klotski { + +const uint32_t RANGE_PREFIX_OFFSET[16][4096] = {{ +#include "range_prefix/offset_0x0.inc" +}, { +#include "range_prefix/offset_0x1.inc" +}, { +#include "range_prefix/offset_0x2.inc" +}, { +/// --------------- 0x3 --------------- +}, { +#include "range_prefix/offset_0x4.inc" +}, { +#include "range_prefix/offset_0x5.inc" +}, { +#include "range_prefix/offset_0x6.inc" +}, { +/// --------------- 0x7 --------------- +}, { +#include "range_prefix/offset_0x8.inc" +}, { +#include "range_prefix/offset_0x9.inc" +}, { +#include "range_prefix/offset_0xA.inc" +}, { +/// --------------- 0xB --------------- +}, { +#include "range_prefix/offset_0xC.inc" +}, { +#include "range_prefix/offset_0xD.inc" +}, { +#include "range_prefix/offset_0xE.inc" +}, { +/// --------------- 0xF --------------- +}}; + +} // namespace klotski diff --git a/src/core/short_code/serialize.cc b/src/core/short_code/serialize.cc new file mode 100644 index 0000000..92923eb --- /dev/null +++ b/src/core/short_code/serialize.cc @@ -0,0 +1,50 @@ +#include "short_code.h" +#include "serialize_chars.h" + +namespace klotski { +namespace codec { + +/// --------------------------- ShortCode to String --------------------------- + +std::string ShortCode::to_string() const noexcept { // encode as 5-bits string + return string_encode(code_); +} + +/// ----------------------------- Basic Functions ----------------------------- + +std::string ShortCode::string_encode(uint32_t short_code) noexcept { // encode as 5-bits string + char result[6]; // short code length 5 + result[5] = '\0'; // string ending flag + for (int n = 0; n < 5; ++n) { + result[4 - n] = SHORT_CODE_TABLE[short_code & 0b11111]; // aka _ % 32 + short_code >>= 5; // aka _ / 32 + } + return result; +} + +std::optional ShortCode::string_decode(const std::string &short_code) noexcept { // 5-bits string decode + if (short_code.length() != 5) { // check string length + return std::nullopt; + } + uint64_t result = 0; + for (auto bit : short_code) { + result <<= 5; // aka _ * 32 + if (bit >= 'a' && bit <= 'z') { + bit -= 32; // convert to uppercase + } + if (bit < '1' || bit > 'Z') { // invalid characters + return std::nullopt; + } + result += (bit = SHORT_CODE_TABLE_REV[bit - 49]); // table convert + if (bit == -1) { // invalid character + return std::nullopt; + } + } + if (!ShortCode::check(result)) { // check converted short code + return std::nullopt; + } + return result; // apply convert result +} + +} // namespace codec +} // namespace klotski diff --git a/src/core/short_code/serialize_chars.h b/src/core/short_code/serialize_chars.h new file mode 100644 index 0000000..d62ab3a --- /dev/null +++ b/src/core/short_code/serialize_chars.h @@ -0,0 +1,41 @@ +#pragma once + +/// ShortCode Convert Table +/// ------------------------------------------------- +/// | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | +/// | `1` | `2` | `3` | `4` | `5` | `6` | `7` | `8` | +/// |-----------------------------------------------| +/// | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | +/// | `9` | `A` | `B` | `C` | `D` | `E` | `F` | `G` | +/// |-----------------------------------------------| +/// | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | +/// | `H` | `J` | `K` | `M` | `N` | `P` | `Q` | `R` | +/// |-----------------------------------------------| +/// | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | +/// | `S` | `T` | `U` | `V` | `W` | `X` | `Y` | `Z` | +/// ------------------------------------------------- + +#include + +namespace klotski { +namespace codec { + +const int8_t SHORT_CODE_TABLE[32] = { + '1', '2', '3', '4', '5', '6', '7', '8', '9', // skip `0` + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', // skip `I` + 'J', 'K', // skip `L` + 'M', 'N', // skip `O` + 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', +}; + +/// `1`(49) ~ `Z`(90) +const int8_t SHORT_CODE_TABLE_REV[42] = { + 0, 1, 2, 3, 4, 5, 6, 7, 8, // `1`(49) ~ `9`(57) + -1, -1, -1, -1, -1, -1, -1, // `:`(58) ~ `@`(64) + 9, 10, 11, 12, 13, 14, 15, 16, -1, 17, // `A`(65) ~ `J`(74) + 18, -1, 19, 20, -1, 21, 22, 23, 24, 25, // `K`(75) ~ `T`(84) + 26, 27, 28, 29, 30, 31, // `U`(85) ~ `Z`(90) +}; + +} // namespace codec +} // namespace klotski diff --git a/src/core/short_code/short_code.cc b/src/core/short_code/short_code.cc new file mode 100644 index 0000000..5f66ba1 --- /dev/null +++ b/src/core/short_code/short_code.cc @@ -0,0 +1,36 @@ +#include "all_cases.h" +#include "short_code.h" + +namespace klotski { +namespace codec { + +bool ShortCode::check(uint32_t short_code) noexcept { + return short_code < SHORT_CODE_LIMIT; // 0 ~ (SHORT_CODE_LIMIT - 1) +} + +//ShortCode::Mode ShortCode::mode() { // ensure speed up enabled and return current mode +// if (fast_mode_available_) { +// return ShortCode::FAST; // fast mode already enabled +// } +// if (normal_mode_available_) { +// return ShortCode::NORMAL; // normal mode already enabled +// } +// speed_up(ShortCode::Mode::NORMAL); // uninitialized -> enable normal mode +// return ShortCode::Mode::NORMAL; +//} + +//void ShortCode::speed_up(ShortCode::Mode mode) { +// if (fast_mode_available_) { +// return; // fast mode already available +// } +// if (mode == ShortCode::FAST) { // build fast mode data +// AllCases::build(); // blocking function +// fast_mode_available_ = true; +// } else if (!normal_mode_available_) { // build normal mode data +// BasicRanges::build(); // blocking function +// normal_mode_available_ = true; +// } +//} + +} // namespace codec +} // namespace klotski diff --git a/src/core/short_code/short_code.h b/src/core/short_code/short_code.h new file mode 100644 index 0000000..d53b556 --- /dev/null +++ b/src/core/short_code/short_code.h @@ -0,0 +1,151 @@ +#pragma once + +/// ShortCode is a high-compression encoding scheme based on CommonCode. Since +/// there are a total of 29334498 valid klotski layouts, arrange their +/// CommonCodes from small to large (36-bit positive integers), and use the +/// index as the ShortCode. + +/// Therefore, the valid value of ShortCode is [0, 29334498), stored in +/// `uint32_t`. The goal of high compression ratio is to facilitate verbal +/// sharing, so it is necessary to represent it in a suitable string. Similar +/// to Bitcoin's `base58`, in ShortCode, 4 confusing characters `0` `O` `I` `l` +/// are removed from 10 numbers and 26 characters, forming a private base32 +/// scheme. + +/// Coincidentally, log(32, 29334498) is approximately equal to `4.96`, so +/// using 5-bit base32 can make good use of space, so any valid klotski layout +/// can be represented by a 5-bit length code. As in CommonCode, the characters +/// here are case insensitive, but uppercase is still recommended. + +/// ShortCode Convert Table +/// ------------------------------------------------- +/// | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | +/// | `1` | `2` | `3` | `4` | `5` | `6` | `7` | `8` | +/// |-----------------------------------------------| +/// | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | +/// | `9` | `A` | `B` | `C` | `D` | `E` | `F` | `G` | +/// |-----------------------------------------------| +/// | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | +/// | `H` | `J` | `K` | `M` | `N` | `P` | `Q` | `R` | +/// |-----------------------------------------------| +/// | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | +/// | `S` | `T` | `U` | `V` | `W` | `X` | `Y` | `Z` | +/// ------------------------------------------------- + +/// Eg1: +/// 0x1A9BF0C00 -> index 4091296 +/// 4091296 = 3 * (32 ^ 4) + 28 * (32 ^ 3) + 27 * (32 ^ 2) + 13 * (32 ^ 1) + 0 * (32 ^ 0) +/// => (3), (28), (27), (13), (0) +/// => `4`, `W`, `V`, `E`, `1` +/// => "4WVE1" + +/// Eg2: +/// 0x4FEA13400 -> index 10399732 +/// 10399732 = 9 * (32 ^ 4) + 29 * (32 ^ 3) + 11 * (32 ^ 2) + 31 * (32 ^ 1) + 20 * (32 ^ 0) +/// => (9), (29), (11), (31), (20) +/// => `A`, `X`, `C`, `Z`, `N` +/// => "AXCZN" + +/// Compared with CommonCode, although ShortCode saves space, it completely +/// loses readability. The former can directly get the layout without the help +/// of a computer, while the latter is almost impossible to complete by the +/// human brain. + +#include +#include +#include +#include + +namespace klotski { +namespace codec { + +const uint32_t SHORT_CODE_LIMIT = 29334498; + +class CommonCode; +class ShortCode { +public: + static void speed_up(bool fast_mode); + explicit operator uint32_t() const noexcept; + static bool check(uint32_t short_code) noexcept; + friend std::ostream& operator<<(std::ostream &out, ShortCode self); + + [[nodiscard]] uint32_t unwrap() const noexcept; + [[nodiscard]] std::string to_string() const noexcept; + [[nodiscard]] CommonCode to_common_code() const noexcept; + +public: + ShortCode() = delete; + explicit ShortCode(CommonCode common_code) noexcept; + + static ShortCode unsafe_create(uint32_t short_code) noexcept; + static std::optional create(uint32_t short_code) noexcept; + + static std::optional from_string(std::string &&short_code) noexcept; + static std::optional from_string(const std::string &short_code) noexcept; + + static ShortCode from_common_code(CommonCode common_code) noexcept; + static std::optional from_common_code(uint64_t common_code) noexcept; + static std::optional from_common_code(std::string &&common_code) noexcept; + static std::optional from_common_code(const std::string &common_code) noexcept; + +private: + uint32_t code_; + static bool fast_available_; + + static uint64_t fast_decode(uint32_t short_code) noexcept; + static uint32_t fast_encode(uint64_t common_code) noexcept; + static uint64_t tiny_decode(uint32_t short_code) noexcept; + static uint32_t tiny_encode(uint64_t common_code) noexcept; + + static std::string string_encode(uint32_t short_code) noexcept; + static std::optional string_decode(const std::string &short_code) noexcept; +}; + +/// CommonCode compare implements. +inline bool operator==(uint32_t s1, ShortCode s2) noexcept { + return s1 == s2.unwrap(); +} + +inline bool operator==(ShortCode s1, ShortCode s2) noexcept { + return s1.unwrap() == s2.unwrap(); +} + +inline bool operator<(ShortCode s1, ShortCode s2) noexcept { + return s1.unwrap() < s2.unwrap(); +} + +inline bool operator>(ShortCode s1, ShortCode s2) noexcept { + return s1.unwrap() > s2.unwrap(); +} + +/// Get the original 32-bit code. +inline uint32_t ShortCode::unwrap() const noexcept { + return code_; +} + +/// Implicit conversion to 32-bit code. +inline ShortCode::operator uint32_t() const noexcept { + return code_; +} + +/// ShortCode create without any check. +inline ShortCode ShortCode::unsafe_create(uint32_t short_code) noexcept { + return *reinterpret_cast(&short_code); // init directly +} + +/// CommonCode create with valid check. +inline std::optional ShortCode::create(uint32_t short_code) noexcept { + if (ShortCode::check(short_code)) { + return ShortCode::unsafe_create(short_code); + } + return std::nullopt; +} + +/// Output string encoding of ShortCode. +inline std::ostream& operator<<(std::ostream &out, ShortCode self) { + out << ShortCode::string_encode(self.code_); + return out; +} + +} // namespace codec +} // namespace klotski diff --git a/src/core/short_code/sundry.cc b/src/core/short_code/sundry.cc new file mode 100644 index 0000000..6fea2c0 --- /dev/null +++ b/src/core/short_code/sundry.cc @@ -0,0 +1,23 @@ +#include "short_code.h" +#include "common_code.h" + +namespace klotski { +namespace codec { + +// FIXME: just for compile +CommonCode ShortCode::to_common_code() const noexcept { + return CommonCode::unsafe_create(0); +} + +// FIXME: just for compile +std::optional ShortCode::from_string(std::string &&short_code) noexcept { + return std::nullopt; +} + +// FIXME: just for compile +std::optional ShortCode::from_string(const std::string &short_code) noexcept { + return std::nullopt; +} + +} // namespace codec +} // namespace klotski diff --git a/src/core/utils/common.h b/src/core/utils/common.h new file mode 100644 index 0000000..7f5025b --- /dev/null +++ b/src/core/utils/common.h @@ -0,0 +1,74 @@ +#pragma once + +/// Klotski is an intellectual game, which fill a `5x4` chessboard with movable +/// pieces (called blocks), and a valid layout obeys the following three +/// requirements: +/// +/// 1. There are four types of blocks, namely `2x2` `2x1` `1x2` `1x1`. +/// +/// 2. There should be at least two free slots (called space). +/// +/// 3. `2x2` block must have and only one, `2x1` `1x2` `1x1` are not required +/// in number. +/// +/// NOTE: 2x2 -> # # | 2x1 -> # | 1x2 -> # # | 1x1 -> # +/// # # | # | | +/// +/// After statistics, there are a total of `29334498` cases that meet the above +/// requirements. + +#include + +/// NOTE: 0b101 and 0b110 are reserved +#define BLOCK_space 0b000 +#define BLOCK_fill 0b111 +#define BLOCK_1x2 0b001 +#define BLOCK_2x1 0b010 +#define BLOCK_1x1 0b011 +#define BLOCK_2x2 0b100 + +/// The four types of blocks are recorded using the following format. + +/// 1x1 | 1x2 | 2x1 | 2x2 +/// [B_1x1] | [B_1x2] [B_fill] | [B_2x1] | [B_2x2] [B_fill] +/// | | [B_fill] | [B_fill] [B_fill] + +/// Mapped to the chessboard, it can be expressed with the following 60-bit data. + +/// C_1x1 | C_1x2 | C_2x1 | C_2x2 +/// 011 000 000 000 | 001 111 000 000 | 010 000 000 000 | 100 111 000 000 +/// 000 000 000 000 | 000 000 000 000 | 111 000 000 000 | 111 111 000 000 +/// 000 000 000 000 | 000 000 000 000 | 000 000 000 000 | 000 000 000 000 +/// 000 000 000 000 | 000 000 000 000 | 000 000 000 000 | 000 000 000 000 +/// 000 000 000 000 | 000 000 000 000 | 000 000 000 000 | 000 000 000 000 + +#define K_MASK_1x1 (uint64_t)0x00003 // 000 000 000 000 000 011 +#define K_MASK_1x2 (uint64_t)0x00039 // 000 000 000 000 111 001 +#define K_MASK_2x1 (uint64_t)0x07002 // 000 111 000 000 000 010 +#define K_MASK_2x2 (uint64_t)0x3F03C // 111 111 000 000 111 100 + +/// Express block coverage with the following data. + +/// F_1x1 | F_1x2 | F_2x1 | F_2x2 +/// 111 000 000 000 | 111 111 000 000 | 111 000 000 000 | 111 111 000 000 +/// 000 000 000 000 | 000 000 000 000 | 111 000 000 000 | 111 111 000 000 +/// 000 000 000 000 | 000 000 000 000 | 000 000 000 000 | 000 000 000 000 +/// 000 000 000 000 | 000 000 000 000 | 000 000 000 000 | 000 000 000 000 +/// 000 000 000 000 | 000 000 000 000 | 000 000 000 000 | 000 000 000 000 + +#define K_MASK_1x1_ (uint64_t)0x00007 // 000 000 000 000 000 111 +#define K_MASK_1x2_ (uint64_t)0x0003F // 000 000 000 000 111 111 +#define K_MASK_2x1_ (uint64_t)0x07007 // 000 111 000 000 000 111 +#define K_MASK_2x2_ (uint64_t)0x3F03F // 111 111 000 000 111 111 + +/// F_1x1_R | F_1x1_D | F_2x1_R | F_1x2_D +/// 000 111 000 000 | 000 000 000 000 | 000 111 000 000 | 000 000 000 000 +/// 000 000 000 000 | 111 000 000 000 | 000 111 000 000 | 111 111 000 000 +/// 000 000 000 000 | 000 000 000 000 | 000 000 000 000 | 000 000 000 000 +/// 000 000 000 000 | 000 000 000 000 | 000 000 000 000 | 000 000 000 000 +/// 000 000 000 000 | 000 000 000 000 | 000 000 000 000 | 000 000 000 000 + +#define K_MASK_1x1_R (uint64_t)0x00038 // 000 000 000 000 111 000 +#define K_MASK_1x1_D (uint64_t)0x07000 // 000 111 000 000 000 000 +#define K_MASK_2x1_R (uint64_t)0x38038 // 111 000 000 000 111 000 +#define K_MASK_1x2_D (uint64_t)0x3F000 // 111 111 000 000 000 000