Browse Source

fix: ShortCode tiny codec error

legacy
Dnomd343 6 months ago
parent
commit
2f200da99d
  1. 70
      src/core/main.cc
  2. 16
      src/core/short_code/internal/convert.cc
  3. 984
      src/core/short_code/internal/offset/basic.h

70
src/core/main.cc

@ -2,6 +2,8 @@
#include <thread> #include <thread>
#include <iostream> #include <iostream>
#include <format> #include <format>
#include <map>
#include <unordered_set>
#include <ranges/ranges.h> #include <ranges/ranges.h>
#include "core/core.h" #include "core/core.h"
@ -34,51 +36,53 @@ int main() {
const auto start = std::chrono::system_clock::now(); const auto start = std::chrono::system_clock::now();
// AllCases::instance().build(); // auto kk = AllCases::instance().fetch()[1];
// for (auto &x : kk) {
for (int type_id = 0; type_id < klotski::cases::TYPE_ID_LIMIT; ++type_id) { // x >>= 20;
auto ret = GroupUnion::unsafe_create(type_id).cases(); // }
// std::cout << ret[4].size() << std::endl; // std::cout << kk.size() << std::endl;
}
// auto group_union = GroupUnion::unsafe_create(169); // for (int i = 0; i < 4096; ++i) {
// for (auto group : group_union.groups()) { // auto pp = std::ranges::lower_bound(kk.begin(), kk.end(), i);
// std::cout << group.type_id_ << ", " << group.group_id_ << std::endl; // std::cout << pp - kk.begin() << std::endl;
// } // }
// constexpr auto gu = GroupUnion::unsafe_create(169); // std::unordered_set<uint32_t> tmp;
// constexpr auto gu_ = GroupUnion::create(169).value(); // for (auto x : kk) {
// // constexpr auto gu_ = GroupUnion::create(1169).value(); // tmp.emplace(x);
// constexpr auto k1 = gu.unwrap(); // }
// constexpr auto k2 = gu.size(); // std::cout << tmp.size() << std::endl;
// constexpr auto k3 = gu.group_num();
// constexpr auto k4 = gu.max_group_size();
// auto kk = GroupUnion::unsafe_create(169); // ShortCode::speed_up(true);
// auto pp = kk.group(0).value(); // ShortCode::speed_up(false);
// std::cout << pp.type_id() << ", " << pp.group_id() << std::endl;
// for (auto group : kk.groups()) { // auto show_with_index = [](uint32_t index) {
// std::cout << group.type_id() << ", " << group.group_id() << std::endl; // uint64_t head = 1;
// uint32_t range = BasicRanges::instance().fetch()[index];
// std::cout << CommonCode::unsafe_create(head << 32 | range) << std::endl;
// };
//
// for (int offset = -29; offset < 42; ++offset) {
// std::cout << "offset = " << offset << " | ";
// show_with_index(4273474 + offset);
// } // }
auto short_code = ShortCode::unsafe_create(4091296);
std::cout << short_code.to_common_code() << std::endl;
auto gu = GroupUnion::unsafe_create(169); auto common_code = CommonCode::unsafe_create(0x1A9BF0C00);
// auto cases = gu.group(0).value().cases(); std::cout << common_code.to_short_code().unwrap() << std::endl;
// for (auto &kk : cases) { // auto kk = BasicRanges::instance().fetch();
// for (auto &x : kk) {
// x >>= 20;
// }
// std::cout << kk.size() << std::endl; // std::cout << kk.size() << std::endl;
// for (int i = 0; i < 4096; ++i) {
// auto pp = std::ranges::lower_bound(kk.begin(), kk.end(), i);
// std::cout << pp - kk.begin() << std::endl;
// } // }
klotski::cases::RangesUnion cases;
for (auto group : gu.groups()) {
cases += group.cases();
}
for (auto &kk : cases) {
std::ranges::sort(kk.begin(), kk.end());
}
std::cout << (cases == gu.cases()) << std::endl;
std::cerr << std::chrono::system_clock::now() - start << std::endl; std::cerr << std::chrono::system_clock::now() - start << std::endl;
// auto raw_code = RawCode::from_common_code(0x1A9BF0C00)->unwrap(); // auto raw_code = RawCode::from_common_code(0x1A9BF0C00)->unwrap();

16
src/core/short_code/internal/convert.cc

@ -71,9 +71,9 @@ uint32_t ShortCode::tiny_encode(uint64_t common_code) {
uint32_t offset = 0; uint32_t offset = 0;
auto index = BASIC_RANGES_OFFSET[prefix]; auto index = BASIC_RANGES_OFFSET[prefix];
const auto &basic_ranges = BasicRanges::instance().fetch(); const auto &basic_ranges = BasicRanges::instance().fetch();
auto target = range_reverse((uint32_t)common_code); // target range auto target = (uint32_t)common_code; // target range
for (; index < basic_ranges.size(); ++index) { for (; index < basic_ranges.size(); ++index) {
auto broken_offset = check_range(head, basic_ranges[index]); auto broken_offset = check_range(head, range_reverse(basic_ranges[index]));
if (!broken_offset) { // valid case if (!broken_offset) { // valid case
if (basic_ranges[index] == target) { if (basic_ranges[index] == target) {
break; // found target range break; // found target range
@ -81,8 +81,8 @@ uint32_t ShortCode::tiny_encode(uint64_t common_code) {
++offset; // record sub offset ++offset; // record sub offset
} else { } else {
auto delta = (uint32_t)1 << (32 - broken_offset * 2); // delta to next possible range auto delta = (uint32_t)1 << (32 - broken_offset * 2); // delta to next possible range
auto next_min = (range_reverse(basic_ranges[index]) & ~(delta - 1)) + delta; auto next_min = (basic_ranges[index] & ~(delta - 1)) + delta;
while (range_reverse(basic_ranges[++index]) < next_min); // located next range while (basic_ranges[++index] < next_min); // located next range
--index; --index;
} }
} }
@ -102,14 +102,14 @@ uint64_t ShortCode::tiny_decode(uint32_t short_code) { // short code --> common
auto index = BASIC_RANGES_OFFSET[prefix]; auto index = BASIC_RANGES_OFFSET[prefix];
const auto &basic_ranges = BasicRanges::instance().fetch(); const auto &basic_ranges = BasicRanges::instance().fetch();
for (; index < basic_ranges.size(); ++index) { // traverse basic ranges for (; index < basic_ranges.size(); ++index) { // traverse basic ranges
auto broken_offset = check_range(head, basic_ranges[index]); auto broken_offset = check_range(head, range_reverse(basic_ranges[index]));
if (!broken_offset && !short_code--) { // valid case -> short code approximate if (!broken_offset && !short_code--) { // valid case -> short code approximate
break; break;
} }
auto delta = (uint32_t)1 << (32 - broken_offset * 2); // delta to next possible range auto delta = (uint32_t)1 << (32 - broken_offset * 2); // delta to next possible range
auto next_min = (range_reverse(basic_ranges[index]) & ~(delta - 1)) + delta; auto next_min = (basic_ranges[index] & ~(delta - 1)) + delta;
while (range_reverse(basic_ranges[++index]) < next_min); // located next range while (basic_ranges[++index] < next_min); // located next range
--index; --index;
} }
return (uint64_t)head << 32 | range_reverse(basic_ranges[index]); return (uint64_t)head << 32 | basic_ranges[index];
} }

984
src/core/short_code/internal/offset/basic.h

@ -16,7 +16,7 @@ constexpr uint32_t ALL_CASES_OFFSET[16] {
21188294, 24131200, 26391592, 29334498, 21188294, 24131200, 26391592, 29334498,
}; };
/// This is the index for basic ranges, and its position (0 ~ 7311920) in all /// This is the index for basic ranges, and its position (0 ~ 7311884) in all
/// basic ranges is located according to the first 12-bit (0 ~ 4095) within the /// basic ranges is located according to the first 12-bit (0 ~ 4095) within the
/// 32-bit `range`. /// 32-bit `range`.
@ -43,497 +43,497 @@ constexpr uint32_t BASIC_RANGES_OFFSET[4096] {
558912, 561360, 562256, 563152, 565600, 566496, 566824, 567152, 558912, 561360, 562256, 563152, 565600, 566496, 566824, 567152,
568048, 568944, 569272, 569600, 570496, 572944, 573840, 574736, 568048, 568944, 569272, 569600, 570496, 572944, 573840, 574736,
577184, 579632, 580528, 581424, 583872, 584768, 585096, 585424, 577184, 579632, 580528, 581424, 583872, 584768, 585096, 585424,
586320, 587216, 587544, 587872, 588768, 591216, 592112, 593008, 586320, 587216, 587544, 587871, 588767, 591215, 592111, 593007,
595456, 602144, 604592, 607040, 613728, 616176, 617072, 617968, 595455, 602143, 604591, 607039, 613727, 616175, 617071, 617967,
620416, 622864, 623760, 624656, 627104, 633792, 636240, 638688, 620415, 622863, 623759, 624655, 627103, 633791, 636239, 638687,
645376, 663648, 670336, 677024, 695296, 701984, 704432, 706880, 645375, 663647, 670335, 677023, 695295, 701983, 704431, 706879,
713568, 720256, 722704, 725152, 731840, 750112, 756800, 763488, 713567, 720255, 722703, 725151, 731839, 750111, 756799, 763487,
781760, 788448, 790896, 793344, 800032, 802480, 803376, 804272, 781759, 788447, 790895, 793343, 800031, 802479, 803375, 804271,
806720, 809168, 810064, 810960, 813408, 820096, 822544, 824992, 806719, 809167, 810063, 810959, 813407, 820095, 822543, 824991,
831680, 838368, 840816, 843264, 849952, 852400, 853296, 854192, 831679, 838367, 840815, 843263, 849951, 852399, 853295, 854191,
856640, 859088, 859984, 860880, 863328, 870016, 872464, 874912, 856639, 859087, 859983, 860879, 863327, 870015, 872463, 874911,
881600, 899872, 906560, 913248, 931520, 938208, 940656, 943104, 881599, 899871, 906559, 913247, 931519, 938207, 940655, 943103,
949792, 956480, 958928, 961376, 968064, 986336, 993024, 999712, 949791, 956479, 958927, 961375, 968063, 986335, 993023, 999711,
1017984, 1024672, 1027120, 1029568, 1036256, 1038704, 1039600, 1040496, 1017983, 1024671, 1027119, 1029567, 1036255, 1038703, 1039599, 1040495,
1042944, 1045392, 1046288, 1047184, 1049632, 1056320, 1058768, 1061216, 1042943, 1045391, 1046287, 1047183, 1049631, 1056319, 1058767, 1061215,
1067904, 1070352, 1071248, 1072144, 1074592, 1075488, 1075816, 1076144, 1067903, 1070351, 1071247, 1072143, 1074591, 1075487, 1075815, 1076143,
1077040, 1077936, 1078264, 1078592, 1079488, 1081936, 1082832, 1083728, 1077039, 1077935, 1078263, 1078591, 1079487, 1081935, 1082831, 1083727,
1086176, 1088624, 1089520, 1090416, 1092864, 1093760, 1094088, 1094416, 1086175, 1088623, 1089519, 1090415, 1092863, 1093759, 1094087, 1094415,
1095312, 1096208, 1096536, 1096864, 1097760, 1100208, 1101104, 1102000, 1095311, 1096207, 1096535, 1096863, 1097759, 1100207, 1101103, 1101999,
1104448, 1111136, 1113584, 1116032, 1122720, 1125168, 1126064, 1126960, 1104447, 1111135, 1113583, 1116031, 1122719, 1125167, 1126063, 1126959,
1129408, 1131856, 1132752, 1133648, 1136096, 1142784, 1145232, 1147680, 1129407, 1131855, 1132751, 1133647, 1136095, 1142783, 1145231, 1147679,
1154368, 1156816, 1157712, 1158608, 1161056, 1161952, 1162280, 1162608, 1154367, 1156815, 1157711, 1158607, 1161055, 1161951, 1162279, 1162607,
1163504, 1164400, 1164728, 1165056, 1165952, 1168400, 1169296, 1170192, 1163503, 1164399, 1164727, 1165055, 1165951, 1168399, 1169295, 1170191,
1172640, 1173536, 1173864, 1174192, 1175088, 1175416, 1175515, 1175614, 1172639, 1173535, 1173863, 1174191, 1175087, 1175415, 1175514, 1175613,
1175899, 1176227, 1176326, 1176425, 1176710, 1177606, 1177891, 1178176, 1175898, 1176226, 1176325, 1176424, 1176709, 1177605, 1177890, 1178175,
1178987, 1179883, 1180211, 1180539, 1181435, 1181763, 1181862, 1181961, 1178986, 1179882, 1180210, 1180538, 1181434, 1181762, 1181861, 1181960,
1182246, 1182574, 1182673, 1182772, 1183057, 1183953, 1184238, 1184523, 1182245, 1182573, 1182672, 1182771, 1183056, 1183952, 1184237, 1184522,
1185334, 1187782, 1188678, 1189574, 1192022, 1192918, 1193203, 1193488, 1185333, 1187781, 1188677, 1189573, 1192021, 1192917, 1193202, 1193487,
1194299, 1195195, 1195480, 1195765, 1196576, 1199024, 1199835, 1200646, 1194298, 1195194, 1195479, 1195764, 1196575, 1199023, 1199834, 1200645,
1202923, 1205371, 1206267, 1207163, 1209611, 1210507, 1210835, 1211163, 1202922, 1205370, 1206266, 1207162, 1209610, 1210506, 1210834, 1211162,
1212059, 1212955, 1213283, 1213611, 1214507, 1216955, 1217851, 1218747, 1212058, 1212954, 1213282, 1213610, 1214506, 1216954, 1217850, 1218746,
1221195, 1222091, 1222419, 1222747, 1223643, 1223971, 1224070, 1224169, 1221194, 1222090, 1222418, 1222746, 1223642, 1223970, 1224069, 1224168,
1224454, 1224782, 1224881, 1224980, 1225265, 1226161, 1226446, 1226731, 1224453, 1224781, 1224880, 1224979, 1225264, 1226160, 1226445, 1226730,
1227542, 1228438, 1228766, 1229094, 1229990, 1230318, 1230417, 1230516, 1227541, 1228437, 1228765, 1229093, 1229989, 1230317, 1230416, 1230515,
1230801, 1231129, 1231228, 1231327, 1231612, 1232508, 1232793, 1233078, 1230800, 1231128, 1231227, 1231326, 1231611, 1232507, 1232792, 1233077,
1233889, 1236337, 1237233, 1238129, 1240577, 1241473, 1241758, 1242043, 1233888, 1236336, 1237232, 1238128, 1240576, 1241472, 1241757, 1242042,
1242854, 1243750, 1244035, 1244320, 1245131, 1247579, 1248390, 1249201, 1242853, 1243749, 1244034, 1244319, 1245130, 1247578, 1248389, 1249200,
1251478, 1258166, 1260614, 1263062, 1269750, 1272198, 1273094, 1273990, 1251477, 1258165, 1260613, 1263061, 1269749, 1272197, 1273093, 1273989,
1276438, 1278886, 1279782, 1280678, 1283126, 1289814, 1292262, 1294710, 1276437, 1278885, 1279781, 1280677, 1283125, 1289813, 1292261, 1294709,
1301398, 1303846, 1304742, 1305638, 1308086, 1308982, 1309267, 1309552, 1301397, 1303845, 1304741, 1305637, 1308085, 1308981, 1309266, 1309551,
1310363, 1311259, 1311544, 1311829, 1312640, 1315088, 1315899, 1316710, 1310362, 1311258, 1311543, 1311828, 1312639, 1315087, 1315898, 1316709,
1318987, 1321435, 1322331, 1323227, 1325675, 1326571, 1326856, 1327141, 1318986, 1321434, 1322330, 1323226, 1325674, 1326570, 1326855, 1327140,
1327952, 1328848, 1329133, 1329418, 1330229, 1332677, 1333488, 1334299, 1327951, 1328847, 1329132, 1329417, 1330228, 1332676, 1333487, 1334298,
1336576, 1343264, 1345712, 1348160, 1354848, 1357296, 1358107, 1358918, 1336575, 1343263, 1345711, 1348159, 1354847, 1357295, 1358106, 1358917,
1361195, 1363643, 1364454, 1365265, 1367542, 1374230, 1376507, 1378784, 1361194, 1363642, 1364453, 1365264, 1367541, 1374229, 1376506, 1378783,
1385131, 1391819, 1394267, 1396715, 1403403, 1405851, 1406747, 1407643, 1385130, 1391818, 1394266, 1396714, 1403402, 1405850, 1406746, 1407642,
1410091, 1412539, 1413435, 1414331, 1416779, 1423467, 1425915, 1428363, 1410090, 1412538, 1413434, 1414330, 1416778, 1423466, 1425914, 1428362,
1435051, 1437499, 1438395, 1439291, 1441739, 1442635, 1442963, 1443291, 1435050, 1437498, 1438394, 1439290, 1441738, 1442634, 1442962, 1443290,
1444187, 1445083, 1445411, 1445739, 1446635, 1449083, 1449979, 1450875, 1444186, 1445082, 1445410, 1445738, 1446634, 1449082, 1449978, 1450874,
1453323, 1455771, 1456667, 1457563, 1460011, 1460907, 1461235, 1461563, 1453322, 1455770, 1456666, 1457562, 1460010, 1460906, 1461234, 1461562,
1462459, 1463355, 1463683, 1464011, 1464907, 1467355, 1468251, 1469147, 1462458, 1463354, 1463682, 1464009, 1464905, 1467353, 1468249, 1469145,
1471595, 1478283, 1480731, 1483179, 1489867, 1492315, 1493211, 1494107, 1471593, 1478281, 1480729, 1483177, 1489865, 1492313, 1493209, 1494105,
1496555, 1499003, 1499899, 1500795, 1503243, 1509931, 1512379, 1514827, 1496553, 1499001, 1499897, 1500793, 1503241, 1509929, 1512377, 1514825,
1521515, 1523963, 1524859, 1525755, 1528203, 1529099, 1529427, 1529755, 1521513, 1523961, 1524857, 1525753, 1528201, 1529097, 1529425, 1529753,
1530651, 1531547, 1531875, 1532203, 1533099, 1535547, 1536443, 1537339, 1530649, 1531545, 1531873, 1532201, 1533097, 1535545, 1536441, 1537337,
1539787, 1540683, 1541011, 1541339, 1542235, 1542563, 1542662, 1542761, 1539785, 1540681, 1541009, 1541337, 1542233, 1542561, 1542660, 1542759,
1543046, 1543374, 1543473, 1543572, 1543857, 1544753, 1545038, 1545323, 1543044, 1543372, 1543471, 1543570, 1543855, 1544751, 1545036, 1545321,
1546134, 1547030, 1547358, 1547686, 1548582, 1548910, 1549009, 1549108, 1546132, 1547028, 1547356, 1547684, 1548580, 1548908, 1549007, 1549106,
1549393, 1549721, 1549820, 1549919, 1550204, 1551100, 1551385, 1551670, 1549391, 1549719, 1549818, 1549917, 1550202, 1551098, 1551383, 1551668,
1552481, 1554929, 1555825, 1556721, 1559169, 1560065, 1560350, 1560635, 1552479, 1554927, 1555823, 1556719, 1559167, 1560063, 1560348, 1560633,
1561446, 1562342, 1562627, 1562912, 1563723, 1566171, 1566982, 1567793, 1561444, 1562340, 1562625, 1562910, 1563721, 1566169, 1566980, 1567791,
1570070, 1572518, 1573414, 1574310, 1576758, 1577654, 1577982, 1578310, 1570068, 1572516, 1573412, 1574308, 1576756, 1577652, 1577980, 1578308,
1579206, 1580102, 1580430, 1580758, 1581654, 1584102, 1584998, 1585894, 1579204, 1580100, 1580428, 1580755, 1581651, 1584099, 1584995, 1585891,
1588342, 1589238, 1589566, 1589894, 1590790, 1591118, 1591217, 1591316, 1588339, 1589235, 1589563, 1589891, 1590787, 1591115, 1591214, 1591313,
1591601, 1591929, 1592028, 1592127, 1592412, 1593308, 1593593, 1593878, 1591598, 1591926, 1592025, 1592124, 1592409, 1593305, 1593590, 1593875,
1594689, 1595585, 1595913, 1596241, 1597137, 1597465, 1597564, 1597663, 1594686, 1595582, 1595910, 1596237, 1597133, 1597461, 1597560, 1597659,
1597948, 1598276, 1598375, 1598474, 1598759, 1599655, 1599940, 1600225, 1597944, 1598271, 1598370, 1598466, 1598751, 1599647, 1599932, 1600217,
1601036, 1603484, 1604380, 1605276, 1607724, 1608620, 1608905, 1609190, 1601028, 1603476, 1604372, 1605268, 1607716, 1608612, 1608897, 1609182,
1610001, 1610897, 1611182, 1611467, 1612278, 1614726, 1615537, 1616348, 1609993, 1610889, 1611174, 1611459, 1612270, 1614718, 1615529, 1616340,
1618625, 1625313, 1627761, 1630209, 1636897, 1639345, 1640241, 1641137, 1618617, 1625305, 1627753, 1630201, 1636889, 1639337, 1640233, 1641129,
1643585, 1646033, 1646929, 1647825, 1650273, 1656961, 1659409, 1661857, 1643577, 1646025, 1646921, 1647817, 1650265, 1656953, 1659401, 1661849,
1668545, 1670993, 1671889, 1672785, 1675233, 1676129, 1676414, 1676699, 1668537, 1670985, 1671881, 1672777, 1675225, 1676121, 1676406, 1676691,
1677510, 1678406, 1678691, 1678976, 1679787, 1682235, 1683046, 1683857, 1677502, 1678398, 1678683, 1678968, 1679779, 1682227, 1683038, 1683849,
1686134, 1688582, 1689478, 1690374, 1692822, 1693718, 1694003, 1694288, 1686126, 1688574, 1689470, 1690366, 1692814, 1693710, 1693995, 1694280,
1695099, 1695995, 1696280, 1696565, 1697376, 1699824, 1700635, 1701446, 1695091, 1695987, 1696272, 1696557, 1697368, 1699816, 1700627, 1701438,
1703723, 1710411, 1712859, 1715307, 1721995, 1724443, 1725254, 1726065, 1703715, 1710403, 1712851, 1715299, 1721987, 1724435, 1725246, 1726057,
1728342, 1730790, 1731601, 1732412, 1734689, 1741377, 1743654, 1745931, 1728334, 1730782, 1731593, 1732404, 1734681, 1741369, 1743646, 1745923,
1752278, 1770550, 1777238, 1783926, 1802198, 1808886, 1811334, 1813782, 1752270, 1770542, 1777230, 1783918, 1802190, 1808878, 1811326, 1813774,
1820470, 1827158, 1829606, 1832054, 1838742, 1857014, 1863702, 1870390, 1820462, 1827150, 1829598, 1832046, 1838734, 1857006, 1863694, 1870382,
1888662, 1895350, 1897798, 1900246, 1906934, 1909382, 1910278, 1911174, 1888654, 1895342, 1897790, 1900238, 1906926, 1909374, 1910270, 1911166,
1913622, 1916070, 1916966, 1917862, 1920310, 1926998, 1929446, 1931894, 1913614, 1916062, 1916958, 1917854, 1920302, 1926990, 1929438, 1931886,
1938582, 1945270, 1947718, 1950166, 1956854, 1959302, 1960198, 1961094, 1938574, 1945262, 1947710, 1950158, 1956846, 1959294, 1960190, 1961086,
1963542, 1965990, 1966886, 1967782, 1970230, 1976918, 1979366, 1981814, 1963534, 1965982, 1966878, 1967774, 1970222, 1976910, 1979358, 1981806,
1988502, 2006774, 2013462, 2020150, 2038422, 2045110, 2047558, 2050006, 1988494, 2006766, 2013454, 2020142, 2038414, 2045102, 2047550, 2049998,
2056694, 2063382, 2065830, 2068278, 2074966, 2093238, 2099926, 2106614, 2056686, 2063374, 2065822, 2068270, 2074958, 2093230, 2099918, 2106606,
2124886, 2131574, 2134022, 2136470, 2143158, 2145606, 2146502, 2147398, 2124878, 2131566, 2134014, 2136462, 2143150, 2145598, 2146494, 2147390,
2149846, 2152294, 2153190, 2154086, 2156534, 2163222, 2165670, 2168118, 2149838, 2152286, 2153182, 2154078, 2156526, 2163214, 2165662, 2168110,
2174806, 2177254, 2178150, 2179046, 2181494, 2182390, 2182675, 2182960, 2174798, 2177246, 2178142, 2179038, 2181486, 2182382, 2182667, 2182952,
2183771, 2184667, 2184952, 2185237, 2186048, 2188496, 2189307, 2190118, 2183763, 2184659, 2184944, 2185229, 2186040, 2188488, 2189299, 2190110,
2192395, 2194843, 2195739, 2196635, 2199083, 2199979, 2200264, 2200549, 2192387, 2194835, 2195731, 2196627, 2199075, 2199971, 2200256, 2200541,
2201360, 2202256, 2202541, 2202826, 2203637, 2206085, 2206896, 2207707, 2201352, 2202248, 2202533, 2202818, 2203629, 2206077, 2206888, 2207699,
2209984, 2216672, 2219120, 2221568, 2228256, 2230704, 2231515, 2232326, 2209976, 2216664, 2219112, 2221560, 2228248, 2230696, 2231507, 2232318,
2234603, 2237051, 2237862, 2238673, 2240950, 2247638, 2249915, 2252192, 2234595, 2237043, 2237854, 2238665, 2240942, 2247630, 2249907, 2252184,
2258539, 2265227, 2267675, 2270123, 2276811, 2279259, 2280155, 2281051, 2258531, 2265219, 2267667, 2270115, 2276803, 2279251, 2280147, 2281043,
2283499, 2285947, 2286843, 2287739, 2290187, 2296875, 2299323, 2301771, 2283491, 2285939, 2286835, 2287731, 2290179, 2296867, 2299315, 2301763,
2308459, 2310907, 2311803, 2312699, 2315147, 2316043, 2316328, 2316613, 2308451, 2310899, 2311795, 2312691, 2315139, 2316035, 2316320, 2316605,
2317424, 2318320, 2318605, 2318890, 2319701, 2322149, 2322960, 2323771, 2317416, 2318312, 2318597, 2318882, 2319693, 2322141, 2322952, 2323763,
2326048, 2328496, 2329392, 2330288, 2332736, 2333632, 2333917, 2334202, 2326040, 2328488, 2329384, 2330280, 2332728, 2333624, 2333909, 2334194,
2335013, 2335909, 2336194, 2336479, 2337290, 2339738, 2340549, 2341360, 2335005, 2335901, 2336186, 2336471, 2337282, 2339730, 2340541, 2341352,
2343637, 2350325, 2352773, 2355221, 2361909, 2364357, 2365168, 2365979, 2343629, 2350317, 2352765, 2355213, 2361901, 2364349, 2365160, 2365971,
2368256, 2370704, 2371515, 2372326, 2374603, 2381291, 2383568, 2385845, 2368248, 2370696, 2371507, 2372318, 2374595, 2381283, 2383560, 2385837,
2392192, 2410464, 2417152, 2423840, 2442112, 2448800, 2451248, 2453696, 2392184, 2410456, 2417144, 2423832, 2442104, 2448792, 2451240, 2453688,
2460384, 2467072, 2469520, 2471968, 2478656, 2496928, 2503616, 2510304, 2460376, 2467064, 2469512, 2471960, 2478648, 2496920, 2503608, 2510296,
2528576, 2535264, 2537712, 2540160, 2546848, 2549296, 2550107, 2550918, 2528568, 2535256, 2537704, 2540152, 2546840, 2549288, 2550099, 2550910,
2553195, 2555643, 2556454, 2557265, 2559542, 2566230, 2568507, 2570784, 2553187, 2555635, 2556446, 2557257, 2559534, 2566222, 2568499, 2570776,
2577131, 2583819, 2586267, 2588715, 2595403, 2597851, 2598662, 2599473, 2577123, 2583811, 2586259, 2588707, 2595395, 2597843, 2598654, 2599465,
2601750, 2604198, 2605009, 2605820, 2608097, 2614785, 2617062, 2619339, 2601742, 2604190, 2605001, 2605812, 2608089, 2614777, 2617054, 2619331,
2625686, 2643958, 2650646, 2657334, 2675606, 2682294, 2684571, 2686848, 2625678, 2643950, 2650638, 2657326, 2675598, 2682286, 2684563, 2686840,
2693195, 2699883, 2702160, 2704437, 2710784, 2729056, 2735403, 2741750, 2693187, 2699875, 2702152, 2704429, 2710776, 2729048, 2735395, 2741742,
2759339, 2766027, 2768475, 2770923, 2777611, 2780059, 2780955, 2781851, 2759331, 2766019, 2768467, 2770915, 2777603, 2780051, 2780947, 2781843,
2784299, 2786747, 2787643, 2788539, 2790987, 2797675, 2800123, 2802571, 2784291, 2786739, 2787635, 2788531, 2790979, 2797667, 2800115, 2802563,
2809259, 2811707, 2812603, 2813499, 2815947, 2816843, 2817171, 2817499, 2809251, 2811699, 2812595, 2813491, 2815939, 2816835, 2817163, 2817491,
2818395, 2819291, 2819619, 2819947, 2820843, 2823291, 2824187, 2825083, 2818387, 2819283, 2819611, 2819939, 2820835, 2823283, 2824179, 2825075,
2827531, 2829979, 2830875, 2831771, 2834219, 2835115, 2835443, 2835771, 2827523, 2829971, 2830867, 2831763, 2834211, 2835107, 2835435, 2835763,
2836667, 2837563, 2837891, 2838219, 2839115, 2841563, 2842459, 2843355, 2836659, 2837555, 2837883, 2838211, 2839107, 2841555, 2842451, 2843347,
2845803, 2852491, 2854939, 2857387, 2864075, 2866523, 2867419, 2868315, 2845795, 2852483, 2854931, 2857379, 2864067, 2866515, 2867411, 2868307,
2870763, 2873211, 2874107, 2875003, 2877451, 2884139, 2886587, 2889035, 2870755, 2873203, 2874099, 2874995, 2877443, 2884131, 2886579, 2889027,
2895723, 2898171, 2899067, 2899963, 2902411, 2903307, 2903635, 2903963, 2895715, 2898163, 2899059, 2899955, 2902403, 2903299, 2903627, 2903955,
2904859, 2905755, 2906083, 2906411, 2907307, 2909755, 2910651, 2911547, 2904851, 2905747, 2906075, 2906403, 2907299, 2909747, 2910643, 2911539,
2913995, 2914891, 2915219, 2915547, 2916443, 2916771, 2916870, 2916969, 2913987, 2914883, 2915211, 2915539, 2916435, 2916763, 2916862, 2916961,
2917254, 2917582, 2917681, 2917780, 2918065, 2918961, 2919246, 2919531, 2917246, 2917574, 2917673, 2917772, 2918057, 2918953, 2919238, 2919523,
2920342, 2921238, 2921566, 2921894, 2922790, 2923118, 2923217, 2923316, 2920334, 2921230, 2921558, 2921886, 2922782, 2923110, 2923209, 2923308,
2923601, 2923929, 2924028, 2924127, 2924412, 2925308, 2925593, 2925878, 2923593, 2923921, 2924020, 2924119, 2924404, 2925300, 2925585, 2925870,
2926689, 2929137, 2930033, 2930929, 2933377, 2934273, 2934558, 2934843, 2926681, 2929129, 2930025, 2930921, 2933369, 2934265, 2934550, 2934835,
2935654, 2936550, 2936835, 2937120, 2937931, 2940379, 2941190, 2942001, 2935646, 2936542, 2936827, 2937112, 2937923, 2940371, 2941182, 2941993,
2944278, 2946726, 2947622, 2948518, 2950966, 2951862, 2952190, 2952518, 2944270, 2946718, 2947614, 2948510, 2950958, 2951854, 2952182, 2952510,
2953414, 2954310, 2954638, 2954966, 2955862, 2958310, 2959206, 2960102, 2953406, 2954302, 2954630, 2954958, 2955854, 2958302, 2959198, 2960094,
2962550, 2963446, 2963774, 2964102, 2964998, 2965326, 2965425, 2965524, 2962542, 2963438, 2963766, 2964094, 2964990, 2965318, 2965417, 2965516,
2965809, 2966137, 2966236, 2966335, 2966620, 2967516, 2967801, 2968086, 2965801, 2966129, 2966228, 2966327, 2966612, 2967508, 2967793, 2968078,
2968897, 2969793, 2970121, 2970449, 2971345, 2971673, 2971772, 2971871, 2968889, 2969785, 2970113, 2970441, 2971337, 2971665, 2971764, 2971863,
2972156, 2972484, 2972583, 2972682, 2972967, 2973863, 2974148, 2974433, 2972148, 2972476, 2972575, 2972674, 2972959, 2973855, 2974140, 2974425,
2975244, 2977692, 2978588, 2979484, 2981932, 2982828, 2983113, 2983398, 2975236, 2977684, 2978580, 2979476, 2981924, 2982820, 2983105, 2983390,
2984209, 2985105, 2985390, 2985675, 2986486, 2988934, 2989745, 2990556, 2984201, 2985097, 2985382, 2985667, 2986478, 2988926, 2989737, 2990548,
2992833, 2999521, 3001969, 3004417, 3011105, 3013553, 3014449, 3015345, 2992825, 2999513, 3001961, 3004409, 3011097, 3013545, 3014441, 3015337,
3017793, 3020241, 3021137, 3022033, 3024481, 3031169, 3033617, 3036065, 3017785, 3020233, 3021129, 3022025, 3024473, 3031161, 3033609, 3036057,
3042753, 3045201, 3046097, 3046993, 3049441, 3050337, 3050622, 3050907, 3042745, 3045193, 3046089, 3046985, 3049433, 3050329, 3050614, 3050899,
3051718, 3052614, 3052899, 3053184, 3053995, 3056443, 3057254, 3058065, 3051710, 3052606, 3052891, 3053176, 3053987, 3056435, 3057246, 3058057,
3060342, 3062790, 3063686, 3064582, 3067030, 3067926, 3068211, 3068496, 3060334, 3062782, 3063678, 3064574, 3067022, 3067918, 3068203, 3068488,
3069307, 3070203, 3070488, 3070773, 3071584, 3074032, 3074843, 3075654, 3069299, 3070195, 3070480, 3070765, 3071576, 3074024, 3074835, 3075646,
3077931, 3084619, 3087067, 3089515, 3096203, 3098651, 3099462, 3100273, 3077923, 3084611, 3087059, 3089507, 3096195, 3098643, 3099454, 3100265,
3102550, 3104998, 3105809, 3106620, 3108897, 3115585, 3117862, 3120139, 3102542, 3104990, 3105801, 3106612, 3108889, 3115577, 3117854, 3120131,
3126486, 3128934, 3129830, 3130726, 3133174, 3134070, 3134398, 3134726, 3126478, 3128926, 3129822, 3130718, 3133166, 3134062, 3134390, 3134718,
3135622, 3136518, 3136846, 3137174, 3138070, 3140518, 3141414, 3142310, 3135614, 3136510, 3136838, 3137166, 3138062, 3140510, 3141406, 3142302,
3144758, 3145654, 3145982, 3146310, 3147206, 3147534, 3147633, 3147732, 3144750, 3145646, 3145974, 3146302, 3147198, 3147526, 3147625, 3147724,
3148017, 3148345, 3148444, 3148543, 3148828, 3149724, 3150009, 3150294, 3148009, 3148337, 3148436, 3148535, 3148820, 3149716, 3150001, 3150286,
3151105, 3152001, 3152329, 3152657, 3153553, 3153881, 3153980, 3154079, 3151097, 3151993, 3152321, 3152649, 3153545, 3153873, 3153972, 3154071,
3154364, 3154692, 3154791, 3154890, 3155175, 3156071, 3156356, 3156641, 3154356, 3154684, 3154783, 3154882, 3155167, 3156063, 3156348, 3156633,
3157452, 3159900, 3160796, 3161692, 3164140, 3165036, 3165321, 3165606, 3157444, 3159892, 3160788, 3161684, 3164132, 3165028, 3165313, 3165598,
3166417, 3167313, 3167598, 3167883, 3168694, 3171142, 3171953, 3172764, 3166409, 3167305, 3167590, 3167875, 3168686, 3171134, 3171945, 3172756,
3175041, 3175937, 3176265, 3176593, 3177489, 3177817, 3177916, 3178015, 3175033, 3175929, 3176257, 3176585, 3177481, 3177809, 3177908, 3178007,
3178300, 3178628, 3178727, 3178826, 3179111, 3180007, 3180292, 3180577, 3178292, 3178620, 3178719, 3178818, 3179103, 3179999, 3180284, 3180569,
3181388, 3181716, 3181815, 3181914, 3182199, 3182298, 3182315, 3182332, 3181380, 3181708, 3181807, 3181906, 3182191, 3182290, 3182307, 3182324,
3182390, 3182489, 3182506, 3182523, 3182581, 3182866, 3182924, 3182982, 3182382, 3182481, 3182498, 3182515, 3182573, 3182858, 3182916, 3182974,
3183173, 3183501, 3183600, 3183699, 3183984, 3184083, 3184100, 3184117, 3183165, 3183493, 3183592, 3183691, 3183976, 3184075, 3184092, 3184109,
3184175, 3184274, 3184291, 3184308, 3184366, 3184651, 3184709, 3184767, 3184167, 3184266, 3184283, 3184300, 3184358, 3184643, 3184701, 3184759,
3184958, 3185854, 3186139, 3186424, 3187235, 3187520, 3187578, 3187636, 3184950, 3185846, 3186131, 3186416, 3187227, 3187512, 3187570, 3187628,
3187827, 3188112, 3188170, 3188228, 3188419, 3189230, 3189421, 3189612, 3187819, 3188104, 3188162, 3188220, 3188411, 3189222, 3189413, 3189604,
3190204, 3191100, 3191428, 3191756, 3192652, 3192980, 3193079, 3193178, 3190196, 3191092, 3191420, 3191748, 3192644, 3192972, 3193071, 3193170,
3193463, 3193791, 3193890, 3193989, 3194274, 3195170, 3195455, 3195740, 3193455, 3193783, 3193882, 3193981, 3194266, 3195162, 3195447, 3195732,
3196551, 3196879, 3196978, 3197077, 3197362, 3197461, 3197478, 3197495, 3196543, 3196871, 3196970, 3197069, 3197354, 3197453, 3197470, 3197487,
3197553, 3197652, 3197669, 3197686, 3197744, 3198029, 3198087, 3198145, 3197545, 3197644, 3197661, 3197678, 3197736, 3198021, 3198079, 3198137,
3198336, 3198664, 3198763, 3198862, 3199147, 3199246, 3199263, 3199280, 3198328, 3198656, 3198755, 3198854, 3199139, 3199238, 3199255, 3199272,
3199338, 3199437, 3199454, 3199471, 3199529, 3199814, 3199872, 3199930, 3199330, 3199429, 3199446, 3199463, 3199521, 3199806, 3199864, 3199922,
3200121, 3201017, 3201302, 3201587, 3202398, 3202683, 3202741, 3202799, 3200113, 3201009, 3201294, 3201579, 3202390, 3202675, 3202733, 3202791,
3202990, 3203275, 3203333, 3203391, 3203582, 3204393, 3204584, 3204775, 3202982, 3203267, 3203325, 3203383, 3203574, 3204385, 3204576, 3204767,
3205367, 3207815, 3208711, 3209607, 3212055, 3212951, 3213236, 3213521, 3205359, 3207807, 3208703, 3209599, 3212047, 3212943, 3213228, 3213513,
3214332, 3215228, 3215513, 3215798, 3216609, 3219057, 3219868, 3220679, 3214324, 3215220, 3215505, 3215790, 3216601, 3219049, 3219860, 3220671,
3222956, 3223852, 3224137, 3224422, 3225233, 3225518, 3225576, 3225634, 3222948, 3223844, 3224129, 3224414, 3225225, 3225510, 3225568, 3225626,
3225825, 3226110, 3226168, 3226226, 3226417, 3227228, 3227419, 3227610, 3225817, 3226102, 3226160, 3226218, 3226409, 3227220, 3227411, 3227602,
3228202, 3229098, 3229383, 3229668, 3230479, 3230764, 3230822, 3230880, 3228194, 3229090, 3229375, 3229660, 3230471, 3230756, 3230814, 3230872,
3231071, 3231356, 3231414, 3231472, 3231663, 3232474, 3232665, 3232856, 3231063, 3231348, 3231406, 3231464, 3231655, 3232466, 3232657, 3232848,
3233448, 3235896, 3236707, 3237518, 3239795, 3240606, 3240797, 3240988, 3233440, 3235888, 3236699, 3237510, 3239787, 3240598, 3240789, 3240980,
3241580, 3242391, 3242582, 3242773, 3243365, 3245642, 3246234, 3246826, 3241572, 3242383, 3242574, 3242765, 3243357, 3245634, 3246226, 3246818,
3248611, 3251059, 3251955, 3252851, 3255299, 3256195, 3256523, 3256851, 3248603, 3251051, 3251947, 3252843, 3255291, 3256187, 3256515, 3256843,
3257747, 3258643, 3258971, 3259299, 3260195, 3262643, 3263539, 3264435, 3257739, 3258635, 3258963, 3259291, 3260187, 3262635, 3263531, 3264427,
3266883, 3267779, 3268107, 3268435, 3269331, 3269659, 3269758, 3269857, 3266875, 3267771, 3268099, 3268427, 3269323, 3269651, 3269750, 3269849,
3270142, 3270470, 3270569, 3270668, 3270953, 3271849, 3272134, 3272419, 3270134, 3270462, 3270561, 3270660, 3270945, 3271841, 3272126, 3272411,
3273230, 3274126, 3274454, 3274782, 3275678, 3276006, 3276105, 3276204, 3273222, 3274118, 3274446, 3274774, 3275670, 3275998, 3276097, 3276196,
3276489, 3276817, 3276916, 3277015, 3277300, 3278196, 3278481, 3278766, 3276481, 3276809, 3276908, 3277007, 3277292, 3278188, 3278473, 3278758,
3279577, 3282025, 3282921, 3283817, 3286265, 3287161, 3287446, 3287731, 3279569, 3282017, 3282913, 3283809, 3286257, 3287153, 3287438, 3287723,
3288542, 3289438, 3289723, 3290008, 3290819, 3293267, 3294078, 3294889, 3288534, 3289430, 3289715, 3290000, 3290811, 3293259, 3294070, 3294881,
3297166, 3298062, 3298390, 3298718, 3299614, 3299942, 3300041, 3300140, 3297158, 3298054, 3298382, 3298710, 3299606, 3299934, 3300033, 3300132,
3300425, 3300753, 3300852, 3300951, 3301236, 3302132, 3302417, 3302702, 3300417, 3300745, 3300844, 3300943, 3301228, 3302124, 3302409, 3302694,
3303513, 3303841, 3303940, 3304039, 3304324, 3304423, 3304440, 3304457, 3303505, 3303833, 3303932, 3304031, 3304316, 3304415, 3304432, 3304449,
3304515, 3304614, 3304631, 3304648, 3304706, 3304991, 3305049, 3305107, 3304507, 3304606, 3304623, 3304640, 3304698, 3304983, 3305041, 3305099,
3305298, 3305626, 3305725, 3305824, 3306109, 3306208, 3306225, 3306242, 3305290, 3305618, 3305717, 3305816, 3306101, 3306200, 3306217, 3306234,
3306300, 3306399, 3306416, 3306433, 3306491, 3306776, 3306834, 3306892, 3306292, 3306391, 3306408, 3306425, 3306483, 3306768, 3306826, 3306884,
3307083, 3307979, 3308264, 3308549, 3309360, 3309645, 3309703, 3309761, 3307075, 3307971, 3308256, 3308541, 3309352, 3309637, 3309695, 3309753,
3309952, 3310237, 3310295, 3310353, 3310544, 3311355, 3311546, 3311737, 3309944, 3310229, 3310287, 3310345, 3310536, 3311347, 3311538, 3311729,
3312329, 3313225, 3313553, 3313881, 3314777, 3315105, 3315204, 3315303, 3312321, 3313217, 3313545, 3313873, 3314769, 3315097, 3315196, 3315295,
3315588, 3315916, 3316015, 3316114, 3316399, 3317295, 3317580, 3317865, 3315580, 3315908, 3316007, 3316106, 3316391, 3317287, 3317572, 3317857,
3318676, 3319004, 3319103, 3319202, 3319487, 3319586, 3319603, 3319620, 3318668, 3318996, 3319095, 3319194, 3319479, 3319578, 3319595, 3319612,
3319678, 3319777, 3319794, 3319811, 3319869, 3320154, 3320212, 3320270, 3319670, 3319769, 3319786, 3319803, 3319861, 3320146, 3320204, 3320262,
3320461, 3320789, 3320888, 3320987, 3321272, 3321371, 3321388, 3321405, 3320453, 3320781, 3320880, 3320979, 3321264, 3321363, 3321380, 3321397,
3321463, 3321562, 3321579, 3321596, 3321654, 3321939, 3321997, 3322055, 3321455, 3321554, 3321571, 3321588, 3321646, 3321931, 3321989, 3322047,
3322246, 3323142, 3323427, 3323712, 3324523, 3324808, 3324866, 3324924, 3322238, 3323134, 3323419, 3323704, 3324515, 3324800, 3324858, 3324916,
3325115, 3325400, 3325458, 3325516, 3325707, 3326518, 3326709, 3326900, 3325107, 3325392, 3325450, 3325508, 3325699, 3326510, 3326701, 3326892,
3327492, 3329940, 3330836, 3331732, 3334180, 3335076, 3335361, 3335646, 3327484, 3329932, 3330828, 3331724, 3334172, 3335068, 3335353, 3335638,
3336457, 3337353, 3337638, 3337923, 3338734, 3341182, 3341993, 3342804, 3336449, 3337345, 3337630, 3337915, 3338726, 3341174, 3341985, 3342796,
3345081, 3345977, 3346262, 3346547, 3347358, 3347643, 3347701, 3347759, 3345073, 3345969, 3346254, 3346539, 3347350, 3347635, 3347693, 3347751,
3347950, 3348235, 3348293, 3348351, 3348542, 3349353, 3349544, 3349735, 3347942, 3348227, 3348285, 3348343, 3348534, 3349345, 3349536, 3349727,
3350327, 3351223, 3351508, 3351793, 3352604, 3352889, 3352947, 3353005, 3350319, 3351215, 3351500, 3351785, 3352596, 3352881, 3352939, 3352997,
3353196, 3353481, 3353539, 3353597, 3353788, 3354599, 3354790, 3354981, 3353188, 3353473, 3353531, 3353589, 3353780, 3354591, 3354782, 3354973,
3355573, 3358021, 3358832, 3359643, 3361920, 3362731, 3362922, 3363113, 3355565, 3358013, 3358824, 3359635, 3361912, 3362723, 3362914, 3363105,
3363705, 3364516, 3364707, 3364898, 3365490, 3367767, 3368359, 3368951, 3363697, 3364508, 3364699, 3364890, 3365482, 3367759, 3368351, 3368943,
3370736, 3377424, 3379872, 3382320, 3389008, 3391456, 3392352, 3393248, 3370728, 3377416, 3379864, 3382312, 3389000, 3391448, 3392344, 3393240,
3395696, 3398144, 3399040, 3399936, 3402384, 3409072, 3411520, 3413968, 3395688, 3398136, 3399032, 3399928, 3402376, 3409064, 3411512, 3413960,
3420656, 3423104, 3424000, 3424896, 3427344, 3428240, 3428525, 3428810, 3420648, 3423096, 3423992, 3424888, 3427336, 3428232, 3428517, 3428802,
3429621, 3430517, 3430802, 3431087, 3431898, 3434346, 3435157, 3435968, 3429613, 3430509, 3430794, 3431079, 3431890, 3434338, 3435149, 3435960,
3438245, 3440693, 3441589, 3442485, 3444933, 3445829, 3446114, 3446399, 3438237, 3440685, 3441581, 3442477, 3444925, 3445821, 3446106, 3446391,
3447210, 3448106, 3448391, 3448676, 3449487, 3451935, 3452746, 3453557, 3447202, 3448098, 3448383, 3448668, 3449479, 3451927, 3452738, 3453549,
3455834, 3462522, 3464970, 3467418, 3474106, 3476554, 3477365, 3478176, 3455826, 3462514, 3464962, 3467410, 3474098, 3476546, 3477357, 3478168,
3480453, 3482901, 3483712, 3484523, 3486800, 3493488, 3495765, 3498042, 3480445, 3482893, 3483704, 3484515, 3486792, 3493480, 3495757, 3498034,
3504389, 3506837, 3507733, 3508629, 3511077, 3511973, 3512258, 3512543, 3504381, 3506829, 3507725, 3508621, 3511069, 3511965, 3512250, 3512535,
3513354, 3514250, 3514535, 3514820, 3515631, 3518079, 3518890, 3519701, 3513346, 3514242, 3514527, 3514812, 3515623, 3518071, 3518882, 3519693,
3521978, 3522874, 3523159, 3523444, 3524255, 3524540, 3524598, 3524656, 3521970, 3522866, 3523151, 3523436, 3524247, 3524532, 3524590, 3524648,
3524847, 3525132, 3525190, 3525248, 3525439, 3526250, 3526441, 3526632, 3524839, 3525124, 3525182, 3525240, 3525431, 3526242, 3526433, 3526624,
3527224, 3528120, 3528405, 3528690, 3529501, 3529786, 3529844, 3529902, 3527216, 3528112, 3528397, 3528682, 3529493, 3529778, 3529836, 3529894,
3530093, 3530378, 3530436, 3530494, 3530685, 3531496, 3531687, 3531878, 3530085, 3530370, 3530428, 3530486, 3530677, 3531488, 3531679, 3531870,
3532470, 3534918, 3535729, 3536540, 3538817, 3539628, 3539819, 3540010, 3532462, 3534910, 3535721, 3536532, 3538809, 3539620, 3539811, 3540002,
3540602, 3541413, 3541604, 3541795, 3542387, 3544664, 3545256, 3545848, 3540594, 3541405, 3541596, 3541787, 3542379, 3544656, 3545248, 3545840,
3547633, 3550081, 3550977, 3551873, 3554321, 3555217, 3555502, 3555787, 3547625, 3550073, 3550969, 3551865, 3554313, 3555209, 3555494, 3555779,
3556598, 3557494, 3557779, 3558064, 3558875, 3561323, 3562134, 3562945, 3556590, 3557486, 3557771, 3558056, 3558867, 3561315, 3562126, 3562937,
3565222, 3566118, 3566403, 3566688, 3567499, 3567784, 3567842, 3567900, 3565214, 3566110, 3566395, 3566680, 3567491, 3567776, 3567834, 3567892,
3568091, 3568376, 3568434, 3568492, 3568683, 3569494, 3569685, 3569876, 3568083, 3568368, 3568426, 3568484, 3568675, 3569486, 3569677, 3569868,
3570468, 3571364, 3571649, 3571934, 3572745, 3573030, 3573088, 3573146, 3570460, 3571356, 3571641, 3571926, 3572737, 3573022, 3573080, 3573138,
3573337, 3573622, 3573680, 3573738, 3573929, 3574740, 3574931, 3575122, 3573329, 3573614, 3573672, 3573730, 3573921, 3574732, 3574923, 3575114,
3575714, 3578162, 3578973, 3579784, 3582061, 3582872, 3583063, 3583254, 3575706, 3578154, 3578965, 3579776, 3582053, 3582864, 3583055, 3583246,
3583846, 3584657, 3584848, 3585039, 3585631, 3587908, 3588500, 3589092, 3583838, 3584649, 3584840, 3585031, 3585623, 3587900, 3588492, 3589084,
3590877, 3597565, 3600013, 3602461, 3609149, 3611597, 3612408, 3613219, 3590869, 3597557, 3600005, 3602453, 3609141, 3611589, 3612400, 3613211,
3615496, 3617944, 3618755, 3619566, 3621843, 3628531, 3630808, 3633085, 3615488, 3617936, 3618747, 3619558, 3621835, 3628523, 3630800, 3633077,
3639432, 3641880, 3642691, 3643502, 3645779, 3646590, 3646781, 3646972, 3639424, 3641872, 3642683, 3643494, 3645771, 3646582, 3646773, 3646964,
3647564, 3648375, 3648566, 3648757, 3649349, 3651626, 3652218, 3652810, 3647556, 3648367, 3648558, 3648749, 3649341, 3651618, 3652210, 3652802,
3654595, 3657043, 3657854, 3658665, 3660942, 3661753, 3661944, 3662135, 3654587, 3657035, 3657846, 3658657, 3660934, 3661745, 3661936, 3662127,
3662727, 3663538, 3663729, 3663920, 3664512, 3666789, 3667381, 3667973, 3662719, 3663530, 3663721, 3663912, 3664504, 3666781, 3667373, 3667965,
3669758, 3676446, 3678723, 3681000, 3687347, 3689624, 3690216, 3690808, 3669750, 3676438, 3678715, 3680992, 3687339, 3689616, 3690208, 3690800,
3692593, 3694870, 3695462, 3696054, 3697839, 3704186, 3705971, 3707756, 3692585, 3694862, 3695454, 3696046, 3697831, 3704178, 3705963, 3707748,
3713002, 3719690, 3722138, 3724586, 3731274, 3733722, 3734618, 3735514, 3712994, 3719682, 3722130, 3724578, 3731266, 3733714, 3734610, 3735506,
3737962, 3740410, 3741306, 3742202, 3744650, 3751338, 3753786, 3756234, 3737954, 3740402, 3741298, 3742194, 3744642, 3751330, 3753778, 3756226,
3762922, 3765370, 3766266, 3767162, 3769610, 3770506, 3770834, 3771162, 3762914, 3765362, 3766258, 3767154, 3769602, 3770498, 3770826, 3771154,
3772058, 3772954, 3773282, 3773610, 3774506, 3776954, 3777850, 3778746, 3772050, 3772946, 3773274, 3773602, 3774498, 3776946, 3777842, 3778738,
3781194, 3783642, 3784538, 3785434, 3787882, 3788778, 3789106, 3789434, 3781186, 3783634, 3784530, 3785426, 3787874, 3788770, 3789098, 3789426,
3790330, 3791226, 3791554, 3791882, 3792778, 3795226, 3796122, 3797018, 3790322, 3791218, 3791546, 3791873, 3792769, 3795217, 3796113, 3797009,
3799466, 3806154, 3808602, 3811050, 3817738, 3820186, 3821082, 3821978, 3799457, 3806145, 3808593, 3811041, 3817729, 3820177, 3821073, 3821969,
3824426, 3826874, 3827770, 3828666, 3831114, 3837802, 3840250, 3842698, 3824417, 3826865, 3827761, 3828657, 3831105, 3837793, 3840241, 3842689,
3849386, 3851834, 3852730, 3853626, 3856074, 3856970, 3857298, 3857626, 3849377, 3851825, 3852721, 3853617, 3856065, 3856961, 3857289, 3857617,
3858522, 3859418, 3859746, 3860074, 3860970, 3863418, 3864314, 3865210, 3858513, 3859409, 3859737, 3860065, 3860961, 3863409, 3864305, 3865201,
3867658, 3868554, 3868882, 3869210, 3870106, 3870434, 3870533, 3870632, 3867649, 3868545, 3868873, 3869201, 3870097, 3870425, 3870524, 3870623,
3870917, 3871245, 3871344, 3871443, 3871728, 3872624, 3872909, 3873194, 3870908, 3871236, 3871335, 3871434, 3871719, 3872615, 3872900, 3873185,
3874005, 3874901, 3875229, 3875557, 3876453, 3876781, 3876880, 3876979, 3873996, 3874892, 3875220, 3875548, 3876444, 3876772, 3876871, 3876970,
3877264, 3877592, 3877691, 3877790, 3878075, 3878971, 3879256, 3879541, 3877255, 3877583, 3877682, 3877781, 3878066, 3878962, 3879247, 3879532,
3880352, 3882800, 3883696, 3884592, 3887040, 3887936, 3888221, 3888506, 3880343, 3882791, 3883687, 3884583, 3887031, 3887927, 3888212, 3888497,
3889317, 3890213, 3890498, 3890783, 3891594, 3894042, 3894853, 3895664, 3889308, 3890204, 3890489, 3890774, 3891585, 3894033, 3894844, 3895655,
3897941, 3900389, 3901285, 3902181, 3904629, 3905525, 3905853, 3906181, 3897932, 3900380, 3901276, 3902172, 3904620, 3905516, 3905844, 3906172,
3907077, 3907973, 3908301, 3908629, 3909525, 3911973, 3912869, 3913765, 3907068, 3907964, 3908292, 3908619, 3909515, 3911963, 3912859, 3913755,
3916213, 3917109, 3917437, 3917765, 3918661, 3918989, 3919088, 3919187, 3916203, 3917099, 3917427, 3917755, 3918651, 3918979, 3919078, 3919177,
3919472, 3919800, 3919899, 3919998, 3920283, 3921179, 3921464, 3921749, 3919462, 3919790, 3919889, 3919988, 3920273, 3921169, 3921454, 3921739,
3922560, 3923456, 3923784, 3924112, 3925008, 3925336, 3925435, 3925534, 3922550, 3923446, 3923774, 3924101, 3924997, 3925325, 3925424, 3925523,
3925819, 3926147, 3926246, 3926345, 3926630, 3927526, 3927811, 3928096, 3925808, 3926135, 3926234, 3926330, 3926615, 3927511, 3927796, 3928081,
3928907, 3931355, 3932251, 3933147, 3935595, 3936491, 3936776, 3937061, 3928892, 3931340, 3932236, 3933132, 3935580, 3936476, 3936761, 3937046,
3937872, 3938768, 3939053, 3939338, 3940149, 3942597, 3943408, 3944219, 3937857, 3938753, 3939038, 3939323, 3940134, 3942582, 3943393, 3944204,
3946496, 3953184, 3955632, 3958080, 3964768, 3967216, 3968112, 3969008, 3946481, 3953169, 3955617, 3958065, 3964753, 3967201, 3968097, 3968993,
3971456, 3973904, 3974800, 3975696, 3978144, 3984832, 3987280, 3989728, 3971441, 3973889, 3974785, 3975681, 3978129, 3984817, 3987265, 3989713,
3996416, 3998864, 3999760, 4000656, 4003104, 4004000, 4004285, 4004570, 3996401, 3998849, 3999745, 4000641, 4003089, 4003985, 4004270, 4004555,
4005381, 4006277, 4006562, 4006847, 4007658, 4010106, 4010917, 4011728, 4005366, 4006262, 4006547, 4006832, 4007643, 4010091, 4010902, 4011713,
4014005, 4016453, 4017349, 4018245, 4020693, 4021589, 4021874, 4022159, 4013990, 4016438, 4017334, 4018230, 4020678, 4021574, 4021859, 4022144,
4022970, 4023866, 4024151, 4024436, 4025247, 4027695, 4028506, 4029317, 4022955, 4023851, 4024136, 4024421, 4025232, 4027680, 4028491, 4029302,
4031594, 4038282, 4040730, 4043178, 4049866, 4052314, 4053125, 4053936, 4031579, 4038267, 4040715, 4043163, 4049851, 4052299, 4053110, 4053921,
4056213, 4058661, 4059472, 4060283, 4062560, 4069248, 4071525, 4073802, 4056198, 4058646, 4059457, 4060268, 4062545, 4069233, 4071510, 4073787,
4080149, 4082597, 4083493, 4084389, 4086837, 4087733, 4088061, 4088389, 4080134, 4082582, 4083478, 4084374, 4086822, 4087718, 4088046, 4088374,
4089285, 4090181, 4090509, 4090837, 4091733, 4094181, 4095077, 4095973, 4089270, 4090166, 4090494, 4090822, 4091718, 4094166, 4095062, 4095958,
4098421, 4099317, 4099645, 4099973, 4100869, 4101197, 4101296, 4101395, 4098406, 4099302, 4099630, 4099958, 4100854, 4101182, 4101281, 4101380,
4101680, 4102008, 4102107, 4102206, 4102491, 4103387, 4103672, 4103957, 4101665, 4101993, 4102092, 4102191, 4102476, 4103372, 4103657, 4103942,
4104768, 4105664, 4105992, 4106320, 4107216, 4107544, 4107643, 4107742, 4104753, 4105649, 4105977, 4106305, 4107201, 4107529, 4107628, 4107727,
4108027, 4108355, 4108454, 4108553, 4108838, 4109734, 4110019, 4110304, 4108012, 4108340, 4108439, 4108538, 4108823, 4109719, 4110004, 4110289,
4111115, 4113563, 4114459, 4115355, 4117803, 4118699, 4118984, 4119269, 4111100, 4113548, 4114444, 4115340, 4117788, 4118684, 4118969, 4119254,
4120080, 4120976, 4121261, 4121546, 4122357, 4124805, 4125616, 4126427, 4120065, 4120961, 4121246, 4121531, 4122342, 4124790, 4125601, 4126412,
4128704, 4129600, 4129928, 4130256, 4131152, 4131480, 4131579, 4131678, 4128689, 4129585, 4129913, 4130241, 4131137, 4131465, 4131564, 4131663,
4131963, 4132291, 4132390, 4132489, 4132774, 4133670, 4133955, 4134240, 4131948, 4132276, 4132375, 4132474, 4132759, 4133655, 4133940, 4134225,
4135051, 4135379, 4135478, 4135577, 4135862, 4135961, 4135978, 4135995, 4135036, 4135364, 4135463, 4135562, 4135847, 4135946, 4135963, 4135980,
4136053, 4136152, 4136169, 4136186, 4136244, 4136529, 4136587, 4136645, 4136038, 4136137, 4136154, 4136171, 4136229, 4136514, 4136572, 4136630,
4136836, 4137164, 4137263, 4137362, 4137647, 4137746, 4137763, 4137780, 4136821, 4137149, 4137248, 4137347, 4137632, 4137731, 4137748, 4137765,
4137838, 4137937, 4137954, 4137971, 4138029, 4138314, 4138372, 4138430, 4137823, 4137922, 4137939, 4137956, 4138014, 4138299, 4138357, 4138415,
4138621, 4139517, 4139802, 4140087, 4140898, 4141183, 4141241, 4141299, 4138606, 4139502, 4139787, 4140072, 4140883, 4141168, 4141226, 4141284,
4141490, 4141775, 4141833, 4141891, 4142082, 4142893, 4143084, 4143275, 4141475, 4141760, 4141818, 4141876, 4142067, 4142878, 4143069, 4143260,
4143867, 4144763, 4145091, 4145419, 4146315, 4146643, 4146742, 4146841, 4143852, 4144748, 4145076, 4145404, 4146300, 4146628, 4146727, 4146826,
4147126, 4147454, 4147553, 4147652, 4147937, 4148833, 4149118, 4149403, 4147111, 4147439, 4147538, 4147637, 4147922, 4148818, 4149103, 4149388,
4150214, 4150542, 4150641, 4150740, 4151025, 4151124, 4151141, 4151158, 4150199, 4150527, 4150626, 4150725, 4151010, 4151109, 4151126, 4151143,
4151216, 4151315, 4151332, 4151349, 4151407, 4151692, 4151750, 4151808, 4151201, 4151300, 4151317, 4151334, 4151392, 4151677, 4151735, 4151793,
4151999, 4152327, 4152426, 4152525, 4152810, 4152909, 4152926, 4152943, 4151984, 4152312, 4152411, 4152510, 4152795, 4152894, 4152911, 4152928,
4153001, 4153100, 4153117, 4153134, 4153192, 4153477, 4153535, 4153593, 4152986, 4153085, 4153102, 4153119, 4153177, 4153462, 4153520, 4153578,
4153784, 4154680, 4154965, 4155250, 4156061, 4156346, 4156404, 4156462, 4153769, 4154665, 4154950, 4155235, 4156046, 4156331, 4156389, 4156447,
4156653, 4156938, 4156996, 4157054, 4157245, 4158056, 4158247, 4158438, 4156638, 4156923, 4156981, 4157039, 4157230, 4158041, 4158232, 4158423,
4159030, 4161478, 4162374, 4163270, 4165718, 4166614, 4166899, 4167184, 4159015, 4161463, 4162359, 4163255, 4165703, 4166599, 4166884, 4167169,
4167995, 4168891, 4169176, 4169461, 4170272, 4172720, 4173531, 4174342, 4167980, 4168876, 4169161, 4169446, 4170257, 4172705, 4173516, 4174327,
4176619, 4177515, 4177800, 4178085, 4178896, 4179181, 4179239, 4179297, 4176604, 4177500, 4177785, 4178070, 4178881, 4179166, 4179224, 4179282,
4179488, 4179773, 4179831, 4179889, 4180080, 4180891, 4181082, 4181273, 4179473, 4179758, 4179816, 4179874, 4180065, 4180876, 4181067, 4181258,
4181865, 4182761, 4183046, 4183331, 4184142, 4184427, 4184485, 4184543, 4181850, 4182746, 4183031, 4183316, 4184127, 4184412, 4184470, 4184528,
4184734, 4185019, 4185077, 4185135, 4185326, 4186137, 4186328, 4186519, 4184719, 4185004, 4185062, 4185120, 4185311, 4186122, 4186313, 4186504,
4187111, 4189559, 4190370, 4191181, 4193458, 4194269, 4194460, 4194651, 4187096, 4189544, 4190355, 4191166, 4193443, 4194254, 4194445, 4194636,
4195243, 4196054, 4196245, 4196436, 4197028, 4199305, 4199897, 4200489, 4195228, 4196039, 4196230, 4196421, 4197013, 4199290, 4199882, 4200474,
4202274, 4204722, 4205618, 4206514, 4208962, 4209858, 4210186, 4210514, 4202259, 4204707, 4205603, 4206499, 4208947, 4209843, 4210171, 4210499,
4211410, 4212306, 4212634, 4212962, 4213858, 4216306, 4217202, 4218098, 4211395, 4212291, 4212619, 4212946, 4213842, 4216290, 4217186, 4218082,
4220546, 4221442, 4221770, 4222098, 4222994, 4223322, 4223421, 4223520, 4220530, 4221426, 4221754, 4222082, 4222978, 4223306, 4223405, 4223504,
4223805, 4224133, 4224232, 4224331, 4224616, 4225512, 4225797, 4226082, 4223789, 4224117, 4224216, 4224315, 4224600, 4225496, 4225781, 4226066,
4226893, 4227789, 4228117, 4228445, 4229341, 4229669, 4229768, 4229867, 4226877, 4227773, 4228101, 4228428, 4229324, 4229652, 4229751, 4229850,
4230152, 4230480, 4230579, 4230678, 4230963, 4231859, 4232144, 4232429, 4230135, 4230462, 4230561, 4230657, 4230942, 4231838, 4232123, 4232408,
4233240, 4235688, 4236584, 4237480, 4239928, 4240824, 4241109, 4241394, 4233219, 4235667, 4236563, 4237459, 4239907, 4240803, 4241088, 4241373,
4242205, 4243101, 4243386, 4243671, 4244482, 4246930, 4247741, 4248552, 4242184, 4243080, 4243365, 4243650, 4244461, 4246909, 4247720, 4248531,
4250829, 4251725, 4252053, 4252381, 4253277, 4253605, 4253704, 4253803, 4250808, 4251704, 4252032, 4252360, 4253256, 4253584, 4253683, 4253782,
4254088, 4254416, 4254515, 4254614, 4254899, 4255795, 4256080, 4256365, 4254067, 4254395, 4254494, 4254593, 4254878, 4255774, 4256059, 4256344,
4257176, 4257504, 4257603, 4257702, 4257987, 4258086, 4258103, 4258120, 4257155, 4257483, 4257582, 4257681, 4257966, 4258065, 4258082, 4258099,
4258178, 4258277, 4258294, 4258311, 4258369, 4258654, 4258712, 4258770, 4258157, 4258256, 4258273, 4258290, 4258348, 4258633, 4258691, 4258749,
4258961, 4259289, 4259388, 4259487, 4259772, 4259871, 4259888, 4259905, 4258940, 4259268, 4259367, 4259466, 4259751, 4259850, 4259867, 4259884,
4259963, 4260062, 4260079, 4260096, 4260154, 4260439, 4260497, 4260555, 4259942, 4260041, 4260058, 4260075, 4260133, 4260418, 4260476, 4260534,
4260746, 4261642, 4261927, 4262212, 4263023, 4263308, 4263366, 4263424, 4260725, 4261621, 4261906, 4262191, 4263002, 4263287, 4263345, 4263403,
4263615, 4263900, 4263958, 4264016, 4264207, 4265018, 4265209, 4265400, 4263594, 4263879, 4263937, 4263995, 4264186, 4264997, 4265188, 4265379,
4265992, 4266888, 4267216, 4267544, 4268440, 4268768, 4268867, 4268966, 4265971, 4266867, 4267195, 4267522, 4268418, 4268746, 4268845, 4268944,
4269251, 4269579, 4269678, 4269777, 4270062, 4270958, 4271243, 4271528, 4269229, 4269556, 4269655, 4269751, 4270036, 4270932, 4271217, 4271502,
4272339, 4272667, 4272766, 4272865, 4273150, 4273249, 4273266, 4273283, 4272313, 4272641, 4272740, 4272839, 4273124, 4273223, 4273240, 4273257,
4273341, 4273440, 4273457, 4273474, 4273532, 4273817, 4273875, 4273933, 4273315, 4273414, 4273431, 4273448, 4273506, 4273791, 4273849, 4273907,
4274124, 4274452, 4274551, 4274650, 4274935, 4275034, 4275051, 4275068, 4274098, 4274425, 4274524, 4274620, 4274905, 4275004, 4275021, 4275038,
4275126, 4275225, 4275242, 4275259, 4275317, 4275602, 4275660, 4275718, 4275096, 4275192, 4275209, 4275223, 4275281, 4275566, 4275624, 4275682,
4275909, 4276805, 4277090, 4277375, 4278186, 4278471, 4278529, 4278587, 4275873, 4276769, 4277054, 4277339, 4278150, 4278435, 4278493, 4278551,
4278778, 4279063, 4279121, 4279179, 4279370, 4280181, 4280372, 4280563, 4278742, 4279027, 4279085, 4279143, 4279334, 4280145, 4280336, 4280527,
4281155, 4283603, 4284499, 4285395, 4287843, 4288739, 4289024, 4289309, 4281119, 4283567, 4284463, 4285359, 4287807, 4288703, 4288988, 4289273,
4290120, 4291016, 4291301, 4291586, 4292397, 4294845, 4295656, 4296467, 4290084, 4290980, 4291265, 4291550, 4292361, 4294809, 4295620, 4296431,
4298744, 4299640, 4299925, 4300210, 4301021, 4301306, 4301364, 4301422, 4298708, 4299604, 4299889, 4300174, 4300985, 4301270, 4301328, 4301386,
4301613, 4301898, 4301956, 4302014, 4302205, 4303016, 4303207, 4303398, 4301577, 4301862, 4301920, 4301978, 4302169, 4302980, 4303171, 4303362,
4303990, 4304886, 4305171, 4305456, 4306267, 4306552, 4306610, 4306668, 4303954, 4304850, 4305135, 4305420, 4306231, 4306516, 4306574, 4306632,
4306859, 4307144, 4307202, 4307260, 4307451, 4308262, 4308453, 4308644, 4306823, 4307108, 4307166, 4307224, 4307415, 4308226, 4308417, 4308608,
4309236, 4311684, 4312495, 4313306, 4315583, 4316394, 4316585, 4316776, 4309200, 4311648, 4312459, 4313270, 4315547, 4316358, 4316549, 4316740,
4317368, 4318179, 4318370, 4318561, 4319153, 4321430, 4322022, 4322614, 4317332, 4318143, 4318334, 4318525, 4319117, 4321394, 4321986, 4322578,
4324399, 4331087, 4333535, 4335983, 4342671, 4345119, 4346015, 4346911, 4324363, 4331051, 4333499, 4335947, 4342635, 4345083, 4345979, 4346875,
4349359, 4351807, 4352703, 4353599, 4356047, 4362735, 4365183, 4367631, 4349323, 4351771, 4352667, 4353563, 4356011, 4362699, 4365147, 4367595,
4374319, 4376767, 4377663, 4378559, 4381007, 4381903, 4382188, 4382473, 4374283, 4376731, 4377627, 4378523, 4380971, 4381867, 4382152, 4382437,
4383284, 4384180, 4384465, 4384750, 4385561, 4388009, 4388820, 4389631, 4383248, 4384144, 4384429, 4384714, 4385525, 4387973, 4388784, 4389595,
4391908, 4394356, 4395252, 4396148, 4398596, 4399492, 4399777, 4400062, 4391872, 4394320, 4395216, 4396112, 4398560, 4399456, 4399741, 4400026,
4400873, 4401769, 4402054, 4402339, 4403150, 4405598, 4406409, 4407220, 4400837, 4401733, 4402018, 4402303, 4403114, 4405562, 4406373, 4407184,
4409497, 4416185, 4418633, 4421081, 4427769, 4430217, 4431028, 4431839, 4409461, 4416149, 4418597, 4421045, 4427733, 4430181, 4430992, 4431803,
4434116, 4436564, 4437375, 4438186, 4440463, 4447151, 4449428, 4451705, 4434080, 4436528, 4437339, 4438150, 4440427, 4447115, 4449392, 4451669,
4458052, 4460500, 4461396, 4462292, 4464740, 4465636, 4465921, 4466206, 4458016, 4460464, 4461360, 4462256, 4464704, 4465600, 4465885, 4466170,
4467017, 4467913, 4468198, 4468483, 4469294, 4471742, 4472553, 4473364, 4466981, 4467877, 4468162, 4468447, 4469258, 4471706, 4472517, 4473328,
4475641, 4476537, 4476822, 4477107, 4477918, 4478203, 4478261, 4478319, 4475605, 4476501, 4476786, 4477071, 4477882, 4478167, 4478225, 4478283,
4478510, 4478795, 4478853, 4478911, 4479102, 4479913, 4480104, 4480295, 4478474, 4478759, 4478817, 4478875, 4479066, 4479877, 4480068, 4480259,
4480887, 4481783, 4482068, 4482353, 4483164, 4483449, 4483507, 4483565, 4480851, 4481747, 4482032, 4482317, 4483128, 4483413, 4483471, 4483529,
4483756, 4484041, 4484099, 4484157, 4484348, 4485159, 4485350, 4485541, 4483720, 4484005, 4484063, 4484121, 4484312, 4485123, 4485314, 4485505,
4486133, 4488581, 4489392, 4490203, 4492480, 4493291, 4493482, 4493673, 4486097, 4488545, 4489356, 4490167, 4492444, 4493255, 4493446, 4493637,
4494265, 4495076, 4495267, 4495458, 4496050, 4498327, 4498919, 4499511, 4494229, 4495040, 4495231, 4495422, 4496014, 4498291, 4498883, 4499475,
4501296, 4503744, 4504640, 4505536, 4507984, 4508880, 4509165, 4509450, 4501260, 4503708, 4504604, 4505500, 4507948, 4508844, 4509129, 4509414,
4510261, 4511157, 4511442, 4511727, 4512538, 4514986, 4515797, 4516608, 4510225, 4511121, 4511406, 4511691, 4512502, 4514950, 4515761, 4516572,
4518885, 4519781, 4520066, 4520351, 4521162, 4521447, 4521505, 4521563, 4518849, 4519745, 4520030, 4520315, 4521126, 4521411, 4521469, 4521527,
4521754, 4522039, 4522097, 4522155, 4522346, 4523157, 4523348, 4523539, 4521718, 4522003, 4522061, 4522119, 4522310, 4523121, 4523312, 4523503,
4524131, 4525027, 4525312, 4525597, 4526408, 4526693, 4526751, 4526809, 4524095, 4524991, 4525276, 4525561, 4526372, 4526657, 4526715, 4526773,
4527000, 4527285, 4527343, 4527401, 4527592, 4528403, 4528594, 4528785, 4526964, 4527249, 4527307, 4527365, 4527556, 4528367, 4528558, 4528749,
4529377, 4531825, 4532636, 4533447, 4535724, 4536535, 4536726, 4536917, 4529341, 4531789, 4532600, 4533411, 4535688, 4536499, 4536690, 4536881,
4537509, 4538320, 4538511, 4538702, 4539294, 4541571, 4542163, 4542755, 4537473, 4538284, 4538475, 4538666, 4539258, 4541535, 4542127, 4542719,
4544540, 4551228, 4553676, 4556124, 4562812, 4565260, 4566071, 4566882, 4544504, 4551192, 4553640, 4556088, 4562776, 4565224, 4566035, 4566846,
4569159, 4571607, 4572418, 4573229, 4575506, 4582194, 4584471, 4586748, 4569123, 4571571, 4572382, 4573193, 4575470, 4582158, 4584435, 4586712,
4593095, 4595543, 4596354, 4597165, 4599442, 4600253, 4600444, 4600635, 4593059, 4595507, 4596318, 4597129, 4599406, 4600217, 4600408, 4600599,
4601227, 4602038, 4602229, 4602420, 4603012, 4605289, 4605881, 4606473, 4601191, 4602002, 4602193, 4602384, 4602976, 4605253, 4605845, 4606437,
4608258, 4610706, 4611517, 4612328, 4614605, 4615416, 4615607, 4615798, 4608222, 4610670, 4611481, 4612292, 4614569, 4615380, 4615571, 4615762,
4616390, 4617201, 4617392, 4617583, 4618175, 4620452, 4621044, 4621636, 4616354, 4617165, 4617356, 4617547, 4618139, 4620416, 4621008, 4621600,
4623421, 4630109, 4632386, 4634663, 4641010, 4643287, 4643879, 4644471, 4623385, 4630073, 4632350, 4634627, 4640974, 4643251, 4643843, 4644435,
4646256, 4648533, 4649125, 4649717, 4651502, 4657849, 4659634, 4661419, 4646220, 4648497, 4649089, 4649681, 4651466, 4657813, 4659598, 4661383,
4666665, 4684937, 4691625, 4698313, 4716585, 4723273, 4725721, 4728169, 4666629, 4684901, 4691589, 4698277, 4716549, 4723237, 4725685, 4728133,
4734857, 4741545, 4743993, 4746441, 4753129, 4771401, 4778089, 4784777, 4734821, 4741509, 4743957, 4746405, 4753093, 4771365, 4778053, 4784741,
4803049, 4809737, 4812185, 4814633, 4821321, 4823769, 4824665, 4825561, 4803013, 4809701, 4812149, 4814597, 4821285, 4823733, 4824629, 4825525,
4828009, 4830457, 4831353, 4832249, 4834697, 4841385, 4843833, 4846281, 4827973, 4830421, 4831317, 4832213, 4834661, 4841349, 4843797, 4846245,
4852969, 4859657, 4862105, 4864553, 4871241, 4873689, 4874585, 4875481, 4852933, 4859621, 4862069, 4864517, 4871205, 4873653, 4874549, 4875445,
4877929, 4880377, 4881273, 4882169, 4884617, 4891305, 4893753, 4896201, 4877893, 4880341, 4881237, 4882133, 4884581, 4891269, 4893717, 4896165,
4902889, 4921161, 4927849, 4934537, 4952809, 4959497, 4961945, 4964393, 4902853, 4921125, 4927813, 4934501, 4952773, 4959461, 4961909, 4964357,
4971081, 4977769, 4980217, 4982665, 4989353, 5007625, 5014313, 5021001, 4971045, 4977733, 4980181, 4982629, 4989317, 5007589, 5014277, 5020965,
5039273, 5045961, 5048409, 5050857, 5057545, 5059993, 5060889, 5061785, 5039237, 5045925, 5048373, 5050821, 5057509, 5059957, 5060853, 5061749,
5064233, 5066681, 5067577, 5068473, 5070921, 5077609, 5080057, 5082505, 5064197, 5066645, 5067541, 5068437, 5070885, 5077573, 5080021, 5082469,
5089193, 5091641, 5092537, 5093433, 5095881, 5096777, 5097062, 5097347, 5089157, 5091605, 5092501, 5093397, 5095845, 5096741, 5097026, 5097311,
5098158, 5099054, 5099339, 5099624, 5100435, 5102883, 5103694, 5104505, 5098122, 5099018, 5099303, 5099588, 5100399, 5102847, 5103658, 5104469,
5106782, 5109230, 5110126, 5111022, 5113470, 5114366, 5114651, 5114936, 5106746, 5109194, 5110090, 5110986, 5113434, 5114330, 5114615, 5114900,
5115747, 5116643, 5116928, 5117213, 5118024, 5120472, 5121283, 5122094, 5115711, 5116607, 5116892, 5117177, 5117988, 5120436, 5121247, 5122058,
5124371, 5131059, 5133507, 5135955, 5142643, 5145091, 5145902, 5146713, 5124335, 5131023, 5133471, 5135919, 5142607, 5145055, 5145866, 5146677,
5148990, 5151438, 5152249, 5153060, 5155337, 5162025, 5164302, 5166579, 5148954, 5151402, 5152213, 5153024, 5155301, 5161989, 5164266, 5166543,
5172926, 5179614, 5182062, 5184510, 5191198, 5193646, 5194542, 5195438, 5172890, 5179578, 5182026, 5184474, 5191162, 5193610, 5194506, 5195402,
5197886, 5200334, 5201230, 5202126, 5204574, 5211262, 5213710, 5216158, 5197850, 5200298, 5201194, 5202090, 5204538, 5211226, 5213674, 5216122,
5222846, 5225294, 5226190, 5227086, 5229534, 5230430, 5230715, 5231000, 5222810, 5225258, 5226154, 5227050, 5229498, 5230394, 5230679, 5230964,
5231811, 5232707, 5232992, 5233277, 5234088, 5236536, 5237347, 5238158, 5231775, 5232671, 5232956, 5233241, 5234052, 5236500, 5237311, 5238122,
5240435, 5242883, 5243779, 5244675, 5247123, 5248019, 5248304, 5248589, 5240399, 5242847, 5243743, 5244639, 5247087, 5247983, 5248268, 5248553,
5249400, 5250296, 5250581, 5250866, 5251677, 5254125, 5254936, 5255747, 5249364, 5250260, 5250545, 5250830, 5251641, 5254089, 5254900, 5255711,
5258024, 5264712, 5267160, 5269608, 5276296, 5278744, 5279555, 5280366, 5257988, 5264676, 5267124, 5269572, 5276260, 5278708, 5279519, 5280330,
5282643, 5285091, 5285902, 5286713, 5288990, 5295678, 5297955, 5300232, 5282607, 5285055, 5285866, 5286677, 5288954, 5295642, 5297919, 5300196,
5306579, 5324851, 5331539, 5338227, 5356499, 5363187, 5365635, 5368083, 5306543, 5324815, 5331503, 5338191, 5356463, 5363151, 5365599, 5368047,
5374771, 5381459, 5383907, 5386355, 5393043, 5411315, 5418003, 5424691, 5374735, 5381423, 5383871, 5386319, 5393007, 5411279, 5417967, 5424655,
5442963, 5449651, 5452099, 5454547, 5461235, 5463683, 5464494, 5465305, 5442927, 5449615, 5452063, 5454511, 5461199, 5463647, 5464458, 5465269,
5467582, 5470030, 5470841, 5471652, 5473929, 5480617, 5482894, 5485171, 5467546, 5469994, 5470805, 5471616, 5473893, 5480581, 5482858, 5485135,
5491518, 5498206, 5500654, 5503102, 5509790, 5512238, 5513049, 5513860, 5491482, 5498170, 5500618, 5503066, 5509754, 5512202, 5513013, 5513824,
5516137, 5518585, 5519396, 5520207, 5522484, 5529172, 5531449, 5533726, 5516101, 5518549, 5519360, 5520171, 5522448, 5529136, 5531413, 5533690,
5540073, 5558345, 5565033, 5571721, 5589993, 5596681, 5598958, 5601235, 5540037, 5558309, 5564997, 5571685, 5589957, 5596645, 5598922, 5601199,
5607582, 5614270, 5616547, 5618824, 5625171, 5643443, 5649790, 5656137, 5607546, 5614234, 5616511, 5618788, 5625135, 5643407, 5649754, 5656101,
5673726, 5680414, 5682862, 5685310, 5691998, 5694446, 5695342, 5696238, 5673690, 5680378, 5682826, 5685274, 5691962, 5694410, 5695306, 5696202,
5698686, 5701134, 5702030, 5702926, 5705374, 5712062, 5714510, 5716958, 5698650, 5701098, 5701994, 5702890, 5705338, 5712026, 5714474, 5716922,
5723646, 5726094, 5726990, 5727886, 5730334, 5731230, 5731515, 5731800, 5723610, 5726058, 5726954, 5727850, 5730298, 5731194, 5731479, 5731764,
5732611, 5733507, 5733792, 5734077, 5734888, 5737336, 5738147, 5738958, 5732575, 5733471, 5733756, 5734041, 5734852, 5737300, 5738111, 5738922,
5741235, 5743683, 5744579, 5745475, 5747923, 5748819, 5749104, 5749389, 5741199, 5743647, 5744543, 5745439, 5747887, 5748783, 5749068, 5749353,
5750200, 5751096, 5751381, 5751666, 5752477, 5754925, 5755736, 5756547, 5750164, 5751060, 5751345, 5751630, 5752441, 5754889, 5755700, 5756511,
5758824, 5765512, 5767960, 5770408, 5777096, 5779544, 5780355, 5781166, 5758788, 5765476, 5767924, 5770372, 5777060, 5779508, 5780319, 5781130,
5783443, 5785891, 5786702, 5787513, 5789790, 5796478, 5798755, 5801032, 5783407, 5785855, 5786666, 5787477, 5789754, 5796442, 5798719, 5800996,
5807379, 5809827, 5810723, 5811619, 5814067, 5814963, 5815248, 5815533, 5807343, 5809791, 5810687, 5811583, 5814031, 5814927, 5815212, 5815497,
5816344, 5817240, 5817525, 5817810, 5818621, 5821069, 5821880, 5822691, 5816308, 5817204, 5817489, 5817774, 5818585, 5821033, 5821844, 5822655,
5824968, 5825864, 5826149, 5826434, 5827245, 5827530, 5827588, 5827646, 5824932, 5825828, 5826113, 5826398, 5827209, 5827494, 5827552, 5827610,
5827837, 5828122, 5828180, 5828238, 5828429, 5829240, 5829431, 5829622, 5827801, 5828086, 5828144, 5828202, 5828393, 5829204, 5829395, 5829586,
5830214, 5831110, 5831395, 5831680, 5832491, 5832776, 5832834, 5832892, 5830178, 5831074, 5831359, 5831644, 5832455, 5832740, 5832798, 5832856,
5833083, 5833368, 5833426, 5833484, 5833675, 5834486, 5834677, 5834868, 5833047, 5833332, 5833390, 5833448, 5833639, 5834450, 5834641, 5834832,
5835460, 5837908, 5838719, 5839530, 5841807, 5842618, 5842809, 5843000, 5835424, 5837872, 5838683, 5839494, 5841771, 5842582, 5842773, 5842964,
5843592, 5844403, 5844594, 5844785, 5845377, 5847654, 5848246, 5848838, 5843556, 5844367, 5844558, 5844749, 5845341, 5847618, 5848210, 5848802,
5850623, 5853071, 5853967, 5854863, 5857311, 5858207, 5858492, 5858777, 5850587, 5853035, 5853931, 5854827, 5857275, 5858171, 5858456, 5858741,
5859588, 5860484, 5860769, 5861054, 5861865, 5864313, 5865124, 5865935, 5859552, 5860448, 5860733, 5861018, 5861829, 5864277, 5865088, 5865899,
5868212, 5869108, 5869393, 5869678, 5870489, 5870774, 5870832, 5870890, 5868176, 5869072, 5869357, 5869642, 5870453, 5870738, 5870796, 5870854,
5871081, 5871366, 5871424, 5871482, 5871673, 5872484, 5872675, 5872866, 5871045, 5871330, 5871388, 5871446, 5871637, 5872448, 5872639, 5872830,
5873458, 5874354, 5874639, 5874924, 5875735, 5876020, 5876078, 5876136, 5873422, 5874318, 5874603, 5874888, 5875699, 5875984, 5876042, 5876100,
5876327, 5876612, 5876670, 5876728, 5876919, 5877730, 5877921, 5878112, 5876291, 5876576, 5876634, 5876692, 5876883, 5877694, 5877885, 5878076,
5878704, 5881152, 5881963, 5882774, 5885051, 5885862, 5886053, 5886244, 5878668, 5881116, 5881927, 5882738, 5885015, 5885826, 5886017, 5886208,
5886836, 5887647, 5887838, 5888029, 5888621, 5890898, 5891490, 5892082, 5886800, 5887611, 5887802, 5887993, 5888585, 5890862, 5891454, 5892046,
5893867, 5900555, 5903003, 5905451, 5912139, 5914587, 5915398, 5916209, 5893831, 5900519, 5902967, 5905415, 5912103, 5914551, 5915362, 5916173,
5918486, 5920934, 5921745, 5922556, 5924833, 5931521, 5933798, 5936075, 5918450, 5920898, 5921709, 5922520, 5924797, 5931485, 5933762, 5936039,
5942422, 5944870, 5945681, 5946492, 5948769, 5949580, 5949771, 5949962, 5942386, 5944834, 5945645, 5946456, 5948733, 5949544, 5949735, 5949926,
5950554, 5951365, 5951556, 5951747, 5952339, 5954616, 5955208, 5955800, 5950518, 5951329, 5951520, 5951711, 5952303, 5954580, 5955172, 5955764,
5957585, 5960033, 5960844, 5961655, 5963932, 5964743, 5964934, 5965125, 5957549, 5959997, 5960808, 5961619, 5963896, 5964707, 5964898, 5965089,
5965717, 5966528, 5966719, 5966910, 5967502, 5969779, 5970371, 5970963, 5965681, 5966492, 5966683, 5966874, 5967466, 5969743, 5970335, 5970927,
5972748, 5979436, 5981713, 5983990, 5990337, 5992614, 5993206, 5993798, 5972712, 5979400, 5981677, 5983954, 5990301, 5992578, 5993170, 5993762,
5995583, 5997860, 5998452, 5999044, 6000829, 6007176, 6008961, 6010746, 5995547, 5997824, 5998416, 5999008, 6000793, 6007140, 6008925, 6010710,
6015992, 6022680, 6025128, 6027576, 6034264, 6036712, 6037608, 6038504, 6015956, 6022644, 6025092, 6027540, 6034228, 6036676, 6037572, 6038468,
6040952, 6043400, 6044296, 6045192, 6047640, 6054328, 6056776, 6059224, 6040916, 6043364, 6044260, 6045156, 6047604, 6054292, 6056740, 6059188,
6065912, 6068360, 6069256, 6070152, 6072600, 6073496, 6073781, 6074066, 6065876, 6068324, 6069220, 6070116, 6072564, 6073460, 6073745, 6074030,
6074877, 6075773, 6076058, 6076343, 6077154, 6079602, 6080413, 6081224, 6074841, 6075737, 6076022, 6076307, 6077118, 6079566, 6080377, 6081188,
6083501, 6085949, 6086845, 6087741, 6090189, 6091085, 6091370, 6091655, 6083465, 6085913, 6086809, 6087705, 6090153, 6091049, 6091334, 6091619,
6092466, 6093362, 6093647, 6093932, 6094743, 6097191, 6098002, 6098813, 6092430, 6093326, 6093611, 6093896, 6094707, 6097155, 6097966, 6098777,
6101090, 6107778, 6110226, 6112674, 6119362, 6121810, 6122621, 6123432, 6101054, 6107742, 6110190, 6112638, 6119326, 6121774, 6122585, 6123396,
6125709, 6128157, 6128968, 6129779, 6132056, 6138744, 6141021, 6143298, 6125673, 6128121, 6128932, 6129743, 6132020, 6138708, 6140985, 6143262,
6149645, 6152093, 6152989, 6153885, 6156333, 6157229, 6157514, 6157799, 6149609, 6152057, 6152953, 6153849, 6156297, 6157193, 6157478, 6157763,
6158610, 6159506, 6159791, 6160076, 6160887, 6163335, 6164146, 6164957, 6158574, 6159470, 6159755, 6160040, 6160851, 6163299, 6164110, 6164921,
6167234, 6168130, 6168415, 6168700, 6169511, 6169796, 6169854, 6169912, 6167198, 6168094, 6168379, 6168664, 6169475, 6169760, 6169818, 6169876,
6170103, 6170388, 6170446, 6170504, 6170695, 6171506, 6171697, 6171888, 6170067, 6170352, 6170410, 6170468, 6170659, 6171470, 6171661, 6171852,
6172480, 6173376, 6173661, 6173946, 6174757, 6175042, 6175100, 6175158, 6172444, 6173340, 6173625, 6173910, 6174721, 6175006, 6175064, 6175122,
6175349, 6175634, 6175692, 6175750, 6175941, 6176752, 6176943, 6177134, 6175313, 6175598, 6175656, 6175714, 6175905, 6176716, 6176907, 6177098,
6177726, 6180174, 6180985, 6181796, 6184073, 6184884, 6185075, 6185266, 6177690, 6180138, 6180949, 6181760, 6184037, 6184848, 6185039, 6185230,
6185858, 6186669, 6186860, 6187051, 6187643, 6189920, 6190512, 6191104, 6185822, 6186633, 6186824, 6187015, 6187607, 6189884, 6190476, 6191068,
6192889, 6195337, 6196233, 6197129, 6199577, 6200473, 6200758, 6201043, 6192853, 6195301, 6196197, 6197093, 6199541, 6200437, 6200722, 6201007,
6201854, 6202750, 6203035, 6203320, 6204131, 6206579, 6207390, 6208201, 6201818, 6202714, 6202999, 6203284, 6204095, 6206543, 6207354, 6208165,
6210478, 6211374, 6211659, 6211944, 6212755, 6213040, 6213098, 6213156, 6210442, 6211338, 6211623, 6211908, 6212719, 6213004, 6213062, 6213120,
6213347, 6213632, 6213690, 6213748, 6213939, 6214750, 6214941, 6215132, 6213311, 6213596, 6213654, 6213712, 6213903, 6214714, 6214905, 6215096,
6215724, 6216620, 6216905, 6217190, 6218001, 6218286, 6218344, 6218402, 6215688, 6216584, 6216869, 6217154, 6217965, 6218250, 6218308, 6218366,
6218593, 6218878, 6218936, 6218994, 6219185, 6219996, 6220187, 6220378, 6218557, 6218842, 6218900, 6218958, 6219149, 6219960, 6220151, 6220342,
6220970, 6223418, 6224229, 6225040, 6227317, 6228128, 6228319, 6228510, 6220934, 6223382, 6224193, 6225004, 6227281, 6228092, 6228283, 6228474,
6229102, 6229913, 6230104, 6230295, 6230887, 6233164, 6233756, 6234348, 6229066, 6229877, 6230068, 6230259, 6230851, 6233128, 6233720, 6234312,
6236133, 6242821, 6245269, 6247717, 6254405, 6256853, 6257664, 6258475, 6236097, 6242785, 6245233, 6247681, 6254369, 6256817, 6257628, 6258439,
6260752, 6263200, 6264011, 6264822, 6267099, 6273787, 6276064, 6278341, 6260716, 6263164, 6263975, 6264786, 6267063, 6273751, 6276028, 6278305,
6284688, 6287136, 6287947, 6288758, 6291035, 6291846, 6292037, 6292228, 6284652, 6287100, 6287911, 6288722, 6290999, 6291810, 6292001, 6292192,
6292820, 6293631, 6293822, 6294013, 6294605, 6296882, 6297474, 6298066, 6292784, 6293595, 6293786, 6293977, 6294569, 6296846, 6297438, 6298030,
6299851, 6302299, 6303110, 6303921, 6306198, 6307009, 6307200, 6307391, 6299815, 6302263, 6303074, 6303885, 6306162, 6306973, 6307164, 6307355,
6307983, 6308794, 6308985, 6309176, 6309768, 6312045, 6312637, 6313229, 6307947, 6308758, 6308949, 6309140, 6309732, 6312009, 6312601, 6313193,
6315014, 6321702, 6323979, 6326256, 6332603, 6334880, 6335472, 6336064, 6314978, 6321666, 6323943, 6326220, 6332567, 6334844, 6335436, 6336028,
6337849, 6340126, 6340718, 6341310, 6343095, 6349442, 6351227, 6353012, 6337813, 6340090, 6340682, 6341274, 6343059, 6349406, 6351191, 6352976,
6358258, 6376530, 6383218, 6389906, 6408178, 6414866, 6417314, 6419762, 6358222, 6376494, 6383182, 6389870, 6408142, 6414830, 6417278, 6419726,
6426450, 6433138, 6435586, 6438034, 6444722, 6462994, 6469682, 6476370, 6426414, 6433102, 6435550, 6437998, 6444686, 6462958, 6469646, 6476334,
6494642, 6501330, 6503778, 6506226, 6512914, 6515362, 6516173, 6516984, 6494606, 6501294, 6503742, 6506190, 6512878, 6515326, 6516137, 6516948,
6519261, 6521709, 6522520, 6523331, 6525608, 6532296, 6534573, 6536850, 6519225, 6521673, 6522484, 6523295, 6525572, 6532260, 6534537, 6536814,
6543197, 6549885, 6552333, 6554781, 6561469, 6563917, 6564728, 6565539, 6543161, 6549849, 6552297, 6554745, 6561433, 6563881, 6564692, 6565503,
6567816, 6570264, 6571075, 6571886, 6574163, 6580851, 6583128, 6585405, 6567780, 6570228, 6571039, 6571850, 6574127, 6580815, 6583092, 6585369,
6591752, 6610024, 6616712, 6623400, 6641672, 6648360, 6650637, 6652914, 6591716, 6609988, 6616676, 6623364, 6641636, 6648324, 6650601, 6652878,
6659261, 6665949, 6668226, 6670503, 6676850, 6695122, 6701469, 6707816, 6659225, 6665913, 6668190, 6670467, 6676814, 6695086, 6701433, 6707780,
6725405, 6732093, 6734541, 6736989, 6743677, 6746125, 6746936, 6747747, 6725369, 6732057, 6734505, 6736953, 6743641, 6746089, 6746900, 6747711,
6750024, 6752472, 6753283, 6754094, 6756371, 6763059, 6765336, 6767613, 6749988, 6752436, 6753247, 6754058, 6756335, 6763023, 6765300, 6767577,
6773960, 6776408, 6777219, 6778030, 6780307, 6781118, 6781309, 6781500, 6773924, 6776372, 6777183, 6777994, 6780271, 6781082, 6781273, 6781464,
6782092, 6782903, 6783094, 6783285, 6783877, 6786154, 6786746, 6787338, 6782056, 6782867, 6783058, 6783249, 6783841, 6786118, 6786710, 6787302,
6789123, 6791571, 6792382, 6793193, 6795470, 6796281, 6796472, 6796663, 6789087, 6791535, 6792346, 6793157, 6795434, 6796245, 6796436, 6796627,
6797255, 6798066, 6798257, 6798448, 6799040, 6801317, 6801909, 6802501, 6797219, 6798030, 6798221, 6798412, 6799004, 6801281, 6801873, 6802465,
6804286, 6810974, 6813251, 6815528, 6821875, 6824152, 6824744, 6825336, 6804250, 6810938, 6813215, 6815492, 6821839, 6824116, 6824708, 6825300,
6827121, 6829398, 6829990, 6830582, 6832367, 6838714, 6840499, 6842284, 6827085, 6829362, 6829954, 6830546, 6832331, 6838678, 6840463, 6842248,
6847530, 6854218, 6856666, 6859114, 6865802, 6868250, 6869061, 6869872, 6847494, 6854182, 6856630, 6859078, 6865766, 6868214, 6869025, 6869836,
6872149, 6874597, 6875408, 6876219, 6878496, 6885184, 6887461, 6889738, 6872113, 6874561, 6875372, 6876183, 6878460, 6885148, 6887425, 6889702,
6896085, 6898533, 6899344, 6900155, 6902432, 6903243, 6903434, 6903625, 6896049, 6898497, 6899308, 6900119, 6902396, 6903207, 6903398, 6903589,
6904217, 6905028, 6905219, 6905410, 6906002, 6908279, 6908871, 6909463, 6904181, 6904992, 6905183, 6905374, 6905966, 6908243, 6908835, 6909427,
6911248, 6913696, 6914507, 6915318, 6917595, 6918406, 6918597, 6918788, 6911212, 6913660, 6914471, 6915282, 6917559, 6918370, 6918561, 6918752,
6919380, 6920191, 6920382, 6920573, 6921165, 6923442, 6924034, 6924626, 6919344, 6920155, 6920346, 6920537, 6921129, 6923406, 6923998, 6924590,
6926411, 6933099, 6935376, 6937653, 6944000, 6946277, 6946869, 6947461, 6926375, 6933063, 6935340, 6937617, 6943964, 6946241, 6946833, 6947425,
6949246, 6951523, 6952115, 6952707, 6954492, 6960839, 6962624, 6964409, 6949210, 6951487, 6952079, 6952671, 6954456, 6960803, 6962588, 6964373,
6969655, 6987927, 6994615, 7001303, 7019575, 7026263, 7028540, 7030817, 6969619, 6987891, 6994579, 7001267, 7019539, 7026227, 7028504, 7030781,
7037164, 7043852, 7046129, 7048406, 7054753, 7073025, 7079372, 7085719, 7037128, 7043816, 7046093, 7048370, 7054717, 7072989, 7079336, 7085683,
7103308, 7109996, 7112273, 7114550, 7120897, 7123174, 7123766, 7124358, 7103272, 7109960, 7112237, 7114514, 7120861, 7123138, 7123730, 7124322,
7126143, 7128420, 7129012, 7129604, 7131389, 7137736, 7139521, 7141306, 7126107, 7128384, 7128976, 7129568, 7131353, 7137700, 7139485, 7141270,
7146552, 7153240, 7155517, 7157794, 7164141, 7166418, 7167010, 7167602, 7146516, 7153204, 7155481, 7157758, 7164105, 7166382, 7166974, 7167566,
7169387, 7171664, 7172256, 7172848, 7174633, 7180980, 7182765, 7184550, 7169351, 7171628, 7172220, 7172812, 7174597, 7180944, 7182729, 7184514,
7189796, 7208068, 7214415, 7220762, 7238351, 7244698, 7246483, 7248268, 7189760, 7208032, 7214379, 7220726, 7238315, 7244662, 7246447, 7248232,
7253514, 7259861, 7261646, 7263431, 7268677, 7286266, 7291512, 7296758, 7253478, 7259825, 7261610, 7263395, 7268641, 7286230, 7291476, 7296722,
}; };
} // namespace klotski::codec::offset } // namespace klotski::codec::offset

Loading…
Cancel
Save