155 lines
55 KiB
C
155 lines
55 KiB
C
|
#include <stdio.h>
|
|||
|
#include <stdlib.h>
|
|||
|
int data_10ul_kx[][350] = {
|
|||
|
{2221, 2213, 2196, 2184, 2193, 2202, 2207, 2219, 2229, 2229, 2230, 2230, 2223, 2214, 2209, 2203, 2203, 2210, 2217, 2221, 2225, 2225, 2233, 2252, 2214, 2180, 2230, 2248, 2177, 2181, 2250, 2223, 2174, 2218, 2253, 2213, 2193, 2171, 1960, 1519, 1051, 752, 580, 493, 667, 1027, 1314, 1557, 1725, 1634, 1340, 1014, 740, 558, 470, 503, 659, 852, 948, 972, 994, 927, 763, 643, 589, 521, 490, 557, 734, 973, 1207, 1460, 1668, 1694, 1610, 1536, 1433, 1264, 1164, 1222, 1306, 1363, 1465, 1568, 1569, 1481, 1407, 1359, 1264, 1175, 1207, 1308, 1368, 1443, 1570, 1656, 1644, 1591, 1530, 1427, 1302, 1243, 1263, 1284, 1287, 1334, 1410, 1427, 1409, 1449, 1516, 1523, 1511, 1529, 1509, 1410, 1335, 1338, 1337, 1280, 1270, 1343, 1384, 1406, 1494, 1586, 1609, 1626, 1626, 1569, 1450, 1307, 1235, 1227, 1206, 1223, 1333, 1439, 1456, 1496, 1593, 1604, 1558, 1571, 1591, 1526, 1416, 1355, 1311, 1221, 1167, 1227, 1315, 1374, 1470, 1600, 1675, 1679, 1680, 1686, 1631, 1523, 1433, 1357, 1253, 1165, 1182, 1280, 1369, 1462, 1597, 1692, 1680, 1646, 1642, 1599, 1510, 1456, 1447, 1407, 1314, 1273, 1307, 1325, 1360, 1468, 1562, 1583, 1606, 1640, 1653, 1621, 1569, 1550, 1512, 1406, 1320, 1308, 1305, 1303, 1411, 1585, 1654, 1646, 1651, 1624, 1529, 1454, 1455, 1467, 1432, 1410, 1435, 1420, 1372, 1403, 1497, 1553, 1563, 1579, 1590, 1562, 1538, 1560, 1572, 1543, 1516, 1470, 1390, 1331, 1332, 1381, 1466, 1562, 1630, 1655, 1649, 1625, 1590, 1553, 1513, 1517, 1642, 1876, 2169, 2476, 2713, 2829, 2837, 2765, 2643, 2528, 2473, 2482, 2550, 2684, 2829, 2933, 2999, 3020, 2994, 2954, 2926, 2907, 2899, 2935, 2985, 3037, 3137, 3197, 3186, 3172, 3101, 2933, 2729, 2501, 2263, 2108, 2076, 2125, 2237, 2383, 2501, 2563, 2573, 2530},
|
|||
|
{2215, 2209, 2192, 2186, 2201, 2208, 2211, 2222, 2229, 2227, 2228, 2227, 2220, 2215, 2212, 2206, 2206, 2214, 2219, 2222, 2226, 2224, 2231, 2249, 2207, 2177, 2234, 2246, 2175, 2189, 2255, 2217, 2172, 2220, 2249, 2208, 2200, 2206, 2056, 1667, 1178, 808, 621, 526, 614, 947, 1256, 1477, 1703, 1707, 1408, 1065, 805, 591, 464, 496, 654, 836, 941, 981, 1005, 933, 765, 646, 596, 532, 504, 557, 692, 899, 1126, 1387, 1616, 1667, 1608, 1562, 1468, 1290, 1185, 1232, 1298, 1347, 1455, 1560, 1558, 1478, 1420, 1374, 1273, 1180, 1207, 1296, 1348, 1428, 1560, 1641, 1636, 1604, 1549, 1439, 1311, 1247, 1262, 1281, 1284, 1331, 1405, 1419, 1404, 1449, 1509, 1507, 1505, 1542, 1521, 1420, 1346, 1341, 1334, 1283, 1276, 1343, 1373, 1387, 1477, 1569, 1595, 1622, 1636, 1588, 1473, 1328, 1246, 1228, 1199, 1216, 1328, 1424, 1435, 1482, 1582, 1590, 1551, 1575, 1597, 1536, 1442, 1384, 1330, 1232, 1170, 1216, 1293, 1352, 1451, 1582, 1656, 1666, 1672, 1682, 1639, 1543, 1458, 1387, 1279, 1179, 1180, 1260, 1338, 1435, 1576, 1673, 1668, 1645, 1646, 1603, 1522, 1473, 1460, 1419, 1330, 1284, 1305, 1312, 1342, 1451, 1547, 1573, 1596, 1626, 1640, 1613, 1572, 1560, 1525, 1424, 1343, 1323, 1300, 1283, 1384, 1555, 1641, 1652, 1660, 1634, 1538, 1457, 1455, 1464, 1426, 1409, 1441, 1427, 1374, 1397, 1486, 1544, 1565, 1585, 1590, 1556, 1525, 1545, 1567, 1553, 1532, 1489, 1407, 1336, 1319, 1356, 1441, 1545, 1622, 1656, 1654, 1627, 1591, 1555, 1513, 1494, 1581, 1793, 2078, 2393, 2661, 2810, 2839, 2782, 2665, 2539, 2466, 2467, 2529, 2651, 2803, 2921, 2990, 3015, 2991, 2947, 2912, 2896, 2891, 2919, 2978, 3030, 3116, 3199, 3199, 3174, 3126, 2985, 2788, 2570, 2331, 2145, 2084, 2120, 2217, 2356, 2482, 2551, 2567, 2530},
|
|||
|
{2224, 2220, 2203, 2185, 2193, 2204, 2204, 2214, 2227, 2227, 2227, 2230, 2225, 2215, 2209, 2205, 2203, 2209, 2217, 2221, 2225, 2225, 2231, 2251, 2221, 2179, 2221, 2253, 2185, 2171, 2246, 2235, 2173, 2207, 2256, 2218, 2194, 2222, 2163, 1886, 1438, 993, 699, 537, 497, 724, 1083, 1334, 1591, 1767, 1592, 1231, 959, 725, 503, 451, 576, 741, 862, 948, 1015, 987, 847, 719, 649, 571, 514, 527, 605, 761, 972, 1237, 1512, 1646, 1640, 1619, 1559, 1384, 1225, 1219, 1263, 1288, 1384, 1519, 1560, 1503, 1456, 1427, 1330, 1208, 1190, 1258, 1303, 1367, 1502, 1615, 1638, 1632, 1608, 1512, 1367, 1266, 1248, 1258, 1256, 1298, 1384, 1419, 1405, 1442, 1513, 1513, 1492, 1530, 1538, 1448, 1365, 1354, 1350, 1298, 1273, 1329, 1361, 1357, 1429, 1538, 1579, 1608, 1646, 1631, 1535, 1387, 1281, 1241, 1194, 1178, 1276, 1391, 1412, 1447, 1563, 1603, 1554, 1567, 1610, 1565, 1469, 1415, 1373, 1270, 1174, 1193, 1266, 1308, 1388, 1531, 1631, 1654, 1672, 1697, 1671, 1584, 1499, 1433, 1327, 1201, 1163, 1224, 1291, 1371, 1522, 1653, 1671, 1651, 1663, 1635, 1551, 1494, 1477, 1439, 1351, 1293, 1305, 1307, 1312, 1405, 1522, 1564, 1587, 1622, 1642, 1621, 1582, 1580, 1562, 1465, 1370, 1341, 1309, 1256, 1316, 1490, 1608, 1645, 1675, 1674, 1585, 1481, 1459, 1467, 1423, 1392, 1429, 1441, 1385, 1380, 1463, 1529, 1554, 1584, 1602, 1570, 1525, 1532, 1559, 1556, 1549, 1523, 1450, 1369, 1326, 1329, 1392, 1496, 1587, 1640, 1657, 1645, 1613, 1577, 1538, 1495, 1512, 1659, 1913, 2223, 2529, 2748, 2844, 2836, 2747, 2613, 2501, 2459, 2484, 2573, 2717, 2859, 2955, 3009, 3015, 2981, 2938, 2908, 2894, 2898, 2942, 2997, 3060, 3156, 3203, 3188, 3163, 3077, 2907, 2697, 2459, 2227, 2094, 2081, 2145, 2268, 2415, 2524, 2571, 2565, 2508},
|
|||
|
{2200, 2196, 2189, 2199, 2215, 2221, 2227, 2231, 2228, 2224, 2222, 2218, 2214, 2211, 2210, 2210, 2213, 2218, 2222, 2225, 2226, 2223, 2232, 2243, 2205, 2186, 2236, 2240, 2185, 2201, 2247, 2215, 2188, 2223, 2239, 2215, 2200, 2100, 1765, 1285, 883, 606, 439, 493, 796, 1218, 1616, 1805, 1714, 1468, 1118, 729, 506, 466, 500, 643, 871, 1029, 1046, 991, 911, 775, 625, 551, 538, 533, 564, 675, 893, 1148, 1361, 1549, 1660, 1621, 1518, 1437, 1345, 1233, 1207, 1303, 1397, 1455, 1518, 1549, 1500, 1403, 1328, 1287, 1232, 1201, 1275, 1392, 1463, 1536, 1628, 1662, 1611, 1527, 1434, 1331, 1249, 1235, 1284, 1325, 1341, 1379, 1436, 1446, 1436, 1476, 1529, 1527, 1504, 1496, 1446, 1356, 1311, 1328, 1337, 1308, 1313, 1375, 1418, 1462, 1546, 1612, 1628, 1623, 1579, 1492, 1366, 1237, 1198, 1223, 1238, 1291, 1405, 1485, 1500, 1541, 1598, 1585, 1554, 1556, 1542, 1475, 1378, 1310, 1269, 1214, 1199, 1279, 1380, 1455, 1547, 1644, 1681, 1671, 1662, 1643, 1573, 1468, 1369, 1287, 1210, 1171, 1230, 1357, 1467, 1558, 1650, 1691, 1654, 1607, 1589, 1550, 1481, 1436, 1418, 1373, 1300, 1282, 1329, 1377, 1445, 1541, 1591, 1594, 1602, 1614, 1624, 1603, 1550, 1519, 1466, 1360, 1289, 1292, 1321, 1382, 1521, 1662, 1689, 1648, 1612, 1556, 1479, 1430, 1436, 1452, 1429, 1407, 1419, 1412, 1406, 1469, 1559, 1596, 1586, 1572, 1559, 1539, 1534, 1561, 1568, 1537, 1492, 1420, 1341, 1312, 1350, 1441, 1550, 1631, 1664, 1657, 1627, 1590, 1553, 1515, 1490, 1556, 1758, 2048, 2371, 2646, 2803, 2841, 2785, 2664, 2535, 2459, 2460, 2531, 2658, 2808, 2926, 2991, 3007, 2977, 2934, 2901, 2887, 2895, 2928, 2987, 3038, 3102, 3189, 3204, 3142, 3057, 2946, 2792, 2619, 2429, 2245, 2150, 2156, 2219, 2326, 2441, 2511, 2533, 2513},
|
|||
|
{2247, 2243, 2223, 2198, 2194, 2195, 2192, 2201, 2217, 2223, 2230, 2238, 2234, 2223, 2217, 2210, 2202, 2204, 2211, 2215, 2220, 2224, 2223, 2221, 2220, 2232, 2245, 2213, 2193, 2237, 2240, 2175, 2182, 2246, 2224, 2154, 2022, 1677, 1199, 819, 554, 389, 479, 807, 1201, 1578, 1781, 1703, 1486, 1192, 817, 544, 475, 476, 530, 722, 921, 982, 983, 984, 907, 739, 611, 569, 518, 477, 593, 851, 1118, 1383, 1624, 1753, 1736, 1618, 1489, 1369, 1235, 1167, 1234, 1345, 1395, 1447, 1536, 1540, 1448, 1378, 1340, 1267, 1205, 1254, 1369, 1440, 1500, 1612, 1684, 1632, 1536, 1459, 1360, 1252, 1219, 1253, 1282, 1302, 1355, 1434, 1480, 1490, 1524, 1576, 1563, 1494, 1458, 1426, 1335, 1272, 1302, 1327, 1303, 1321, 1403, 1471, 1500, 1560, 1649, 1661, 1596, 1535, 1451, 1318, 1222, 1204, 1229, 1256, 1298, 1392, 1491, 1529, 1557, 1622, 1645, 1580, 1531, 1528, 1451, 1323, 1264, 1252, 1213, 1203, 1298, 1421, 1487, 1551, 1659, 1714, 1685, 1664, 1652, 1568, 1440, 1336, 1253, 1181, 1161, 1235, 1369, 1489, 1577, 1662, 1719, 1694, 1634, 1611, 1571, 1466, 1383, 1364, 1320, 1259, 1275, 1360, 1433, 1482, 1558, 1624, 1615, 1588, 1607, 1613, 1577, 1545, 1514, 1455, 1360, 1279, 1282, 1340, 1407, 1521, 1660, 1702, 1645, 1608, 1586, 1509, 1437, 1431, 1440, 1403, 1367, 1385, 1417, 1432, 1487, 1587, 1626, 1589, 1568, 1572, 1551, 1532, 1552, 1565, 1524, 1454, 1393, 1338, 1315, 1371, 1471, 1556, 1626, 1668, 1664, 1638, 1611, 1570, 1513, 1498, 1596, 1807, 2094, 2412, 2677, 2834, 2886, 2840, 2722, 2585, 2494, 2470, 2508, 2616, 2762, 2889, 2981, 3032, 3034, 3001, 2961, 2929, 2906, 2915, 2956, 3003, 3089, 3181, 3192, 3142, 3077, 2960, 2775, 2581, 2379, 2188, 2097, 2118, 2191, 2303, 2435, 2526, 2559, 2549},
|
|||
|
{2224, 2212, 2190, 2190, 2201, 2203, 2211, 2225, 2228, 2228, 2233, 2230, 2222, 2217, 2211, 2205, 2206, 2213, 2218, 2222, 2225, 2224, 2221, 2217, 2214, 2232, 2248, 2206, 2193, 2249, 2237, 2167, 2195, 2249, 2208, 2189, 2236, 2180, 1893, 1477, 1093, 753, 469, 397, 617, 987, 1386, 1728, 1830, 1641, 1311, 973, 686, 479, 411, 522, 705, 850, 967, 1054, 1033, 892, 752, 677, 588, 500, 499, 568, 702, 955, 1261, 1527, 1675, 1691, 1662, 1579, 1403, 1256, 1232, 1258, 1273, 1358, 1488, 1524, 1491, 1474, 1439, 1344, 1245, 1229, 1278, 1315, 1371, 1497, 1607, 1632, 1632, 1614, 1514, 1373, 1282, 1256, 1250, 1254, 1301, 1376, 1415, 1426, 1473, 1533, 1533, 1515, 1536, 1527, 1432, 1345, 1335, 1324, 1289, 1302, 1356, 1384, 1382, 1449, 1565, 1605, 1610, 1640, 1607, 1494, 1385, 1297, 1239, 1205, 1202, 1283, 1381, 1415, 1470, 1582, 1627, 1577, 1579, 1613, 1545, 1452, 1409, 1351, 1251, 1191, 1221, 1288, 1333, 1408, 1544, 1632, 1647, 1670, 1701, 1672, 1593, 1516, 1433, 1310, 1199, 1170, 1218, 1292, 1395, 1542, 1657, 1674, 1665, 1677, 1648, 1560, 1495, 1465, 1403, 1327, 1298, 1313, 1325, 1348, 1446, 1560, 1584, 1576, 1601, 1603, 1584, 1594, 1596, 1568, 1487, 1387, 1340, 1300, 1267, 1342, 1504, 1611, 1640, 1672, 1674, 1589, 1509, 1490, 1468, 1419, 1393, 1412, 1414, 1374, 1385, 1484, 1558, 1579, 1604, 1614, 1569, 1525, 1533, 1561, 1556, 1532, 1513, 1454, 1370, 1329, 1340, 1404, 1510, 1601, 1649, 1665, 1654, 1623, 1587, 1547, 1501, 1515, 1659, 1912, 2221, 2527, 2751, 2861, 2864, 2777, 2642, 2520, 2464, 2478, 2559, 2694, 2833, 2943, 3011, 3026, 3002, 2963, 2923, 2899, 2900, 2936, 2985, 3044, 3142, 3206, 3184, 3118, 3027, 2882, 2698, 2500, 2295, 2148, 2113, 2157, 2249, 2376, 2483, 2539, 2549, 2512},
|
|||
|
{2241, 2239, 2220, 2205, 2203, 2199, 2198, 2207, 2216, 2222, 2231, 2236, 2231, 2225, 2219, 2211, 2207, 2210, 2214, 2217, 2221, 2223, 2235, 2250, 2214, 2192, 2240, 2245, 2182, 2193, 2246, 2215, 2181, 2223, 2245, 2198, 2089, 1822, 1424, 1048, 718, 496, 494, 686, 1036, 1482, 1770, 1732, 1536, 1286, 922, 595, 481, 500, 565, 718, 914, 1030, 1020, 951, 882, 768, 624, 552, 536, 518, 569, 755, 1030, 1295, 1496, 1648, 1719, 1646, 1507, 1411, 1330, 1227, 1213, 1326, 1416, 1446, 1497, 1533, 1484, 1384, 1320, 1294, 1247, 1223, 1313, 1439, 1506, 1577, 1665, 1674, 1585, 1477, 1381, 1289, 1223, 1227, 1287, 1334, 1354, 1407, 1484, 1507, 1496, 1534, 1573, 1525, 1455, 1427, 1378, 1308, 1295, 1335, 1357, 1332, 1347, 1430, 1488, 1523, 1594, 1651, 1634, 1581, 1508, 1409, 1291, 1196, 1193, 1247, 1279, 1333, 1453, 1546, 1556, 1583, 1638, 1617, 1554, 1526, 1493, 1401, 1292, 1247, 1248, 1228, 1247, 1361, 1474, 1534, 1605, 1685, 1700, 1670, 1650, 1611, 1519, 1397, 1290, 1224, 1187, 1197, 1302, 1457, 1561, 1623, 1688, 1714, 1657, 1596, 1576, 1520, 1428, 1376, 1360, 1323, 1279, 1313, 1411, 1479, 1528, 1589, 1608, 1590, 1593, 1609, 1619, 1584, 1518, 1477, 1416, 1310, 1262, 1320, 1405, 1479, 1601, 1703, 1683, 1625, 1591, 1546, 1475, 1419, 1423, 1436, 1396, 1366, 1401, 1439, 1472, 1550, 1623, 1621, 1582, 1561, 1551, 1537, 1534, 1547, 1541, 1502, 1446, 1381, 1333, 1348, 1427, 1521, 1603, 1656, 1666, 1650, 1626, 1593, 1544, 1497, 1525, 1682, 1943, 2259, 2560, 2769, 2867, 2861, 2769, 2633, 2518, 2468, 2487, 2575, 2712, 2848, 2953, 3015, 3025, 3001, 2961, 2920, 2900, 2904, 2941, 2995, 3052, 3147, 3218, 3202, 3124, 3009, 2846, 2645, 2457, 2282, 2151, 2133, 2194, 2286, 2400, 2499, 2540, 2534},
|
|||
|
{2221, 2208, 2194, 2201, 2209, 2212, 2221, 2228, 2227, 2227, 2226, 2222, 2215, 2211, 2210, 2210, 2214, 2219, 2223, 2224, 2224, 2222, 2218, 2216, 2214, 2232, 2250, 2208, 2196, 2251, 2239, 2173, 2201, 2249, 2208, 2190, 2228, 2203, 2007, 1650, 1279, 948, 637, 476, 565, 852, 1252, 1644, 1830, 1702, 1390, 1051, 752, 529, 445, 538, 716, 858, 975, 1060, 1036, 893, 755, 681, 602, 534, 535, 573, 650, 851, 1130, 1408, 1596, 1647, 1658, 1617, 1455, 1307, 1276, 1278, 1272, 1348, 1474, 1507, 1481, 1471, 1446, 1369, 1276, 1246, 1277, 1297, 1342, 1466, 1583, 1620, 1639, 1643, 1562, 1416, 1304, 1258, 1240, 1243, 1294, 1373, 1413, 1425, 1473, 1531, 1527, 1510, 1535, 1533, 1450, 1368, 1350, 1332, 1298, 1315, 1369, 1388, 1374, 1419, 1527, 1577, 1590, 1636, 1630, 1541, 1444, 1341, 1265, 1212, 1187, 1261, 1361, 1392, 1447, 1564, 1617, 1579, 1578, 1610, 1556, 1479, 1444, 1392, 1293, 1216, 1225, 1280, 1314, 1377, 1509, 1603, 1623, 1654, 1687, 1667, 1613, 1557, 1489, 1378, 1253, 1194, 1210, 1253, 1342, 1494, 1626, 1661, 1662, 1682, 1659, 1576, 1519, 1492, 1428, 1351, 1318, 1323, 1326, 1337, 1424, 1540, 1575, 1572, 1593, 1590, 1572, 1588, 1602, 1590, 1523, 1427, 1375, 1319, 1259, 1311, 1463, 1577, 1629, 1680, 1690, 1613, 1534, 1504, 1478, 1425, 1395, 1417, 1423, 1380, 1380, 1468, 1543, 1576, 1612, 1625, 1580, 1530, 1525, 1549, 1553, 1541, 1535, 1490, 1410, 1353, 1330, 1366, 1469, 1568, 1632, 1665, 1661, 1635, 1608, 1571, 1519, 1490, 1562, 1767, 2067, 2396, 2665, 2822, 2868, 2814, 2693, 2559, 2470, 2460, 2525, 2649, 2792, 2913, 2994, 3017, 2998, 2964, 2917, 2888, 2894, 2919, 2976, 3034, 3097, 3188, 3223, 3171, 3068, 2930, 2754, 2565, 2387, 2227, 2149, 2172, 2243, 2345, 2451, 2515, 2529, 2506},
|
|||
|
{2225, 2208, 2191, 2194, 2201, 2204, 2216, 2226, 2229, 2233, 2234, 2228, 2221, 2216, 2210, 2206, 2208, 2214, 2219, 2225, 2231, 2230, 2224, 2219, 2216, 2232, 2243, 2204, 2202, 2251, 2229, 2173, 2209, 2246, 2204, 2190, 2168, 1944, 1546, 1180, 842, 524, 408, 559, 907, 1338, 1656, 1760, 1678, 1409, 1029, 733, 569, 467, 494, 667, 828, 923, 999, 1024, 962, 825, 698, 638, 564, 489, 514, 650, 862, 1148, 1443, 1660, 1742, 1704, 1630, 1511, 1334, 1221, 1232, 1280, 1316, 1401, 1504, 1515, 1476, 1449, 1404, 1319, 1243, 1247, 1318, 1371, 1438, 1572, 1664, 1654, 1616, 1555, 1432, 1299, 1234, 1232, 1246, 1271, 1332, 1417, 1470, 1493, 1539, 1587, 1566, 1515, 1496, 1450, 1347, 1291, 1311, 1319, 1314, 1342, 1398, 1438, 1456, 1528, 1620, 1637, 1619, 1602, 1526, 1400, 1300, 1240, 1221, 1220, 1248, 1346, 1444, 1483, 1545, 1640, 1652, 1589, 1575, 1567, 1475, 1385, 1335, 1284, 1226, 1207, 1268, 1367, 1429, 1504, 1621, 1678, 1668, 1675, 1682, 1625, 1530, 1439, 1340, 1235, 1173, 1194, 1289, 1397, 1505, 1627, 1704, 1695, 1668, 1660, 1610, 1512, 1441, 1402, 1339, 1281, 1281, 1336, 1395, 1451, 1545, 1619, 1606, 1587, 1600, 1593, 1581, 1578, 1556, 1515, 1424, 1327, 1303, 1311, 1340, 1456, 1608, 1672, 1662, 1669, 1645, 1555, 1486, 1455, 1425, 1387, 1362, 1379, 1402, 1407, 1469, 1584, 1631, 1615, 1607, 1591, 1546, 1520, 1537, 1555, 1538, 1506, 1469, 1401, 1342, 1345, 1405, 1495, 1584, 1641, 1661, 1660, 1643, 1613, 1569, 1515, 1501, 1605, 1832, 2137, 2457, 2708, 2857, 2898, 2838, 2713, 2577, 2484, 2465, 2526, 2645, 2782, 2908, 2996, 3030, 3029, 2998, 2947, 2915, 2903, 2918, 2970, 3021, 3104, 3197, 3216, 3158, 3056, 2911, 2723, 2527, 2336, 2178, 2118, 2150, 2231, 2348, 2461, 2529, 2550, 2527},
|
|||
|
{2248, 2234, 2209, 2201, 2201, 2198, 2202, 2212, 2218, 2225, 2231, 2234, 2231, 2226, 2220, 2213, 2209, 2210, 2214, 2220, 2225, 2225, 2236, 2249, 2216, 2199, 2239, 2238, 2189, 2201, 2238, 2211, 2191, 2222, 2227, 2141, 1904, 1547, 1186, 813, 501, 437, 601, 913, 1345, 1707, 1777, 1611, 1355, 1034, 711, 509, 470, 553, 685, 826, 966, 1040, 991, 899, 826, 715, 598, 543, 521, 528, 654, 902, 1199, 1468, 1633, 1717, 1727, 1612, 1448, 1350, 1287, 1227, 1250, 1359, 1432, 1460, 1498, 1508, 1453, 1364, 1303, 1280, 1261, 1278, 1376, 1493, 1573, 1636, 1679, 1643, 1527, 1401, 1309, 1244, 1212, 1235, 1302, 1359, 1400, 1468, 1542, 1558, 1549, 1564, 1552, 1477, 1395, 1352, 1322, 1293, 1303, 1353, 1380, 1373, 1406, 1490, 1553, 1585, 1632, 1651, 1593, 1506, 1411, 1314, 1232, 1183, 1211, 1290, 1346, 1414, 1530, 1608, 1609, 1613, 1629, 1589, 1516, 1466, 1417, 1328, 1242, 1229, 1258, 1278, 1335, 1450, 1551, 1607, 1654, 1693, 1689, 1651, 1605, 1542, 1441, 1313, 1222, 1197, 1210, 1273, 1409, 1556, 1635, 1675, 1710, 1701, 1636, 1571, 1525, 1456, 1372, 1320, 1309, 1306, 1318, 1396, 1507, 1569, 1591, 1610, 1604, 1580, 1579, 1593, 1592, 1545, 1475, 1421, 1357, 1286, 1296, 1400, 1505, 1579, 1655, 1698, 1665, 1607, 1566, 1524, 1453, 1396, 1394, 1394, 1359, 1361, 1435, 1516, 1576, 1628, 1649, 1616, 1563, 1535, 1533, 1533, 1528, 1530, 1513, 1461, 1403, 1362, 1356, 1417, 1514, 1590, 1642, 1667, 1659, 1642, 1617, 1568, 1514, 1508, 1615, 1844, 2154, 2473, 2721, 2867, 2902, 2833, 2705, 2571, 2481, 2467, 2532, 2653, 2788, 2914, 3000, 3032, 3031, 2999, 2943, 2912, 2901, 2918, 2976, 3030, 3115, 3207, 3219, 3156, 3052, 2904, 2710, 2515, 2327, 2174, 2124, 2163, 2246, 2364, 2473, 2533, 2548, 2520},
|
|||
|
{2225, 2213, 2195, 2193, 2202, 2206, 2214, 2225, 2230, 2232, 2234, 2232, 2225, 2218, 2213, 2208, 2208, 2214, 2220, 2225, 2228, 2228, 2225, 2221, 2218, 2231, 2244, 2213, 2201, 2243, 2235, 2182, 2200, 2241, 2214, 2196, 2213, 2107, 1779, 1392, 1054, 687, 431, 453, 707, 1109, 1522, 1762, 1760, 1557, 1212, 863, 635, 492, 457, 594, 779, 892, 982, 1040, 995, 867, 745, 670, 596, 520, 505, 574, 731, 986, 1285, 1554, 1702, 1716, 1679, 1588, 1417, 1276, 1249, 1268, 1289, 1364, 1468, 1504, 1484, 1464, 1428, 1351, 1270, 1251, 1294, 1341, 1400, 1519, 1630, 1656, 1642, 1604, 1494, 1352, 1261, 1230, 1230, 1251, 1307, 1390, 1453, 1488, 1536, 1582, 1575, 1532, 1504, 1465, 1376, 1308, 1314, 1324, 1317, 1341, 1386, 1418, 1432, 1490, 1587, 1625, 1624, 1628, 1573, 1459, 1351, 1269, 1228, 1214, 1226, 1309, 1409, 1459, 1520, 1617, 1654, 1607, 1585, 1584, 1508, 1415, 1367, 1316, 1249, 1220, 1259, 1334, 1395, 1465, 1575, 1650, 1657, 1664, 1680, 1646, 1570, 1493, 1406, 1292, 1200, 1188, 1252, 1343, 1453, 1583, 1678, 1693, 1676, 1671, 1636, 1551, 1476, 1431, 1365, 1294, 1280, 1324, 1378, 1434, 1527, 1608, 1607, 1580, 1585, 1577, 1567, 1578, 1575, 1545, 1471, 1374, 1327, 1309, 1314, 1408, 1556, 1643, 1658, 1673, 1671, 1597, 1525, 1493, 1453, 1395, 1362, 1367, 1379, 1385, 1444, 1561, 1635, 1635, 1625, 1604, 1549, 1510, 1520, 1542, 1538, 1519, 1497, 1442, 1376, 1353, 1380, 1452, 1549, 1621, 1654, 1663, 1652, 1630, 1597, 1545, 1497, 1528, 1687, 1952, 2276, 2579, 2792, 2894, 2884, 2785, 2646, 2529, 2469, 2484, 2575, 2706, 2837, 2951, 3016, 3030, 3021, 2977, 2924, 2905, 2902, 2935, 2999, 3060, 3154, 3224, 3205, 3120, 3000, 2835, 2634, 2443, 2266, 2145, 2132, 2192, 2288, 2408, 2503, 2542, 2539},
|
|||
|
{0},
|
|||
|
};
|
|||
|
int data_10ul_one5ul_kx[][350] = {
|
|||
|
{2228, 2283, 2315, 2315, 2285, 2242, 2202, 2172, 2160, 2168, 2190, 2217, 2241, 2256, 2259, 2250, 2234, 2219, 2208, 2203, 2205, 2212, 2220, 2225, 2227, 2230, 2230, 2228, 2226, 2224, 2221, 2218, 2218, 2218, 2220, 2223, 2227, 2228, 2213, 2127, 1899, 1609, 1316, 914, 525, 426, 632, 1011, 1456, 1738, 1712, 1514, 1244, 926, 683, 574, 537, 598, 775, 978, 1225, 1510, 1716, 1843, 1905, 1852, 1751, 1658, 1524, 1443, 1485, 1540, 1622, 1748, 1798, 1795, 1792, 1728, 1647, 1606, 1534, 1496, 1554, 1598, 1643, 1708, 1681, 1638, 1658, 1636, 1617, 1660, 1652, 1637, 1695, 1719, 1725, 1782, 1822, 1917, 2153, 2412, 2645, 2849, 2937, 2908, 2841, 2749, 2660, 2640, 2673, 2732, 2828, 2933, 3033, 3102, 3125, 3087, 2949, 2815, 2706, 2535, 2375, 2242, 2104, 2053, 2096, 2160, 2246, 2339, 2384, 2387, 2364},
|
|||
|
{2260, 2297, 2301, 2277, 2241, 2203, 2174, 2165, 2173, 2192, 2216, 2238, 2249, 2249, 2241, 2227, 2212, 2204, 2203, 2208, 2217, 2225, 2228, 2229, 2227, 2222, 2218, 2218, 2218, 2218, 2218, 2218, 2220, 2221, 2221, 2208, 2116, 1852, 1527, 1211, 791, 472, 437, 699, 1212, 1649, 1784, 1678, 1395, 1028, 742, 579, 546, 649, 762, 898, 1108, 1305, 1510, 1721, 1798, 1787, 1768, 1673, 1582, 1559, 1503, 1511, 1625, 1681, 1738, 1811, 1771, 1708, 1673, 1596, 1552, 1569, 1548, 1570, 1649, 1662, 1674, 1696, 1629, 1591, 1620, 1601, 1626, 1693, 1684, 1696, 1743, 1730, 1748, 1834, 1949, 2179, 2482, 2715, 2871, 2929, 2869, 2772, 2685, 2623, 2634, 2706, 2791, 2894, 2974, 3032, 3097, 3094, 3036, 2978, 2873, 2720, 2531, 2301, 2101, 2008, 2014, 2093, 2222, 2340, 2408, 2423, 2387, 2317},
|
|||
|
{2268, 2306, 2306, 2277, 2236, 2195, 2167, 2161, 2175, 2200, 2226, 2245, 2253, 2249, 2236, 2220, 2208, 2201, 2202, 2208, 2216, 2224, 2229, 2230, 2228, 2226, 2222, 2219, 2217, 2215, 2214, 2216, 2219, 2222, 2223, 2209, 2102, 1826, 1513, 1172, 698, 421, 503, 750, 1228, 1705, 1775, 1622, 1389, 1013, 711, 586, 536, 626, 813, 929, 1099, 1355, 1532, 1706, 1847, 1802, 1727, 1684, 1565, 1514, 1560, 1541, 1587, 1714, 1742, 1769, 1813, 1725, 1632, 1610, 1544, 1530, 1601, 1595, 1609, 1684, 1666, 1651, 1683, 1616, 1575, 1632, 1632, 1655, 1732, 1721, 1707, 1749, 1750, 1811, 2008, 2231, 2483, 2747, 2884, 2907, 2872, 2771, 2667, 2625, 2643, 2709, 2804, 2907, 2981, 3044, 3102, 3086, 3033, 2973, 2862, 2702, 2503, 2274, 2086, 2003, 2019, 2108, 2235, 2347, 2412, 2423, 2381, 2309},
|
|||
|
{2254, 2288, 2293, 2275, 2243, 2208, 2181, 2170, 2176, 2193, 2214, 2233, 2245, 2246, 2238, 2226, 2213, 2203, 2202, 2208, 2218, 2225, 2229, 2230, 2225, 2219, 2217, 2217, 2217, 2219, 2221, 2221, 2222, 2222, 2222, 2212, 2129, 1877, 1548, 1245, 839, 472, 465, 740, 1151, 1613, 1821, 1678, 1410, 1086, 756, 583, 566, 596, 717, 917, 1090, 1303, 1551, 1691, 1773, 1818, 1748, 1670, 1629, 1518, 1465, 1554, 1609, 1678, 1795, 1794, 1752, 1744, 1657, 1585, 1590, 1530, 1508, 1599, 1629, 1658, 1732, 1676, 1608, 1639, 1602, 1586, 1666, 1665, 1656, 1728, 1734, 1729, 1789, 1814, 1913, 2177, 2445, 2678, 2871, 2927, 2873, 2793, 2696, 2625, 2631, 2696, 2779, 2886, 2977, 3027, 3091, 3106, 3025, 2921, 2819, 2692, 2543, 2381, 2202, 2077, 2056, 2098, 2185, 2290, 2363, 2390, 2379, 2331},
|
|||
|
{2268, 2309, 2316, 2295, 2255, 2212, 2183, 2173, 2181, 2203, 2228, 2248, 2259, 2258, 2248, 2235, 2223, 2215, 2214, 2216, 2220, 2227, 2234, 2238, 2239, 2238, 2236, 2231, 2227, 2223, 2223, 2225, 2228, 2231, 2233, 2222, 2133, 1873, 1547, 1223, 785, 471, 464, 702, 1190, 1645, 1783, 1683, 1436, 1076, 770, 594, 535, 626, 756, 885, 1104, 1332, 1524, 1731, 1828, 1792, 1762, 1685, 1574, 1550, 1522, 1505, 1617, 1704, 1743, 1817, 1805, 1716, 1668, 1604, 1537, 1554, 1560, 1558, 1637, 1681, 1678, 1708, 1665, 1592, 1611, 1612, 1614, 1689, 1708, 1690, 1738, 1748, 1746, 1836, 1968, 2163, 2458, 2711, 2858, 2925, 2890, 2787, 2700, 2642, 2633, 2696, 2783, 2881, 2973, 3031, 3097, 3111, 3029, 2919, 2814, 2681, 2525, 2365, 2189, 2067, 2054, 2101, 2183, 2290, 2366, 2391, 2381, 2336},
|
|||
|
{2237, 2286, 2304, 2296, 2264, 2223, 2189, 2168, 2166, 2182, 2206, 2230, 2248, 2255, 2248, 2236, 2223, 2212, 2206, 2206, 2212, 2219, 2224, 2228, 2230, 2231, 2229, 2226, 2224, 2219, 2216, 2217, 2219, 2220, 2223, 2210, 2132, 1935, 1657, 1317, 829, 415, 399, 669, 1091, 1585, 1817, 1708, 1485, 1173, 828, 630, 539, 528, 676, 865, 1048, 1317, 1551, 1691, 1824, 1850, 1768, 1716, 1615, 1477, 1481, 1535, 1580, 1704, 1791, 1785, 1798, 1772, 1676, 1629, 1572, 1487, 1520, 1590, 1619, 1698, 1732, 1668, 1658, 1652, 1598, 1617, 1648, 1636, 1680, 1732, 1732, 1758, 1779, 1788, 1917, 2153, 2405, 2661, 2859, 2927, 2904, 2831, 2730, 2654, 2640, 2684, 2757, 2857, 2957, 3015, 3082, 3132, 3083, 2967, 2837, 2688, 2514, 2359, 2216, 2093, 2063, 2112, 2185, 2277, 2357, 2387, 2377, 2342},
|
|||
|
{2242, 2286, 2301, 2290, 2260, 2222, 2190, 2171, 2170, 2186, 2210, 2232, 2246, 2251, 2245, 2232, 2220, 2211, 2207, 2210, 2216, 2222, 2227, 2230, 2231, 2229, 2227, 2224, 2221, 2218, 2217, 2219, 2223, 2225, 2225, 2207, 2115, 1902, 1606, 1234, 774, 417, 415, 733, 1172, 1600, 1813, 1704, 1434, 1123, 806, 594, 549, 586, 683, 874, 1092, 1322, 1571, 1748, 1823, 1837, 1777, 1678, 1607, 1522, 1464, 1526, 1615, 1688, 1790, 1828, 1787, 1747, 1677, 1591, 1562, 1530, 1512, 1580, 1643, 1674, 1730, 1715, 1641, 1633, 1619, 1592, 1642, 1684, 1680, 1724, 1757, 1745, 1773, 1829, 1931, 2165, 2450, 2688, 2864, 2941, 2904, 2813, 2724, 2655, 2636, 2691, 2772, 2868, 2968, 3027, 3088, 3128, 3071, 2949, 2823, 2677, 2497, 2342, 2203, 2084, 2063, 2122, 2198, 2286, 2363, 2389, 2374, 2336},
|
|||
|
{2214, 2225, 2283, 2367, 2455, 2536, 2599, 2632, 2632, 2607, 2565, 2513, 2463, 2424, 2400, 2392, 2401, 2425, 2455, 2486, 2513, 2531, 2538, 2533, 2521, 2506, 2488, 2471, 2459, 2452, 2451, 2456, 2466, 2477, 2486, 2477, 2415, 2279, 2068, 1766, 1368, 985, 764, 725, 827, 1033, 1262, 1422, 1508, 1543, 1497, 1334, 1083, 831, 618, 431, 328, 389, 601, 898, 1246, 1591, 1871, 2058, 2140, 2114, 1997, 1812, 1614, 1458, 1351, 1298, 1308, 1364, 1437, 1524, 1614, 1690, 1736, 1742, 1722, 1689, 1646, 1595, 1551, 1509, 1481, 1490, 1534, 1589, 1648, 1700, 1736, 1760, 1782, 1817, 1895, 2032, 2220, 2437, 2650, 2824, 2940, 2997, 2996, 2947, 2872, 2801, 2742, 2707, 2712, 2750, 2821, 2925, 3011, 3051, 3053, 2990, 2834, 2614, 2371, 2136, 1948, 1843, 1826, 1878, 1987, 2132, 2280, 2400},
|
|||
|
{2141, 2217, 2280, 2321, 2327, 2303, 2263, 2217, 2178, 2159, 2158, 2173, 2198, 2224, 2246, 2260, 2262, 2253, 2240, 2227, 2212, 2203, 2202, 2206, 2213, 2224, 2233, 2238, 2238, 2235, 2228, 2222, 2217, 2215, 2216, 2202, 2128, 1967, 1732, 1414, 987, 554, 392, 554, 880, 1291, 1601, 1664, 1589, 1407, 1116, 866, 686, 539, 530, 641, 795, 1070, 1407, 1669, 1890, 2016, 1979, 1894, 1767, 1560, 1444, 1434, 1435, 1529, 1676, 1750, 1818, 1865, 1805, 1734, 1669, 1543, 1486, 1516, 1525, 1588, 1677, 1675, 1686, 1717, 1676, 1660, 1684, 1655, 1657, 1700, 1700, 1720, 1766, 1784, 1882, 2096, 2335, 2589, 2820, 2940, 2968, 2933, 2839, 2739, 2673, 2655, 2685, 2757, 2863, 2960, 3050, 3139, 3155, 3093, 2999, 2837, 2616, 2391, 2166, 1995, 1942, 1981, 2077, 2218, 2350, 2434, 2467, 2446},
|
|||
|
{2239, 2285, 2302, 2288, 2256, 2220, 2189, 2172, 2172, 2186, 2209, 2232, 2247, 2252, 2246, 2234, 2220, 2211, 2207, 2209, 2216, 2223, 2228, 2232, 2231, 2228, 2225, 2223, 2220, 2219, 2220, 2222, 2223, 2223, 2224, 2217, 2147, 1931, 1616, 1272, 880, 524, 422, 684, 1136, 1561, 1782, 1703, 1443, 1118, 803, 610, 568, 621, 729, 894, 1076, 1276, 1513, 1702, 1790, 1813, 1764, 1672, 1614, 1559, 1506, 1551, 1625, 1682, 1778, 1820, 1781, 1744, 1667, 1581, 1564, 1548, 1531, 1592, 1648, 1671, 1727, 1724, 1650, 1628, 1605, 1579, 1638, 1692, 1709, 1753, 1764, 1743, 1763, 1795, 1876, 2101, 2385, 2649, 2860, 2942, 2916, 2834, 2723, 2646, 2629, 2671, 2763, 2867, 2972, 3035, 3066, 3108, 3089, 2990, 2877, 2725, 2536, 2363, 2188, 2064, 2052, 2103, 2192, 2303, 2374, 2400, 2388, 2333},
|
|||
|
{2229, 2272, 2284, 2272, 2242, 2203, 2171, 2155, 2153, 2168, 2194, 2217, 2231, 2236, 2230, 2218, 2204, 2194, 2189, 2190, 2196, 2206, 2211, 2213, 2214, 2211, 2209, 2207, 2207, 2205, 2202, 2200, 2201, 2204, 2205, 2190, 2109, 1902, 1599, 1209, 759, 449, 394, 683, 1175, 1564, 1745, 1682, 1414, 1075, 786, 580, 523, 604, 678, 826, 1076, 1292, 1521, 1747, 1808, 1781, 1755, 1645, 1557, 1546, 1477, 1480, 1607, 1663, 1728, 1811, 1769, 1691, 1651, 1565, 1517, 1543, 1510, 1526, 1625, 1645, 1671, 1722, 1637, 1566, 1601, 1576, 1596, 1696, 1702, 1691, 1740, 1727, 1719, 1796, 1896, 2093, 2400, 2659, 2835, 2925, 2906, 2801, 2703, 2636, 2608, 2655, 2747, 2849, 2948, 3015, 3082, 3117, 3061, 2936, 2800, 2652, 2475, 2317, 2181, 2068, 2045, 2105, 2185, 2270, 2343, 2368, 2350, 2312},
|
|||
|
{2139, 2228, 2294, 2330, 2332, 2302, 2255, 2207, 2170, 2151, 2152, 2169, 2197, 2225, 2247, 2258, 2259, 2250, 2235, 2218, 2204, 2197, 2195, 2201, 2212, 2224, 2233, 2237, 2237, 2231, 2222, 2217, 2214, 2211, 2211, 2203, 2148, 1990, 1737, 1400, 941, 549, 425, 511, 818, 1260, 1560, 1644, 1605, 1422, 1132, 867, 669, 559, 542, 592, 772, 1065, 1372, 1679, 1927, 2002, 1970, 1886, 1725, 1578, 1491, 1405, 1416, 1529, 1632, 1741, 1841, 1841, 1781, 1719, 1631, 1555, 1523, 1493, 1511, 1576, 1628, 1684, 1719, 1680, 1660, 1666, 1647, 1665, 1705, 1692, 1691, 1724, 1737, 1778, 1899, 2072, 2305, 2573, 2795, 2924, 2967, 2931, 2842, 2747, 2676, 2654, 2679, 2749, 2851, 2943, 3052, 3154, 3159, 3074, 2954, 2791, 2574, 2374, 2206, 2050, 1980, 2020, 2103, 2207, 2327, 2407, 2429, 2415},
|
|||
|
{2215, 2266, 2293, 2296, 2271, 2235, 2200, 2176, 2169, 2178, 2197, 2218, 2237, 2246, 2245, 2239, 2228, 2216, 2209, 2205, 2206, 2211, 2216, 2220, 2225, 2228, 2226, 2223, 2219, 2213, 2210, 2211, 2213, 2217, 2220, 2197, 2096, 1905, 1631, 1242, 789, 473, 461, 701, 1118, 1543, 1702, 1640, 1468, 1159, 848, 661, 558, 574, 698, 816, 991, 1265, 1508, 1723, 1891, 1879, 1788, 1714, 1588, 1507, 1525, 1512, 1546, 1673, 1742, 1787, 1837, 1769, 1662, 1609, 1539, 1506, 1552, 1566, 1588, 1664, 1686, 1690, 1707, 1643, 1583, 1606, 1619, 1656, 1735, 1743, 1727, 1751, 1747, 1773, 1915, 2114, 2363, 2650, 2852, 2936, 2941, 2864, 2751, 2670, 2632, 2655, 2731, 2834, 2943, 3013, 3081, 3144, 3116, 3028, 2917, 2735, 2519, 2318, 2121, 1997, 1998, 2068, 2177, 2308, 2398, 2427, 2412, 2356},
|
|||
|
{2228, 2271, 2294, 2293, 2265, 2228, 2197, 2174, 2170, 2181, 2202, 2223, 2238, 2245, 2243, 2234, 2222, 2213, 2209, 2208, 2210, 2215, 2219, 2222, 2226, 2229, 2227, 2225, 2224, 2220, 2216, 2215, 2216, 2218, 2219, 2193, 2086, 1888, 1616, 1254, 797, 444, 462, 755, 1167, 1594, 1755, 1633, 1424, 1115, 800, 646, 563, 547, 698, 869, 1037, 1324, 1567, 1706, 1848, 1861, 1757, 1710, 1605, 1468, 1501, 1552, 1576, 1712, 1795, 1768, 1791, 1756, 1639, 1609, 1562, 1472, 1527, 1597, 1609, 1701, 1731, 1654, 1661, 1649, 1573, 1610, 1656, 1645, 1719, 1773, 1740, 1763, 1774, 1753, 1887, 2131, 2381, 2665, 2885, 2951, 2933, 2857, 2738, 2653, 2629, 2660, 2738, 2849, 2961, 3029, 3093, 3142, 3097, 3006, 2896, 2715, 2504, 2305, 2113, 2002, 2012, 2087, 2199, 2323, 2401, 2422, 2402, 2343},
|
|||
|
{2471, 2524, 2541, 2535, 2510, 2470, 2434, 2413, 2407, 2418, 2441, 2466, 2485, 2495, 2492, 2479, 2465, 2453, 2445, 2446, 2452, 2460, 2468, 2473, 2474, 2471, 2469, 2468, 2467, 2465, 2463, 2463, 2463, 2465, 2466, 2446, 2347, 2158, 1894, 1530, 1090, 696, 619, 883, 1235, 1589, 1814, 1760, 1526, 1195, 798, 494, 366, 325, 398, 612, 853, 1128, 1440, 1648, 1758, 1812, 1742, 1629, 1558, 1443, 1375, 1444, 1503, 1574, 1708, 1752, 1724, 1716, 1638, 1538, 1516, 1466, 1434, 1513, 1562, 1590, 1670, 1661, 1613, 1655, 1650, 1621, 1685, 1711, 1692, 1738, 1750, 1721, 1752, 1785, 1861, 2092, 2376, 2629, 2853, 2971, 2950, 2868, 2774, 2673, 2619, 2653, 2725, 2815, 2937, 3024, 3087, 3151, 3124, 3022, 2918, 2749, 2517, 2315, 2136, 2002, 1989, 2073, 2179, 2297, 2397, 2432, 2412, 2361},
|
|||
|
{2230, 2280, 2306, 2301, 2272, 2234, 2196, 2170, 2164, 2174, 2197, 2223, 2242, 2251, 2251, 2241, 2225, 2212, 2204, 2202, 2205, 2214, 2222, 2228, 2230, 2230, 2229, 2226, 2222, 2219, 2216, 2213, 2215, 2219, 2222, 2212, 2125, 1893, 1586, 1244, 835, 489, 428, 695, 1101, 1496, 1722, 1669, 1453, 1172, 865, 650, 579, 581, 648, 817, 1025, 1266, 1554, 1768, 1861, 1884, 1809, 1683, 1604, 1524, 1464, 1520, 1598, 1666, 1782, 1825, 1781, 1750, 1675, 1579, 1560, 1537, 1507, 1571, 1629, 1650, 1718, 1721, 1644, 1636, 1621, 1583, 1646, 1702, 1700, 1751, 1773, 1738, 1761, 1798, 1872, 2102, 2392, 2648, 2868, 2973, 2947, 2865, 2759, 2659, 2620, 2655, 2729, 2829, 2951, 3030, 3085, 3147, 3121, 3006, 2886, 2713, 2492, 2311, 2142, 2019, 2022, 2097, 2193, 2309, 2392, 2413, 2398, 2348},
|
|||
|
|
|||
|
{0},
|
|||
|
};
|
|||
|
int data_10ul_water[][350] = {
|
|||
|
{2812, 2807, 2803, 2807, 2807, 2806, 2811, 2813, 2813, 2814, 2811, 2807, 2806, 2807, 2808, 2810, 2811, 2812, 2811, 2810, 2793, 2679, 2355, 1884, 1494, 1320, 1343, 1513, 1720, 1863, 1917, 1862, 1735, 1594, 1436, 1311, 1284, 1300, 1295, 1296, 1298, 1248, 1157, 1090, 1066, 1038, 986, 970, 973, 913, 827, 825, 943, 1122, 1351, 1636, 1850, 1908, 1886, 1821, 1696, 1573, 1509, 1503, 1523, 1530, 1556, 1620, 1635, 1595, 1583, 1589, 1545, 1494, 1528, 1597, 1632, 1693, 1789, 1828, 1778, 1700, 1638, 1548, 1429, 1389, 1437, 1475, 1507, 1591, 1680, 1718, 1733, 1759, 1759, 1688, 1599, 1548, 1509, 1460, 1446, 1495, 1542, 1545, 1563, 1629, 1664, 1671, 1734, 1810, 1803, 1738, 1677, 1603, 1475, 1364, 1353, 1384, 1403, 1474, 1593, 1679, 1732, 1778, 1813, 1802, 1723, 1652, 1614, 1527, 1423, 1394, 1419, 1413, 1421, 1528, 1639, 1675, 1714, 1782, 1802, 1762, 1738, 1746, 1692, 1566, 1473, 1425, 1363, 1337, 1422, 1557, 1657, 1729, 1794, 1821, 1783, 1738, 1724, 1676, 1572, 1485, 1447, 1409, 1378, 1437, 1570, 1666, 1706, 1743, 1756, 1703, 1646, 1653, 1683, 1654, 1602, 1592, 1551, 1453, 1412, 1460, 1532, 1609, 1690, 1758, 1767, 1721, 1703, 1709, 1653, 1560, 1517, 1502, 1438, 1383, 1429, 1519, 1591, 1677, 1771, 1786, 1712, 1652, 1645, 1622, 1569, 1567, 1599, 1578, 1525, 1508, 1504, 1484, 1492, 1570, 1655, 1680, 1695, 1737, 1746, 1700, 1651, 1614, 1557, 1533, 1676, 1975, 2321, 2654, 2919, 3040, 3026, 2924, 2785, 2672, 2615, 2634, 2727, 2856, 2980, 3080, 3147, 3173, 3153, 3116, 3084, 3066, 3080, 3132, 3220, 3299, 3339, 3373, 3390, 3354, 3278, 3131, 2893, 2642, 2429, 2295, 2277, 2350, 2473, 2610, 2709, 2753, 2743, 2685},
|
|||
|
{2809, 2810, 2804, 2801, 2805, 2805, 2806, 2811, 2812, 2810, 2809, 2808, 2806, 2805, 2807, 2808, 2808, 2808, 2807, 2807, 2790, 2657, 2305, 1830, 1454, 1295, 1330, 1510, 1725, 1866, 1916, 1865, 1735, 1594, 1441, 1305, 1262, 1283, 1278, 1262, 1271, 1244, 1156, 1082, 1064, 1039, 982, 958, 966, 914, 812, 810, 961, 1153, 1374, 1655, 1865, 1921, 1901, 1841, 1730, 1587, 1487, 1481, 1504, 1501, 1533, 1622, 1654, 1598, 1575, 1593, 1551, 1496, 1531, 1612, 1648, 1685, 1778, 1833, 1771, 1679, 1629, 1551, 1433, 1388, 1438, 1482, 1508, 1583, 1686, 1736, 1740, 1764, 1775, 1694, 1582, 1532, 1508, 1451, 1424, 1485, 1551, 1548, 1559, 1636, 1686, 1689, 1741, 1824, 1815, 1712, 1636, 1584, 1470, 1361, 1350, 1382, 1416, 1492, 1612, 1713, 1748, 1760, 1802, 1802, 1708, 1633, 1612, 1536, 1411, 1373, 1414, 1417, 1424, 1533, 1658, 1695, 1707, 1774, 1814, 1763, 1722, 1734, 1688, 1561, 1462, 1420, 1374, 1350, 1427, 1565, 1668, 1725, 1787, 1833, 1798, 1735, 1720, 1680, 1563, 1457, 1428, 1407, 1376, 1431, 1572, 1679, 1716, 1747, 1772, 1725, 1640, 1636, 1677, 1646, 1585, 1570, 1535, 1456, 1429, 1493, 1580, 1626, 1668, 1741, 1759, 1705, 1690, 1718, 1672, 1555, 1499, 1494, 1434, 1374, 1427, 1540, 1612, 1671, 1764, 1797, 1716, 1640, 1642, 1630, 1570, 1552, 1588, 1579, 1524, 1502, 1512, 1504, 1503, 1572, 1661, 1682, 1682, 1728, 1753, 1703, 1638, 1608, 1569, 1554, 1700, 2012, 2361, 2679, 2930, 3048, 3031, 2930, 2797, 2683, 2627, 2642, 2725, 2851, 2976, 3077, 3149, 3180, 3163, 3128, 3098, 3074, 3082, 3132, 3219, 3302, 3344, 3370, 3369, 3328, 3254, 3108, 2882, 2638, 2428, 2295, 2273, 2342, 2463, 2598, 2701, 2750, 2744, 2691},
|
|||
|
{2803, 2804, 2804, 2797, 2795, 2800, 2802, 2803, 2806, 2807, 2804, 2803, 2803, 2802, 2802, 2803, 2803, 2802, 2804, 2805, 2777, 2610, 2224, 1758, 1407, 1233, 1254, 1397, 1571, 1764, 1900, 1879, 1793, 1719, 1554, 1343, 1238, 1216, 1152, 1089, 1110, 1151, 1126, 1091, 1120, 1134, 1054, 973, 950, 885, 756, 751, 945, 1172, 1377, 1655, 1922, 2003, 1952, 1908, 1842, 1663, 1479, 1443, 1457, 1403, 1405, 1525, 1604, 1602, 1626, 1680, 1666, 1575, 1553, 1625, 1646, 1629, 1703, 1808, 1770, 1655, 1635, 1614, 1480, 1384, 1435, 1491, 1465, 1508, 1670, 1765, 1737, 1763, 1831, 1756, 1593, 1531, 1522, 1439, 1371, 1430, 1517, 1525, 1544, 1656, 1748, 1748, 1769, 1849, 1842, 1706, 1601, 1569, 1475, 1335, 1311, 1384, 1416, 1445, 1578, 1738, 1776, 1767, 1840, 1870, 1749, 1630, 1588, 1506, 1381, 1330, 1375, 1411, 1418, 1510, 1671, 1740, 1737, 1800, 1877, 1821, 1719, 1711, 1687, 1536, 1397, 1384, 1387, 1339, 1388, 1574, 1700, 1706, 1768, 1881, 1863, 1762, 1731, 1705, 1569, 1418, 1375, 1376, 1354, 1396, 1554, 1698, 1731, 1746, 1810, 1802, 1697, 1658, 1700, 1650, 1527, 1496, 1509, 1443, 1392, 1490, 1629, 1652, 1652, 1750, 1804, 1729, 1684, 1714, 1674, 1555, 1486, 1485, 1438, 1355, 1393, 1544, 1627, 1649, 1748, 1838, 1763, 1652, 1674, 1686, 1578, 1506, 1556, 1567, 1473, 1440, 1522, 1550, 1506, 1568, 1698, 1715, 1675, 1720, 1774, 1720, 1624, 1592, 1589, 1599, 1739, 2045, 2394, 2699, 2942, 3089, 3112, 3031, 2900, 2773, 2680, 2642, 2673, 2762, 2878, 3000, 3117, 3200, 3228, 3224, 3198, 3159, 3133, 3142, 3189, 3236, 3274, 3317, 3345, 3334, 3271, 3119, 2888, 2638, 2415, 2266, 2220, 2264, 2373, 2515, 2650, 2745, 2785},
|
|||
|
{2806, 2811, 2806, 2797, 2801, 2803, 2801, 2805, 2812, 2810, 2809, 2809, 2807, 2805, 2806, 2806, 2804, 2804, 2805, 2805, 2795, 2696, 2405, 1978, 1571, 1322, 1273, 1388, 1559, 1701, 1838, 1905, 1816, 1692, 1598, 1445, 1285, 1239, 1252, 1198, 1139, 1163, 1173, 1107, 1073, 1101, 1082, 997, 940, 920, 841, 756, 848, 1086, 1320, 1559, 1817, 1975, 1971, 1894, 1809, 1691, 1545, 1453, 1450, 1466, 1464, 1511, 1609, 1648, 1610, 1605, 1633, 1589, 1524, 1561, 1640, 1666, 1697, 1777, 1816, 1734, 1628, 1591, 1528, 1412, 1380, 1441, 1478, 1516, 1617, 1733, 1788, 1784, 1787, 1773, 1662, 1522, 1479, 1480, 1416, 1385, 1484, 1564, 1559, 1604, 1716, 1767, 1753, 1785, 1837, 1773, 1627, 1546, 1505, 1405, 1319, 1350, 1423, 1464, 1537, 1671, 1771, 1788, 1798, 1829, 1790, 1672, 1580, 1535, 1454, 1349, 1338, 1407, 1445, 1484, 1604, 1726, 1757, 1762, 1811, 1834, 1766, 1692, 1675, 1610, 1463, 1369, 1365, 1368, 1397, 1512, 1665, 1751, 1768, 1811, 1852, 1798, 1711, 1677, 1629, 1491, 1369, 1365, 1389, 1402, 1496, 1663, 1761, 1753, 1754, 1784, 1733, 1634, 1630, 1661, 1599, 1518, 1506, 1490, 1437, 1446, 1553, 1650, 1675, 1703, 1763, 1769, 1714, 1694, 1703, 1629, 1498, 1447, 1445, 1388, 1357, 1465, 1615, 1683, 1727, 1800, 1809, 1704, 1624, 1640, 1620, 1533, 1511, 1547, 1530, 1483, 1491, 1542, 1560, 1561, 1628, 1708, 1703, 1679, 1726, 1760, 1674, 1571, 1553, 1572, 1667, 1917, 2267, 2606, 2878, 3045, 3087, 3024, 2896, 2761, 2668, 2633, 2665, 2760, 2882, 3000, 3107, 3187, 3213, 3196, 3166, 3125, 3101, 3114, 3172, 3245, 3294, 3333, 3359, 3347, 3297, 3177, 2967, 2716, 2482, 2308, 2237, 2267, 2368, 2506, 2640, 2734, 2774, 2755},
|
|||
|
{2806, 2808, 2805, 2804, 2806, 2805, 2804, 2806, 2808, 2807, 2805, 2805, 2804, 2804, 2806, 2809, 2809, 2808, 2807, 2801, 2732, 2467, 2018, 1594, 1303, 1210, 1378, 1624, 1738, 1838, 1953, 1878, 1653, 1513, 1422, 1271, 1185, 1224, 1257, 1207, 1163, 1186, 1176, 1087, 1035, 1052, 1024, 934, 873, 845, 802, 836, 1032, 1319, 1584, 1788, 1933, 1987, 1905, 1756, 1653, 1578, 1476, 1424, 1479, 1537, 1536, 1570, 1646, 1647, 1588, 1575, 1600, 1572, 1533, 1596, 1705, 1740, 1741, 1776, 1755, 1655, 1566, 1518, 1470, 1407, 1405, 1493, 1567, 1599, 1682, 1802, 1827, 1760, 1724, 1687, 1560, 1444, 1443, 1471, 1444, 1453, 1555, 1628, 1613, 1640, 1743, 1788, 1764, 1776, 1784, 1690, 1553, 1481, 1444, 1376, 1336, 1398, 1500, 1557, 1621, 1742, 1821, 1796, 1774, 1791, 1731, 1586, 1494, 1473, 1409, 1336, 1374, 1480, 1532, 1565, 1677, 1787, 1778, 1750, 1788, 1788, 1716, 1655, 1622, 1544, 1408, 1339, 1388, 1441, 1474, 1598, 1765, 1804, 1766, 1801, 1835, 1749, 1639, 1605, 1553, 1414, 1325, 1382, 1465, 1500, 1600, 1761, 1803, 1732, 1715, 1734, 1682, 1621, 1633, 1644, 1575, 1489, 1470, 1476, 1462, 1500, 1631, 1724, 1710, 1710, 1768, 1763, 1682, 1653, 1651, 1558, 1439, 1409, 1427, 1404, 1420, 1572, 1729, 1756, 1747, 1768, 1733, 1645, 1605, 1623, 1603, 1531, 1514, 1559, 1535, 1459, 1487, 1583, 1595, 1578, 1659, 1740, 1718, 1689, 1736, 1739, 1616, 1514, 1549, 1670, 1877, 2208, 2580, 2871, 3033, 3076, 3020, 2892, 2750, 2656, 2632, 2671, 2768, 2894, 3014, 3108, 3175, 3201, 3180, 3146, 3108, 3089, 3108, 3170, 3252, 3309, 3346, 3365, 3351, 3300, 3186, 2983, 2733, 2497, 2322, 2248, 2278, 2381, 2519, 2649, 2736, 2768, 2743},
|
|||
|
{2804, 2807, 2803, 2801, 2807, 2807, 2807, 2811, 2811, 2809, 2810, 2810, 2807, 2806, 2806, 2805, 2806, 2809, 2811, 2809, 2770, 2571, 2161, 1707, 1391, 1285, 1368, 1531, 1686, 1833, 1907, 1829, 1720, 1631, 1475, 1320, 1274, 1274, 1227, 1185, 1202, 1203, 1133, 1077, 1092, 1078, 1007, 973, 961, 881, 785, 814, 979, 1195, 1448, 1728, 1930, 1981, 1928, 1853, 1747, 1594, 1478, 1464, 1478, 1461, 1492, 1588, 1632, 1612, 1619, 1650, 1616, 1542, 1552, 1618, 1645, 1680, 1760, 1794, 1750, 1691, 1639, 1568, 1463, 1399, 1430, 1477, 1490, 1563, 1705, 1781, 1777, 1801, 1810, 1701, 1558, 1500, 1481, 1424, 1399, 1476, 1557, 1560, 1584, 1684, 1742, 1741, 1781, 1837, 1796, 1685, 1600, 1533, 1438, 1358, 1358, 1411, 1449, 1506, 1631, 1744, 1772, 1784, 1830, 1818, 1706, 1611, 1563, 1479, 1381, 1363, 1415, 1445, 1470, 1573, 1693, 1732, 1744, 1790, 1807, 1773, 1740, 1717, 1658, 1536, 1424, 1393, 1380, 1370, 1453, 1611, 1710, 1736, 1793, 1848, 1813, 1747, 1720, 1669, 1541, 1419, 1385, 1386, 1381, 1455, 1618, 1736, 1761, 1770, 1781, 1735, 1663, 1648, 1663, 1626, 1560, 1530, 1504, 1447, 1432, 1519, 1626, 1667, 1692, 1748, 1765, 1717, 1699, 1718, 1671, 1557, 1491, 1472, 1408, 1345, 1413, 1560, 1657, 1718, 1787, 1798, 1737, 1679, 1663, 1640, 1570, 1524, 1548, 1545, 1487, 1480, 1541, 1560, 1543, 1603, 1689, 1694, 1682, 1730, 1765, 1709, 1625, 1592, 1577, 1592, 1764, 2098, 2457, 2762, 2990, 3090, 3062, 2954, 2820, 2704, 2643, 2646, 2718, 2835, 2956, 3065, 3150, 3199, 3198, 3170, 3135, 3104, 3104, 3144, 3220, 3294, 3339, 3359, 3338, 3288, 3213, 3059, 2839, 2610, 2409, 2288, 2271, 2336, 2454, 2586, 2692, 2750, 2752},
|
|||
|
{2805, 2807, 2800, 2797, 2803, 2803, 2801, 2806, 2809, 2808, 2809, 2810, 2807, 2806, 2805, 2803, 2804, 2806, 2809, 2808, 2781, 2617, 2237, 1769, 1422, 1278, 1312, 1472, 1652, 1786, 1867, 1863, 1776, 1662, 1515, 1356, 1270, 1244, 1195, 1154, 1172, 1186, 1138, 1101, 1119, 1098, 1028, 993, 972, 886, 781, 795, 950, 1150, 1394, 1693, 1920, 1984, 1955, 1893, 1773, 1617, 1509, 1473, 1456, 1446, 1487, 1571, 1620, 1616, 1629, 1655, 1620, 1562, 1576, 1627, 1644, 1676, 1757, 1797, 1750, 1689, 1653, 1583, 1464, 1405, 1440, 1466, 1478, 1566, 1684, 1749, 1795, 1842, 1829, 1724, 1590, 1512, 1472, 1410, 1390, 1468, 1545, 1555, 1596, 1699, 1749, 1749, 1796, 1850, 1803, 1687, 1610, 1552, 1442, 1347, 1358, 1411, 1435, 1499, 1634, 1735, 1765, 1799, 1841, 1816, 1721, 1638, 1578, 1482, 1383, 1364, 1403, 1426, 1469, 1587, 1702, 1739, 1757, 1808, 1822, 1772, 1732, 1720, 1656, 1527, 1436, 1415, 1386, 1375, 1463, 1591, 1678, 1744, 1817, 1858, 1824, 1763, 1730, 1668, 1538, 1428, 1397, 1381, 1369, 1454, 1618, 1729, 1765, 1794, 1808, 1750, 1665, 1655, 1672, 1616, 1545, 1535, 1512, 1440, 1433, 1526, 1617, 1663, 1707, 1757, 1760, 1724, 1717, 1729, 1677, 1568, 1503, 1470, 1397, 1348, 1424, 1560, 1648, 1718, 1805, 1822, 1744, 1678, 1671, 1639, 1555, 1524, 1558, 1542, 1485, 1490, 1530, 1545, 1566, 1632, 1697, 1697, 1687, 1731, 1756, 1697, 1628, 1610, 1581, 1572, 1737, 2068, 2415, 2725, 2977, 3098, 3082, 2983, 2850, 2727, 2651, 2641, 2702, 2812, 2931, 3044, 3139, 3198, 3207, 3185, 3151, 3116, 3107, 3143, 3214, 3276, 3318, 3353, 3363, 3336, 3264, 3106, 2868, 2617, 2402, 2269, 2245, 2312, 2435, 2576, 2694, 2763, 2774},
|
|||
|
{2806, 2805, 2800, 2801, 2805, 2805, 2807, 2809, 2808, 2808, 2810, 2810, 2808, 2806, 2804, 2803, 2804, 2807, 2808, 2809, 2792, 2650, 2286, 1823, 1418, 1233, 1332, 1547, 1717, 1846, 1940, 1890, 1718, 1576, 1464, 1328, 1242, 1259, 1290, 1256, 1219, 1212, 1176, 1102, 1057, 1051, 1029, 985, 949, 911, 840, 801, 913, 1156, 1421, 1661, 1873, 1989, 1940, 1811, 1716, 1622, 1509, 1459, 1499, 1539, 1529, 1557, 1635, 1638, 1584, 1580, 1588, 1562, 1563, 1617, 1691, 1737, 1750, 1780, 1782, 1684, 1577, 1545, 1506, 1412, 1399, 1494, 1551, 1573, 1667, 1783, 1810, 1781, 1770, 1731, 1598, 1465, 1449, 1464, 1436, 1456, 1549, 1606, 1611, 1646, 1717, 1754, 1760, 1792, 1811, 1736, 1605, 1521, 1475, 1398, 1341, 1393, 1481, 1522, 1589, 1714, 1791, 1787, 1789, 1814, 1759, 1622, 1533, 1499, 1427, 1358, 1384, 1452, 1504, 1578, 1682, 1763, 1768, 1745, 1772, 1783, 1718, 1663, 1660, 1601, 1461, 1386, 1412, 1426, 1452, 1572, 1714, 1764, 1758, 1800, 1831, 1763, 1676, 1650, 1591, 1459, 1371, 1382, 1420, 1474, 1591, 1736, 1799, 1769, 1741, 1730, 1675, 1615, 1631, 1662, 1610, 1531, 1511, 1497, 1452, 1476, 1602, 1698, 1704, 1712, 1763, 1759, 1687, 1678, 1703, 1614, 1481, 1435, 1411, 1373, 1407, 1544, 1698, 1759, 1767, 1796, 1769, 1651, 1585, 1625, 1616, 1530, 1526, 1588, 1557, 1483, 1507, 1580, 1578, 1564, 1648, 1727, 1698, 1676, 1739, 1751, 1649, 1563, 1548, 1583, 1734, 2035, 2405, 2737, 2966, 3063, 3034, 2920, 2782, 2678, 2637, 2660, 2743, 2867, 2983, 3075, 3137, 3169, 3164, 3131, 3101, 3085, 3099, 3149, 3235, 3316, 3356, 3368, 3336, 3275, 3206, 3076, 2876, 2660, 2459, 2327, 2300, 2356, 2467, 2591, 2686, 2737, 2735},
|
|||
|
{2810, 2805, 2802, 2806, 2808, 2808, 2810, 2809, 2809, 2811, 2812, 2811, 2810, 2809, 2807, 2805, 2806, 2809, 2811, 2810, 2783, 2619, 2232, 1761, 1409, 1289, 1372, 1542, 1720, 1860, 1905, 1837, 1730, 1605, 1449, 1333, 1294, 1277, 1259, 1244, 1229, 1204, 1149, 1097, 1087, 1065, 1013, 991, 976, 896, 800, 812, 948, 1149, 1417, 1713, 1921, 1975, 1928, 1851, 1733, 1588, 1499, 1476, 1468, 1485, 1539, 1607, 1640, 1622, 1613, 1621, 1586, 1545, 1573, 1634, 1660, 1696, 1775, 1801, 1741, 1677, 1629, 1552, 1454, 1415, 1453, 1486, 1507, 1594, 1708, 1759, 1784, 1819, 1795, 1691, 1579, 1507, 1463, 1427, 1433, 1493, 1551, 1578, 1619, 1687, 1728, 1737, 1777, 1825, 1787, 1689, 1614, 1541, 1445, 1380, 1385, 1425, 1452, 1511, 1633, 1727, 1758, 1792, 1821, 1792, 1720, 1648, 1578, 1486, 1399, 1379, 1413, 1441, 1489, 1603, 1708, 1733, 1743, 1788, 1796, 1750, 1723, 1711, 1650, 1540, 1458, 1431, 1400, 1390, 1481, 1612, 1688, 1736, 1798, 1826, 1793, 1752, 1724, 1657, 1545, 1450, 1404, 1380, 1390, 1487, 1639, 1744, 1772, 1787, 1783, 1714, 1640, 1641, 1655, 1616, 1574, 1566, 1529, 1453, 1443, 1535, 1621, 1660, 1706, 1741, 1730, 1714, 1725, 1734, 1685, 1583, 1513, 1469, 1386, 1344, 1431, 1567, 1656, 1734, 1820, 1815, 1722, 1661, 1651, 1614, 1551, 1545, 1578, 1552, 1500, 1513, 1548, 1544, 1552, 1617, 1672, 1677, 1694, 1743, 1752, 1706, 1652, 1607, 1558, 1570, 1746, 2063, 2417, 2747, 2989, 3080, 3044, 2933, 2797, 2688, 2639, 2658, 2740, 2858, 2975, 3074, 3139, 3173, 3174, 3144, 3115, 3099, 3110, 3156, 3237, 3310, 3349, 3362, 3330, 3277, 3212, 3073, 2869, 2648, 2442, 2317, 2295, 2352, 2465, 2591, 2689, 2743, 2742},
|
|||
|
{2810, 2808, 2802, 2802, 2807, 2807, 2809, 2812, 2812, 2812, 2813, 2812, 2811, 2809, 2806, 2805, 2807, 2810, 2812, 2812, 2774, 2567, 2149, 1697, 1373, 1266, 1395, 1626, 1772, 1857, 1927, 1855, 1673, 1544, 1445, 1328, 1261, 1279, 1306, 1261, 1204, 1194, 1163, 1088, 1049, 1063, 1057, 988, 925, 893, 825, 801, 950, 1209, 1484, 1744, 1933, 2007, 1942, 1790, 1677, 1600, 1495, 1440, 1495, 1549, 1535, 1561, 1643, 1643, 1585, 1582, 1610, 1587, 1556, 1613, 1713, 1743, 1740, 1780, 1773, 1664, 1566, 1527, 1474, 1414, 1428, 1506, 1565, 1612, 1699, 1793, 1821, 1788, 1749, 1693, 1570, 1452, 1441, 1466, 1452, 1471, 1563, 1626, 1629, 1663, 1747, 1788, 1767, 1776, 1789, 1702, 1567, 1494, 1449, 1389, 1371, 1428, 1513, 1565, 1619, 1725, 1801, 1782, 1768, 1796, 1745, 1601, 1511, 1487, 1421, 1359, 1400, 1497, 1549, 1590, 1692, 1779, 1759, 1730, 1774, 1785, 1711, 1655, 1638, 1564, 1445, 1392, 1417, 1447, 1493, 1602, 1729, 1774, 1766, 1797, 1821, 1757, 1667, 1630, 1570, 1436, 1349, 1384, 1449, 1507, 1629, 1786, 1831, 1757, 1721, 1726, 1662, 1598, 1619, 1633, 1584, 1532, 1511, 1503, 1482, 1510, 1632, 1723, 1703, 1695, 1755, 1754, 1677, 1674, 1699, 1599, 1465, 1428, 1427, 1388, 1407, 1572, 1739, 1767, 1761, 1797, 1760, 1637, 1583, 1612, 1593, 1535, 1538, 1573, 1547, 1496, 1519, 1584, 1590, 1585, 1657, 1724, 1710, 1696, 1743, 1744, 1636, 1543, 1541, 1612, 1798, 2124, 2502, 2819, 3014, 3069, 3010, 2884, 2751, 2665, 2642, 2679, 2778, 2902, 3013, 3096, 3140, 3158, 3148, 3119, 3100, 3097, 3122, 3179, 3263, 3329, 3357, 3359, 3318, 3260, 3188, 3038, 2828, 2611, 2418, 2312, 2309, 2381, 2499, 2619, 2703, 2741, 2725},
|
|||
|
{2816, 2814, 2814, 2815, 2812, 2809, 2809, 2811, 2811, 2809, 2809, 2809, 2808, 2808, 2810, 2811, 2812, 2812, 2812, 2810, 2780, 2650, 2380, 2033, 1702, 1464, 1336, 1294, 1297, 1350, 1465, 1590, 1670, 1715, 1747, 1732, 1650, 1542, 1436, 1299, 1138, 1017, 955, 907, 876, 902, 964, 993, 986, 980, 966, 945, 975, 1105, 1287, 1459, 1635, 1817, 1940, 1977, 1973, 1944, 1863, 1728, 1601, 1503, 1409, 1339, 1335, 1377, 1415, 1465, 1562, 1657, 1699, 1735, 1798, 1835, 1814, 1783, 1764, 1704, 1603, 1528, 1486, 1428, 1375, 1388, 1446, 1499, 1562, 1669, 1777, 1830, 1839, 1830, 1779, 1678, 1578, 1508, 1438, 1372, 1358, 1401, 1450, 1508, 1615, 1741, 1827, 1875, 1910, 1894, 1800, 1676, 1575, 1466, 1340, 1268, 1278, 1321, 1381, 1490, 1638, 1766, 1853, 1924, 1953, 1896, 1781, 1665, 1543, 1397, 1287, 1265, 1288, 1324, 1414, 1561, 1698, 1790, 1879, 1959, 1965, 1895, 1812, 1714, 1557, 1393, 1305, 1281, 1279, 1325, 1447, 1587, 1696, 1800, 1907, 1963, 1937, 1868, 1775, 1631, 1459, 1339, 1293, 1285, 1323, 1433, 1567, 1661, 1737, 1828, 1891, 1884, 1847, 1808, 1720, 1576, 1454, 1389, 1347, 1332, 1387, 1493, 1588, 1663, 1755, 1841, 1872, 1860, 1835, 1762, 1626, 1491, 1403, 1329, 1276, 1313, 1431, 1543, 1623, 1721, 1822, 1856, 1836, 1824, 1792, 1690, 1573, 1503, 1447, 1375, 1344, 1390, 1456, 1508, 1583, 1688, 1770, 1804, 1830, 1841, 1789, 1687, 1609, 1603, 1676, 1840, 2096, 2403, 2698, 2942, 3120, 3220, 3235, 3177, 3075, 2955, 2843, 2760, 2718, 2721, 2770, 2862, 2976, 3093, 3199, 3285, 3349, 3392, 3416, 3414, 3383, 3335, 3278, 3221, 3155, 3053, 2904, 2729, 2557, 2411, 2312, 2270, 2283, 2341, 2429, 2531, 2627},
|
|||
|
{2811, 2810, 2805, 2807, 2809, 2809, 2810, 2812, 2811, 2812, 2813, 2812, 2810, 2809, 2807, 2807, 2808, 2810, 2811, 2810, 2777, 2589, 2192, 1738, 1385, 1260, 1389, 1606, 1743, 1846, 1925, 1848, 1685, 1574, 1458, 1337, 1285, 1289, 1287, 1255, 1214, 1194, 1164, 1099, 1060, 1069, 1049, 986, 938, 900, 822, 797, 942, 1195, 1461, 1716, 1926, 2013, 1943, 1807, 1713, 1617, 1501, 1456, 1479, 1493, 1521, 1585, 1641, 1648, 1614, 1602, 1616, 1588, 1557, 1614, 1702, 1726, 1735, 1785, 1769, 1660, 1581, 1550, 1487, 1416, 1428, 1508, 1556, 1590, 1692, 1795, 1815, 1795, 1773, 1699, 1568, 1469, 1448, 1445, 1440, 1479, 1562, 1619, 1635, 1677, 1749, 1774, 1769, 1792, 1794, 1701, 1574, 1504, 1457, 1389, 1364, 1426, 1506, 1547, 1617, 1737, 1795, 1781, 1789, 1792, 1715, 1617, 1551, 1492, 1420, 1367, 1398, 1481, 1532, 1591, 1703, 1779, 1762, 1746, 1783, 1774, 1703, 1661, 1642, 1561, 1443, 1401, 1434, 1452, 1486, 1606, 1728, 1759, 1767, 1808, 1810, 1749, 1689, 1640, 1556, 1442, 1372, 1383, 1433, 1504, 1631, 1774, 1818, 1772, 1746, 1733, 1666, 1608, 1625, 1635, 1575, 1518, 1510, 1500, 1473, 1518, 1645, 1721, 1709, 1713, 1735, 1718, 1700, 1711, 1698, 1608, 1488, 1428, 1404, 1368, 1404, 1568, 1727, 1769, 1780, 1810, 1761, 1646, 1601, 1623, 1590, 1524, 1534, 1576, 1540, 1486, 1528, 1595, 1590, 1594, 1665, 1711, 1702, 1711, 1745, 1729, 1640, 1562, 1542, 1598, 1781, 2099, 2471, 2795, 3006, 3076, 3026, 2905, 2772, 2680, 2644, 2670, 2763, 2884, 2996, 3084, 3134, 3158, 3156, 3132, 3114, 3106, 3123, 3173, 3253, 3318, 3350, 3360, 3326, 3269, 3201, 3056, 2845, 2628, 2430, 2312, 2300, 2365, 2482, 2607, 2699, 2744, 2736},
|
|||
|
{2811, 2808, 2805, 2809, 2810, 2809, 2811, 2813, 2811, 2810, 2812, 2812, 2811, 2810, 2808, 2808, 2809, 2810, 2812, 2809, 2761, 2535, 2107, 1655, 1339, 1269, 1425, 1645, 1791, 1882, 1926, 1828, 1655, 1529, 1421, 1320, 1276, 1291, 1297, 1253, 1203, 1185, 1149, 1087, 1062, 1072, 1051, 986, 929, 880, 806, 808, 970, 1223, 1504, 1772, 1952, 2009, 1937, 1796, 1687, 1597, 1495, 1454, 1494, 1522, 1519, 1567, 1635, 1630, 1599, 1608, 1619, 1592, 1578, 1632, 1704, 1731, 1747, 1776, 1747, 1653, 1580, 1536, 1473, 1423, 1441, 1503, 1560, 1623, 1714, 1796, 1823, 1799, 1758, 1684, 1554, 1449, 1438, 1451, 1445, 1485, 1570, 1623, 1644, 1691, 1758, 1781, 1773, 1787, 1777, 1683, 1564, 1492, 1435, 1385, 1384, 1440, 1516, 1574, 1642, 1741, 1796, 1784, 1787, 1800, 1725, 1594, 1515, 1468, 1397, 1363, 1417, 1501, 1558, 1622, 1719, 1778, 1760, 1746, 1772, 1759, 1696, 1653, 1623, 1542, 1446, 1411, 1431, 1461, 1520, 1628, 1730, 1765, 1771, 1802, 1806, 1743, 1675, 1631, 1550, 1428, 1362, 1385, 1441, 1526, 1663, 1797, 1824, 1766, 1735, 1717, 1651, 1605, 1618, 1613, 1571, 1536, 1512, 1494, 1490, 1543, 1655, 1725, 1711, 1712, 1750, 1736, 1686, 1690, 1686, 1584, 1472, 1427, 1404, 1379, 1432, 1595, 1744, 1783, 1788, 1799, 1742, 1637, 1596, 1604, 1575, 1535, 1542, 1559, 1535, 1510, 1541, 1593, 1600, 1607, 1666, 1712, 1706, 1709, 1744, 1727, 1628, 1550, 1544, 1618, 1821, 2158, 2531, 2841, 3029, 3075, 3008, 2880, 2749, 2667, 2647, 2685, 2784, 2908, 3014, 3090, 3132, 3153, 3151, 3131, 3115, 3112, 3132, 3180, 3261, 3331, 3366, 3367, 3308, 3232, 3156, 3011, 2816, 2616, 2432, 2331, 2327, 2390, 2499, 2612, 2694, 2731, 2718},
|
|||
|
{2811, 2811, 2807, 2806, 2808, 2808, 2811, 2814, 2814, 2813, 2812, 2808, 2807, 2808, 2809, 2809, 2811, 2813, 2813, 2810, 2781, 2607, 2221, 1769, 1408, 1267, 1380, 1591, 1741, 1847, 1927, 1862, 1698, 1576, 1473, 1352, 1279, 1287, 1297, 1253, 1209, 1190, 1152, 1104, 1084, 1082, 1065, 1011, 945, 892, 819, 784, 914, 1181, 1453, 1693, 1905, 2005, 1943, 1822, 1729, 1633, 1521, 1463, 1485, 1509, 1509, 1553, 1626, 1636, 1606, 1608, 1618, 1594, 1580, 1622, 1683, 1724, 1753, 1776, 1757, 1676, 1596, 1551, 1497, 1428, 1420, 1486, 1544, 1591, 1688, 1791, 1829, 1818, 1787, 1718, 1584, 1457, 1428, 1439, 1430, 1464, 1548, 1607, 1645, 1699, 1759, 1787, 1783, 1786, 1780, 1700, 1577, 1502, 1468, 1406, 1362, 1414, 1494, 1542, 1620, 1734, 1797, 1791, 1792, 1807, 1746, 1619, 1533, 1482, 1409, 1362, 1400, 1477, 1540, 1612, 1703, 1762, 1766, 1760, 1774, 1769, 1715, 1662, 1633, 1567, 1457, 1404, 1432, 1459, 1496, 1602, 1718, 1760, 1769, 1806, 1823, 1761, 1682, 1640, 1566, 1440, 1361, 1367, 1416, 1509, 1650, 1785, 1836, 1793, 1745, 1721, 1663, 1601, 1614, 1640, 1584, 1511, 1502, 1496, 1474, 1527, 1650, 1728, 1719, 1715, 1749, 1738, 1688, 1688, 1695, 1608, 1490, 1434, 1400, 1368, 1411, 1554, 1704, 1776, 1802, 1812, 1767, 1670, 1610, 1610, 1584, 1527, 1526, 1560, 1540, 1500, 1532, 1594, 1601, 1605, 1664, 1715, 1703, 1695, 1735, 1734, 1642, 1560, 1543, 1592, 1763, 2074, 2445, 2774, 2995, 3077, 3036, 2920, 2785, 2687, 2649, 2669, 2752, 2873, 2985, 3072, 3126, 3151, 3153, 3138, 3123, 3114, 3128, 3166, 3238, 3315, 3359, 3373, 3331, 3252, 3181, 3053, 2859, 2661, 2471, 2344, 2318, 2369, 2471, 2587, 2677, 2726, 2727},
|
|||
|
{0},
|
|||
|
};
|
|||
|
#define DATA data_10ul_kx
|
|||
|
#define DATA2 data_10ul_water
|
|||
|
#define DATA3 data_10ul_one5ul_kx
|
|||
|
#define PART_SIZE(x) (sizeof(x) / sizeof(x[0]))
|
|||
|
|
|||
|
/*
|
|||
|
Q:过程噪声,Q增大,动态响应变快,收敛稳定性变坏
|
|||
|
R:测量噪声,R增大,动态响应变慢,收敛稳定性变好
|
|||
|
KALMAN_First_X : 观测初值,一般需要自己去采样一下
|
|||
|
KALMAN_Frist_P : 采样误差初值 这个一般写0
|
|||
|
*/
|
|||
|
|
|||
|
#define KALMAN_Q 0.02
|
|||
|
#define KALMAN_R 10.0000
|
|||
|
|
|||
|
#define KALMAN_First_X 1
|
|||
|
#define KALMAN_Frist_P 0.00
|
|||
|
/* 卡尔曼滤波处理 */
|
|||
|
static float x_last = KALMAN_First_X;
|
|||
|
static float p_last = KALMAN_Frist_P;
|
|||
|
static float KalmanFilter(const float ResrcData, float ProcessNiose_Q, float MeasureNoise_R)
|
|||
|
{
|
|||
|
|
|||
|
float R = MeasureNoise_R;
|
|||
|
float Q = ProcessNiose_Q;
|
|||
|
|
|||
|
float x_mid = x_last;
|
|||
|
float x_now;
|
|||
|
|
|||
|
float p_mid;
|
|||
|
float p_now;
|
|||
|
|
|||
|
float kg;
|
|||
|
|
|||
|
x_mid = x_last; // x_last=x(k-1|k-1),x_mid=x(k|k-1)
|
|||
|
p_mid = p_last + Q; // p_mid=p(k|k-1),p_last=p(k-1|k-1),Q=噪声
|
|||
|
|
|||
|
/*
|
|||
|
* 卡尔曼滤波的五个重要公式
|
|||
|
*/
|
|||
|
kg = p_mid / (p_mid + R); // kg为kalman filter,R 为噪声
|
|||
|
x_now = x_mid + kg * (ResrcData - x_mid); // 估计出的最优值
|
|||
|
p_now = (1 - kg) * p_mid; // 最优值对应的covariance
|
|||
|
p_last = p_now; // 更新covariance 值
|
|||
|
x_last = x_now; // 更新系统状态值
|
|||
|
|
|||
|
return x_now;
|
|||
|
}
|
|||
|
|
|||
|
int main(void)
|
|||
|
{
|
|||
|
|
|||
|
FILE *fp = fopen("1.csv", "w+");
|
|||
|
int i = 0;
|
|||
|
while (DATA[i][0] != 0)
|
|||
|
{
|
|||
|
int j = 0;
|
|||
|
x_last = DATA[i][0];
|
|||
|
while (DATA[i][j] != 0)
|
|||
|
{
|
|||
|
float get_value = KalmanFilter(DATA[i][j], KALMAN_Q, KALMAN_R);
|
|||
|
fprintf(fp, "%f,", get_value);
|
|||
|
j++;
|
|||
|
}
|
|||
|
fprintf(fp, "\n");
|
|||
|
i++;
|
|||
|
}
|
|||
|
fprintf(fp, "\n");
|
|||
|
i = 0;
|
|||
|
while (DATA3[i][0] != 0)
|
|||
|
{
|
|||
|
int j = 0;
|
|||
|
x_last = DATA3[i][0];
|
|||
|
while (DATA3[i][j] != 0)
|
|||
|
{
|
|||
|
float get_value = KalmanFilter(DATA3[i][j], KALMAN_Q, KALMAN_R);
|
|||
|
|
|||
|
fprintf(fp, "%f,", get_value);
|
|||
|
j++;
|
|||
|
}
|
|||
|
fprintf(fp, "\n");
|
|||
|
i++;
|
|||
|
}
|
|||
|
fprintf(fp, "\n");
|
|||
|
|
|||
|
i = 0;
|
|||
|
while (DATA2[i][0] != 0)
|
|||
|
{
|
|||
|
int j = 0;
|
|||
|
x_last = DATA2[i][0];
|
|||
|
while (DATA2[i][j] != 0)
|
|||
|
{
|
|||
|
float get_value = KalmanFilter(DATA2[i][j], KALMAN_Q, KALMAN_R);
|
|||
|
|
|||
|
fprintf(fp, "%f,", get_value);
|
|||
|
j++;
|
|||
|
}
|
|||
|
fprintf(fp, "\n");
|
|||
|
i++;
|
|||
|
}
|
|||
|
fclose(fp);
|
|||
|
}
|