pub(super) const DVS: [(i32, i32, i32, i32, i32, i32, u64); 32] = [
(1, 43, 0, 58, 0, 0, 0xa483b12d36692b5b),
(1, 44, 0, 58, 0, 1, 0x9b944cdcaa66aa69),
(1, 45, 0, 58, 0, 2, 0xefcc31196acee047),
(1, 46, 0, 58, 0, 3, 0xa166bf737865f148),
(1, 46, 2, 58, 0, 4, 0x84bd750ad1c45a67),
(1, 47, 0, 58, 0, 5, 0x402c1c0606603bfc),
(1, 47, 2, 58, 0, 6, 0xc98e42c8fe1420bd),
(1, 48, 0, 58, 0, 7, 0xefe192bc34ff1c80),
(1, 48, 2, 58, 0, 8, 0x6f8c372fab88b2e0),
(1, 49, 0, 58, 0, 9, 0x02580424947c351c),
(1, 49, 2, 58, 0, 10, 0xb789f008c8543720),
(1, 50, 0, 65, 0, 11, 0x86232cd1a09c55d7),
(1, 50, 2, 65, 0, 12, 0x7e88c9610bc9d777),
(1, 51, 0, 65, 0, 13, 0xc6923844ea1ecaa7),
(1, 51, 2, 65, 0, 14, 0xe648aa81c9ae97f0),
(1, 52, 0, 65, 0, 15, 0x5d387d1eaf13dd83),
(2, 45, 0, 58, 0, 16, 0x432e20575e3ad846),
(2, 46, 0, 58, 0, 17, 0x10b0262634c3aa2e),
(2, 46, 2, 58, 0, 18, 0x510b64762e25cd9d),
(2, 47, 0, 58, 0, 19, 0xbd224da21068711a),
(2, 48, 0, 58, 0, 20, 0xb86a53ee27410e9a),
(2, 49, 0, 58, 0, 21, 0xeb683d7e199ad0a4),
(2, 49, 2, 58, 0, 22, 0x227ec1359861c4bd),
(2, 50, 0, 65, 0, 23, 0xbb5b5eaadff123d2),
(2, 50, 2, 65, 0, 24, 0xb25ec2c9b853c9fa),
(2, 51, 0, 65, 0, 25, 0xd288d6377e973a16),
(2, 51, 2, 65, 0, 26, 0xdb4ccfc5a03a8be9),
(2, 52, 0, 65, 0, 27, 0x9d51091d8fb44721),
(2, 53, 0, 65, 0, 28, 0xad1415bb9128df55),
(2, 54, 0, 65, 0, 29, 0x148649a67ac9c9dc),
(2, 55, 0, 65, 0, 30, 0xcc8d21a6f8ff0030),
(2, 56, 0, 65, 0, 31, 0xa7426762fdaca357),
];
pub(super) const RULES: [(u8, u16, u16, u8); 373] = [
(0, 1188, 1252, 1),
(0, 1188, 1309, 0),
(0, 1188, 1316, 0),
(0, 1188, 1373, 1),
(0, 1188, 1380, 1),
(0, 1188, 1437, 0),
(0, 1188, 1501, 1),
(0, 1188, 1533, 1),
(0, 1856, 1893, 1),
(0, 1856, 2046, 1),
(0, 1953, 1990, 1),
(1, 1220, 1284, 1),
(1, 1220, 1309, 0),
(1, 1220, 1341, 0),
(1, 1220, 1348, 0),
(1, 1220, 1405, 1),
(1, 1220, 1412, 1),
(1, 1220, 1469, 0),
(1, 1220, 1533, 1),
(1, 1220, 1565, 1),
(1, 1888, 1925, 1),
(1, 1888, 2078, 1),
(1, 1985, 2022, 1),
(2, 1124, 1277, 0),
(2, 1252, 1316, 1),
(2, 1252, 1341, 0),
(2, 1252, 1373, 0),
(2, 1252, 1380, 0),
(2, 1252, 1437, 1),
(2, 1252, 1444, 1),
(2, 1252, 1501, 0),
(2, 1252, 1565, 1),
(2, 1252, 1597, 1),
(2, 1920, 1957, 1),
(2, 2017, 2054, 1),
(3, 1156, 1309, 0),
(3, 1284, 1348, 1),
(3, 1284, 1373, 0),
(3, 1284, 1405, 0),
(3, 1284, 1412, 0),
(3, 1284, 1469, 1),
(3, 1284, 1476, 1),
(3, 1284, 1533, 0),
(3, 1284, 1597, 1),
(3, 1284, 1629, 1),
(3, 1952, 1989, 1),
(4, 1121, 1158, 1),
(4, 1249, 1286, 1),
(4, 1249, 1350, 1),
(4, 1249, 1414, 1),
(4, 1249, 1478, 1),
(4, 1249, 1505, 1),
(4, 1954, 1991, 1),
(5, 1188, 1309, 0),
(5, 1188, 1341, 0),
(5, 1316, 1380, 1),
(5, 1316, 1405, 0),
(5, 1316, 1437, 0),
(5, 1316, 1444, 0),
(5, 1316, 1501, 1),
(5, 1316, 1508, 1),
(5, 1316, 1565, 0),
(5, 1316, 1629, 1),
(5, 1316, 1661, 1),
(5, 1984, 2021, 1),
(6, 1153, 1190, 1),
(6, 1281, 1318, 1),
(6, 1281, 1382, 1),
(6, 1281, 1446, 1),
(6, 1281, 1510, 1),
(6, 1281, 1537, 1),
(6, 1986, 2023, 1),
(7, 1124, 1277, 0),
(7, 1220, 1309, 0),
(7, 1220, 1341, 0),
(7, 1220, 1373, 0),
(7, 1348, 1412, 1),
(7, 1348, 1437, 0),
(7, 1348, 1469, 0),
(7, 1348, 1476, 0),
(7, 1348, 1533, 1),
(7, 1348, 1540, 1),
(7, 1348, 1597, 0),
(7, 1348, 1661, 1),
(7, 1348, 1693, 1),
(7, 2016, 2053, 1),
(8, 1185, 1222, 1),
(8, 1313, 1350, 1),
(8, 1313, 1414, 1),
(8, 1313, 1478, 1),
(8, 1313, 1542, 1),
(8, 1313, 1569, 1),
(8, 2018, 2055, 1),
(9, 1156, 1309, 0),
(9, 1252, 1341, 0),
(9, 1252, 1373, 0),
(9, 1252, 1405, 0),
(9, 1380, 1444, 1),
(9, 1380, 1469, 0),
(9, 1380, 1501, 0),
(9, 1380, 1508, 0),
(9, 1380, 1565, 1),
(9, 1380, 1572, 1),
(9, 1380, 1629, 0),
(9, 1380, 1693, 1),
(9, 1380, 1725, 1),
(10, 1121, 1158, 1),
(10, 1217, 1254, 1),
(10, 1217, 1281, 1),
(10, 1345, 1382, 1),
(10, 1345, 1446, 1),
(10, 1345, 1510, 1),
(10, 1345, 1574, 1),
(10, 1345, 1601, 1),
(11, 1156, 1188, 1),
(11, 1156, 1341, 1),
(11, 1284, 1373, 0),
(11, 1284, 1405, 0),
(11, 1284, 1437, 0),
(11, 1412, 1476, 1),
(11, 1412, 1501, 0),
(11, 1412, 1533, 0),
(11, 1412, 1540, 0),
(11, 1412, 1597, 1),
(11, 1412, 1604, 1),
(11, 1412, 1661, 0),
(11, 1412, 1725, 1),
(11, 1412, 1757, 1),
(12, 1153, 1190, 1),
(12, 1249, 1286, 1),
(12, 1249, 1313, 1),
(12, 1377, 1414, 1),
(12, 1377, 1478, 1),
(12, 1377, 1542, 1),
(12, 1377, 1606, 1),
(12, 1377, 1633, 1),
(13, 1123, 1276, 0),
(13, 1188, 1220, 1),
(13, 1188, 1373, 1),
(13, 1316, 1405, 0),
(13, 1316, 1437, 0),
(13, 1316, 1469, 0),
(13, 1444, 1508, 1),
(13, 1444, 1533, 0),
(13, 1444, 1565, 0),
(13, 1444, 1572, 0),
(13, 1444, 1629, 1),
(13, 1444, 1636, 1),
(13, 1444, 1693, 0),
(13, 1444, 1757, 1),
(13, 1444, 1789, 1),
(14, 1125, 1278, 0),
(14, 1185, 1190, 0),
(14, 1185, 1222, 1),
(14, 1281, 1318, 1),
(14, 1281, 1345, 1),
(14, 1409, 1446, 1),
(14, 1409, 1510, 1),
(14, 1409, 1574, 1),
(14, 1409, 1638, 1),
(14, 1409, 1665, 1),
(15, 1220, 1252, 1),
(15, 1220, 1405, 1),
(15, 1348, 1437, 0),
(15, 1348, 1469, 0),
(15, 1348, 1501, 0),
(15, 1476, 1540, 1),
(15, 1476, 1565, 0),
(15, 1476, 1597, 0),
(15, 1476, 1604, 0),
(15, 1476, 1661, 1),
(15, 1476, 1668, 1),
(15, 1476, 1725, 0),
(15, 1476, 1789, 1),
(15, 1476, 1821, 1),
(16, 1156, 1309, 0),
(16, 1316, 1405, 0),
(16, 1316, 1437, 0),
(16, 1316, 1469, 0),
(16, 1508, 1572, 1),
(16, 1508, 1597, 0),
(16, 1508, 1629, 0),
(16, 1508, 1693, 1),
(16, 1508, 1725, 1),
(16, 1920, 1957, 1),
(16, 2017, 2054, 1),
(17, 1188, 1309, 0),
(17, 1188, 1341, 0),
(17, 1348, 1437, 0),
(17, 1348, 1469, 0),
(17, 1348, 1501, 0),
(17, 1540, 1604, 1),
(17, 1540, 1629, 0),
(17, 1540, 1661, 0),
(17, 1540, 1725, 1),
(17, 1540, 1757, 1),
(17, 1952, 1989, 1),
(18, 1153, 1190, 1),
(18, 1313, 1350, 1),
(18, 1313, 1377, 1),
(18, 1505, 1542, 1),
(18, 1505, 1606, 1),
(18, 1505, 1633, 1),
(18, 1954, 1991, 1),
(19, 1123, 1276, 0),
(19, 1124, 1277, 0),
(19, 1220, 1309, 0),
(19, 1220, 1341, 0),
(19, 1220, 1373, 0),
(19, 1380, 1469, 0),
(19, 1380, 1501, 0),
(19, 1380, 1533, 0),
(19, 1572, 1636, 1),
(19, 1572, 1661, 0),
(19, 1572, 1693, 0),
(19, 1572, 1757, 1),
(19, 1572, 1789, 1),
(19, 1984, 2021, 1),
(20, 1150, 1155, 1),
(20, 1150, 1308, 1),
(20, 1156, 1309, 0),
(20, 1252, 1341, 0),
(20, 1252, 1373, 0),
(20, 1252, 1405, 0),
(20, 1412, 1501, 0),
(20, 1412, 1533, 0),
(20, 1412, 1565, 0),
(20, 1604, 1668, 1),
(20, 1604, 1693, 0),
(20, 1604, 1725, 0),
(20, 1604, 1789, 1),
(20, 1604, 1821, 1),
(20, 2016, 2053, 1),
(21, 1182, 1187, 1),
(21, 1182, 1340, 1),
(21, 1188, 1341, 0),
(21, 1284, 1373, 0),
(21, 1284, 1405, 0),
(21, 1284, 1437, 0),
(21, 1444, 1533, 0),
(21, 1444, 1565, 0),
(21, 1444, 1597, 0),
(21, 1636, 1700, 1),
(21, 1636, 1725, 0),
(21, 1636, 1757, 0),
(21, 1636, 1821, 1),
(21, 1636, 1853, 1),
(22, 1152, 1189, 1),
(22, 1152, 1342, 1),
(22, 1249, 1286, 1),
(22, 1249, 1313, 1),
(22, 1409, 1446, 1),
(22, 1409, 1473, 1),
(22, 1601, 1638, 1),
(22, 1601, 1702, 1),
(22, 1601, 1729, 1),
(23, 1214, 1219, 1),
(23, 1214, 1372, 1),
(23, 1220, 1373, 0),
(23, 1316, 1405, 0),
(23, 1316, 1437, 0),
(23, 1316, 1469, 0),
(23, 1476, 1565, 0),
(23, 1476, 1597, 0),
(23, 1476, 1629, 0),
(23, 1668, 1732, 1),
(23, 1668, 1757, 0),
(23, 1668, 1789, 0),
(23, 1668, 1853, 1),
(23, 1668, 1885, 1),
(24, 1184, 1221, 1),
(24, 1184, 1374, 1),
(24, 1281, 1318, 1),
(24, 1281, 1345, 1),
(24, 1441, 1478, 1),
(24, 1441, 1505, 1),
(24, 1633, 1670, 1),
(24, 1633, 1734, 1),
(24, 1633, 1761, 1),
(25, 1246, 1251, 1),
(25, 1246, 1404, 1),
(25, 1252, 1405, 0),
(25, 1348, 1437, 0),
(25, 1348, 1469, 0),
(25, 1348, 1501, 0),
(25, 1508, 1597, 0),
(25, 1508, 1629, 0),
(25, 1508, 1661, 0),
(25, 1700, 1764, 1),
(25, 1700, 1789, 0),
(25, 1700, 1821, 0),
(25, 1700, 1885, 1),
(25, 1700, 1917, 1),
(26, 1216, 1253, 1),
(26, 1216, 1406, 1),
(26, 1313, 1350, 1),
(26, 1313, 1377, 1),
(26, 1473, 1510, 1),
(26, 1473, 1537, 1),
(26, 1665, 1702, 1),
(26, 1665, 1766, 1),
(26, 1665, 1793, 1),
(27, 1156, 1220, 1),
(27, 1278, 1283, 1),
(27, 1278, 1436, 1),
(27, 1284, 1437, 0),
(27, 1380, 1469, 0),
(27, 1380, 1501, 0),
(27, 1380, 1533, 0),
(27, 1540, 1629, 0),
(27, 1540, 1661, 0),
(27, 1540, 1693, 0),
(27, 1732, 1796, 1),
(27, 1732, 1821, 0),
(27, 1732, 1853, 0),
(27, 1732, 1917, 1),
(27, 1732, 1949, 1),
(28, 1188, 1252, 1),
(28, 1188, 1309, 0),
(28, 1315, 1468, 0),
(28, 1316, 1469, 0),
(28, 1412, 1501, 0),
(28, 1412, 1533, 0),
(28, 1412, 1565, 0),
(28, 1572, 1661, 0),
(28, 1572, 1693, 0),
(28, 1572, 1725, 0),
(28, 1764, 1828, 1),
(28, 1764, 1853, 0),
(28, 1764, 1885, 0),
(28, 1764, 1981, 1),
(29, 1156, 1220, 1),
(29, 1156, 1284, 0),
(29, 1156, 1341, 1),
(29, 1347, 1500, 0),
(29, 1348, 1501, 0),
(29, 1444, 1533, 0),
(29, 1444, 1565, 0),
(29, 1444, 1597, 0),
(29, 1604, 1693, 0),
(29, 1604, 1725, 0),
(29, 1604, 1757, 0),
(29, 1796, 1885, 0),
(29, 1796, 1917, 0),
(29, 1860, 2013, 0),
(30, 1188, 1252, 1),
(30, 1188, 1309, 0),
(30, 1188, 1316, 0),
(30, 1188, 1373, 1),
(30, 1379, 1532, 0),
(30, 1380, 1533, 0),
(30, 1476, 1565, 0),
(30, 1476, 1597, 0),
(30, 1476, 1629, 0),
(30, 1636, 1725, 0),
(30, 1636, 1757, 0),
(30, 1636, 1789, 0),
(30, 1828, 1917, 0),
(30, 1892, 2045, 0),
(31, 1220, 1284, 1),
(31, 1220, 1309, 0),
(31, 1220, 1341, 0),
(31, 1220, 1348, 0),
(31, 1220, 1405, 1),
(31, 1411, 1564, 0),
(31, 1412, 1565, 0),
(31, 1508, 1597, 0),
(31, 1508, 1629, 0),
(31, 1508, 1661, 0),
(31, 1668, 1757, 0),
(31, 1668, 1789, 0),
(31, 1668, 1821, 0),
(31, 1924, 2077, 0),
];