Skip to content

aaxis-em/agentmanager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AgentManager

It is a distributed system for solving the Traveling Salesperson Problem (TSP) with multiple agent(6) and each agent has different types of characteristics which makes exploration and exploitation.Also the solving mechanism is based on swarm intelligent, Ant colony optimization.

Architecture

Architecture Diagram ui+mainserver

Setup

go run main.go

Spinup docker container

sudo docker build -t agentmanager .
sudo docker run -p 8080:8080  agentmanager

Test

npx wscat -c ws://localhost:8080/ws

>{"type":"start","matrix":[[0,29,20,21,16,31,100,12,4,31],[29,0,15,29,28,40,72,21,29,41],[20,15,0,15,14,25,81,9,23,27],[21,29,15,0,4,12,92,12,25,13],[16,28,14,4,0,16,94,9,20,16],[31,40,25,12,16,0,95,24,36,3],[100,72,81,92,94,95,0,90,101,99],[12,21,9,12,9,24,90,0,15,25],[4,29,23,25,20,36,101,15,0,35],[31,41,27,13,16,3,99,25,35,0]]}

Bigger Problem lin105.tsp

{
  "type": "start",
  "matrix": [
    [
      0, 31, 309, 1210, 1151, 150, 181, 598, 697, 299, 331, 488, 1275, 1227,
      473, 763, 846, 819, 715, 624, 579, 610, 661, 747, 847, 870, 773, 691, 642,
      717, 757, 787, 849, 1461, 1428, 1084, 1147, 1655, 1631, 1220, 1357, 1409,
      1424, 1367, 1317, 1482, 1427, 1380, 1358, 1442, 1487, 1540, 1598, 1548,
      1504, 1567, 1608, 1657, 1673, 2123, 2115, 1933, 1972, 2046, 2382, 2379,
      2130, 2160, 2228, 2264, 2182, 2226, 2253, 2289, 2326, 2292, 2265, 2269,
      2296, 2322, 2356, 2300, 2341, 2344, 2418, 2451, 2744, 2745, 2627, 2658,
      2693, 2724, 2756, 3023, 3027, 2843, 2874, 2928, 2957, 3189, 2992, 3024,
      563, 1142, 1743
    ],
    [
      31, 0, 303, 1208, 1147, 119, 150, 588, 687, 268, 300, 464, 1265, 1216,
      442, 743, 827, 797, 690, 596, 549, 579, 632, 721, 824, 847, 748, 662, 611,
      686, 727, 756, 820, 1444, 1410, 1058, 1121, 1634, 1609, 1190, 1328, 1381,
      1396, 1337, 1287, 1453, 1397, 1349, 1327, 1411, 1457, 1511, 1569, 1518,
      1474, 1536, 1578, 1628, 1642, 2098, 2089, 1903, 1943, 2015, 2356, 2352,
      2099, 2129, 2198, 2234, 2151, 2196, 2223, 2259, 2296, 2261, 2234, 2238,
      2265, 2292, 2326, 2269, 2310, 2313, 2387, 2421, 2716, 2717, 2597, 2628,
      2662, 2693, 2725, 2994, 2998, 2812, 2843, 2897, 2927, 3161, 2961, 2993,
      533, 1112, 1712
    ],
    [
      309, 303, 0, 907, 845, 309, 318, 292, 388, 373, 393, 307, 967, 921, 441,
      512, 577, 572, 512, 499, 546, 574, 538, 550, 606, 634, 581, 570, 604, 640,
      693, 728, 716, 1175, 1148, 889, 931, 1391, 1375, 1146, 1186, 1220, 1253,
      1226, 1223, 1314, 1289, 1285, 1290, 1348, 1352, 1376, 1437, 1415, 1411,
      1474, 1477, 1499, 1600, 1899, 1898, 1790, 1815, 1945, 2174, 2178, 2054,
      2086, 2094, 2117, 2114, 2135, 2138, 2153, 2191, 2177, 2174, 2201, 2205,
      2208, 2222, 2232, 2270, 2265, 2349, 2354, 2552, 2560, 2502, 2522, 2631,
      2662, 2661, 2841, 2851, 2780, 2811, 2807, 2826, 3013, 2929, 2960, 488,
      1023, 1638
    ],
    [
      1210, 1208, 907, 0, 71, 1208, 1209, 654, 555, 1222, 1227, 947, 307, 345,
      1174, 765, 686, 777, 908, 1068, 1226, 1238, 1085, 929, 801, 821, 946,
      1100, 1251, 1210, 1260, 1291, 1136, 717, 751, 1043, 990, 1024, 1057, 1537,
      1298, 1258, 1342, 1422, 1544, 1398, 1475, 1593, 1663, 1643, 1529, 1455,
      1512, 1583, 1694, 1745, 1639, 1570, 1901, 1638, 1671, 1856, 1831, 2118,
      1945, 1978, 2283, 2318, 2147, 2126, 2361, 2312, 2243, 2193, 2230, 2280,
      2348, 2438, 2376, 2309, 2260, 2465, 2494, 2466, 2571, 2493, 2355, 2387,
      2541, 2524, 2851, 2879, 2782, 2662, 2694, 2988, 3016, 2838, 2825, 2843,
      3125, 3154, 1141, 1343, 1845
    ],
    [
      1151, 1147, 845, 71, 0, 1144, 1145, 587, 487, 1155, 1160, 878, 282, 307,
      1104, 695, 617, 707, 838, 998, 1155, 1167, 1014, 858, 732, 753, 876, 1030,
      1180, 1140, 1190, 1220, 1066, 688, 716, 979, 929, 994, 1023, 1471, 1240,
      1202, 1285, 1361, 1479, 1342, 1415, 1529, 1597, 1580, 1470, 1399, 1457,
      1525, 1632, 1684, 1581, 1516, 1839, 1607, 1638, 1805, 1782, 2062, 1914,
      1945, 2225, 2260, 2098, 2079, 2303, 2257, 2192, 2145, 2183, 2228, 2293,
      2381, 2322, 2258, 2213, 2408, 2438, 2411, 2514, 2441, 2324, 2354, 2494,
      2480, 2796, 2824, 2731, 2631, 2661, 2933, 2962, 2794, 2782, 2812, 3071,
      3101, 1071, 1278, 1786
    ],
    [
      150, 119, 309, 1208, 1144, 0, 31, 565, 667, 149, 181, 382, 1236, 1182,
      327, 672, 763, 723, 602, 491, 431, 462, 525, 631, 747, 767, 654, 554, 493,
      571, 610, 639, 712, 1384, 1345, 960, 1029, 1557, 1529, 1072, 1222, 1279,
      1289, 1226, 1170, 1346, 1285, 1232, 1208, 1294, 1345, 1403, 1460, 1404,
      1356, 1418, 1465, 1518, 1524, 2003, 1991, 1790, 1832, 1898, 2255, 2250,
      1981, 2011, 2084, 2121, 2032, 2078, 2107, 2144, 2182, 2145, 2116, 2119,
      2147, 2175, 2212, 2150, 2191, 2194, 2268, 2303, 2611, 2610, 2481, 2514,
      2543, 2574, 2607, 2886, 2889, 2693, 2724, 2781, 2811, 3052, 2842, 2874,
      421, 998, 1596
    ],
    [
      181, 150, 318, 1209, 1145, 31, 0, 562, 664, 118, 150, 364, 1230, 1175,
      297, 655, 748, 705, 581, 464, 401, 431, 498, 608, 728, 747, 631, 526, 463,
      541, 580, 608, 684, 1369, 1329, 935, 1006, 1538, 1509, 1041, 1195, 1253,
      1262, 1197, 1140, 1318, 1256, 1202, 1178, 1264, 1315, 1375, 1432, 1375,
      1326, 1388, 1435, 1490, 1493, 1978, 1966, 1761, 1803, 1867, 2229, 2223,
      1950, 1980, 2054, 2092, 2001, 2047, 2076, 2115, 2152, 2115, 2086, 2088,
      2116, 2145, 2182, 2119, 2160, 2163, 2237, 2272, 2583, 2582, 2451, 2484,
      2512, 2543, 2577, 2858, 2861, 2662, 2693, 2751, 2781, 3023, 2811, 2843,
      392, 969, 1565
    ],
    [
      598, 588, 292, 654, 587, 565, 562, 0, 102, 568, 573, 312, 677, 629, 536,
      307, 331, 363, 386, 481, 608, 627, 510, 423, 402, 434, 453, 535, 647, 637,
      693, 728, 637, 891, 869, 716, 731, 1125, 1116, 1087, 1023, 1036, 1086,
      1094, 1138, 1149, 1157, 1198, 1229, 1259, 1219, 1212, 1275, 1282, 1319,
      1380, 1345, 1338, 1521, 1665, 1672, 1637, 1648, 1830, 1952, 1963, 1960,
      1993, 1944, 1955, 2028, 2025, 2004, 2000, 2039, 2043, 2063, 2112, 2094,
      2074, 2070, 2142, 2178, 2165, 2257, 2235, 2343, 2356, 2354, 2364, 2543,
      2573, 2540, 2639, 2655, 2689, 2719, 2661, 2671, 2815, 2835, 2866, 526,
      926, 1526
    ],
    [
      697, 687, 388, 555, 487, 667, 664, 102, 0, 668, 672, 398, 579, 533, 625,
      317, 308, 363, 426, 548, 689, 705, 574, 459, 402, 433, 487, 596, 723, 702,
      757, 791, 679, 815, 799, 716, 717, 1064, 1060, 1124, 1021, 1024, 1082,
      1105, 1166, 1145, 1166, 1224, 1264, 1283, 1228, 1208, 1270, 1290, 1342,
      1402, 1352, 1333, 1547, 1622, 1632, 1633, 1638, 1840, 1914, 1928, 1978,
      2012, 1940, 1945, 2048, 2036, 2007, 1995, 2033, 2046, 2074, 2131, 2105,
      2076, 2064, 2161, 2196, 2180, 2275, 2242, 2310, 2326, 2349, 2355, 2560,
      2590, 2546, 2609, 2627, 2705, 2736, 2656, 2662, 2787, 2850, 2881, 605,
      953, 1540
    ],
    [
      299, 268, 373, 1222, 1155, 149, 118, 568, 668, 0, 32, 313, 1213, 1154,
      188, 603, 701, 647, 508, 369, 285, 316, 400, 531, 664, 680, 550, 425, 347,
      429, 465, 492, 580, 1317, 1273, 844, 920, 1468, 1435, 924, 1092, 1154,
      1159, 1087, 1024, 1213, 1146, 1086, 1060, 1148, 1204, 1269, 1325, 1263,
      1210, 1272, 1323, 1382, 1375, 1886, 1871, 1649, 1694, 1751, 2131, 2123,
      1832, 1862, 1941, 1980, 1883, 1930, 1961, 2001, 2039, 1999, 1968, 1970,
      1999, 2029, 2068, 2001, 2042, 2046, 2119, 2155, 2480, 2477, 2336, 2371,
      2394, 2425, 2459, 2752, 2753, 2544, 2575, 2635, 2667, 2916, 2693, 2725,
      287, 858, 1450
    ],
    [
      331, 300, 393, 1227, 1160, 181, 150, 573, 672, 32, 0, 306, 1210, 1150,
      160, 592, 692, 634, 492, 346, 255, 285, 375, 512, 650, 664, 531, 400, 316,
      400, 434, 461, 553, 1305, 1260, 820, 898, 1450, 1416, 892, 1065, 1128,
      1131, 1058, 993, 1185, 1116, 1055, 1028, 1116, 1174, 1241, 1296, 1233,
      1178, 1240, 1293, 1353, 1343, 1861, 1846, 1619, 1665, 1720, 2105, 2096,
      1800, 1830, 1910, 1950, 1851, 1898, 1930, 1971, 2008, 1968, 1937, 1938,
      1967, 1998, 2038, 1969, 2010, 2014, 2087, 2123, 2452, 2449, 2305, 2340,
      2362, 2393, 2428, 2723, 2724, 2512, 2543, 2604, 2636, 2886, 2661, 2693,
      260, 828, 1418
    ],
    [
      488, 464, 307, 947, 878, 382, 364, 312, 398, 313, 306, 0, 907, 845, 227,
      292, 389, 341, 227, 197, 296, 317, 235, 260, 364, 385, 289, 266, 340, 349,
      405, 441, 409, 1008, 966, 602, 659, 1175, 1148, 843, 889, 931, 956, 922,
      916, 1016, 984, 979, 988, 1042, 1047, 1077, 1138, 1109, 1105, 1168, 1172,
      1199, 1296, 1636, 1629, 1487, 1516, 1638, 1899, 1898, 1748, 1780, 1790,
      1815, 1809, 1828, 1831, 1849, 1887, 1870, 1867, 1896, 1898, 1901, 1918,
      1927, 1965, 1959, 2044, 2047, 2268, 2272, 2196, 2219, 2327, 2357, 2354,
      2552, 2560, 2475, 2506, 2502, 2522, 2722, 2623, 2655, 217, 716, 1331
    ],
    [
      1275, 1265, 967, 307, 282, 1236, 1230, 677, 579, 1213, 1210, 907, 0, 71,
      1120, 654, 555, 642, 796, 975, 1145, 1150, 981, 804, 652, 663, 813, 988,
      1155, 1094, 1136, 1161, 982, 410, 445, 824, 753, 717, 751, 1334, 1043,
      990, 1079, 1177, 1322, 1131, 1225, 1365, 1447, 1409, 1275, 1184, 1239,
      1325, 1455, 1502, 1376, 1293, 1658, 1331, 1364, 1572, 1540, 1845, 1638,
      1671, 2017, 2052, 1856, 1831, 2097, 2037, 1958, 1901, 1938, 1994, 2071,
      2171, 2099, 2022, 1967, 2197, 2224, 2193, 2299, 2210, 2048, 2080, 2245,
      2226, 2576, 2604, 2493, 2355, 2387, 2710, 2737, 2541, 2524, 2536, 2844,
      2873, 1063, 1136, 1585
    ],
    [
      1227, 1216, 921, 345, 307, 1182, 1175, 629, 533, 1154, 1150, 845, 71, 0,
      1056, 587, 487, 573, 728, 908, 1078, 1082, 913, 736, 583, 593, 744, 919,
      1088, 1024, 1067, 1091, 911, 383, 409, 755, 685, 688, 716, 1265, 979, 929,
      1017, 1112, 1254, 1071, 1161, 1298, 1379, 1343, 1211, 1125, 1180, 1262,
      1389, 1437, 1315, 1236, 1593, 1301, 1331, 1517, 1489, 1786, 1607, 1638,
      1957, 1991, 1805, 1782, 2036, 1979, 1904, 1850, 1888, 1940, 2014, 2111,
      2042, 1969, 1917, 2138, 2165, 2135, 2241, 2156, 2017, 2047, 2197, 2180,
      2519, 2546, 2441, 2324, 2354, 2653, 2681, 2494, 2480, 2505, 2788, 2818,
      997, 1066, 1523
    ],
    [
      473, 442, 441, 1174, 1104, 327, 297, 536, 625, 188, 160, 227, 1120, 1056,
      0, 476, 578, 509, 356, 192, 111, 142, 217, 370, 519, 529, 384, 240, 174,
      244, 285, 315, 393, 1176, 1127, 663, 744, 1304, 1267, 750, 905, 968, 971,
      900, 845, 1025, 959, 907, 889, 969, 1018, 1081, 1137, 1078, 1032, 1094,
      1138, 1194, 1204, 1702, 1687, 1464, 1507, 1573, 1944, 1935, 1662, 1692,
      1757, 1795, 1716, 1755, 1781, 1817, 1855, 1819, 1794, 1803, 1825, 1849,
      1885, 1834, 1874, 1875, 1952, 1979, 2292, 2289, 2155, 2187, 2230, 2261,
      2285, 2564, 2565, 2380, 2411, 2455, 2484, 2728, 2529, 2561, 100, 672, 1270
    ],
    [
      763, 743, 512, 765, 695, 672, 655, 307, 317, 603, 592, 292, 654, 587, 476,
      0, 102, 60, 145, 321, 491, 496, 329, 164, 97, 128, 184, 339, 502, 448,
      496, 526, 378, 715, 674, 409, 429, 891, 869, 813, 716, 731, 779, 790, 850,
      842, 853, 908, 951, 966, 915, 905, 968, 977, 1026, 1085, 1040, 1031, 1231,
      1388, 1388, 1330, 1342, 1526, 1665, 1672, 1661, 1695, 1637, 1648, 1731,
      1722, 1698, 1693, 1732, 1737, 1760, 1815, 1791, 1768, 1763, 1845, 1879,
      1865, 1959, 1931, 2049, 2060, 2047, 2058, 2244, 2274, 2235, 2343, 2356,
      2390, 2420, 2354, 2364, 2517, 2535, 2566, 411, 637, 1225
    ],
    [
      846, 827, 577, 686, 617, 763, 748, 331, 308, 701, 692, 389, 555, 487, 578,
      102, 0, 91, 241, 421, 592, 595, 426, 251, 116, 141, 264, 433, 600, 540,
      586, 613, 450, 621, 583, 414, 409, 814, 798, 864, 715, 716, 775, 806, 888,
      838, 867, 943, 997, 1000, 928, 900, 963, 989, 1056, 1114, 1050, 1026,
      1264, 1336, 1341, 1326, 1330, 1539, 1621, 1632, 1683, 1717, 1632, 1637,
      1755, 1736, 1701, 1687, 1726, 1740, 1774, 1837, 1804, 1771, 1757, 1867,
      1900, 1882, 1979, 1939, 2012, 2026, 2042, 2047, 2264, 2294, 2241, 2309,
      2325, 2408, 2438, 2348, 2354, 2485, 2552, 2583, 512, 679, 1243
    ],
    [
      819, 797, 572, 777, 707, 723, 705, 363, 363, 647, 634, 341, 642, 573, 509,
      60, 91, 0, 158, 340, 512, 513, 341, 163, 39, 71, 173, 346, 516, 452, 496,
      523, 359, 671, 627, 355, 370, 836, 813, 780, 661, 674, 724, 741, 810, 787,
      803, 867, 916, 924, 865, 850, 913, 927, 983, 1041, 989, 976, 1189, 1328,
      1328, 1275, 1285, 1477, 1605, 1612, 1615, 1649, 1582, 1592, 1686, 1673,
      1646, 1638, 1677, 1684, 1711, 1769, 1741, 1715, 1708, 1798, 1833, 1817,
      1912, 1880, 1990, 2001, 1992, 2002, 2197, 2227, 2184, 2283, 2297, 2342,
      2372, 2299, 2308, 2458, 2487, 2518, 435, 599, 1177
    ],
    [
      715, 690, 512, 908, 838, 602, 581, 386, 426, 508, 492, 227, 796, 728, 356,
      145, 241, 158, 0, 182, 354, 355, 185, 39, 163, 173, 71, 194, 360, 303,
      352, 383, 254, 820, 771, 379, 432, 960, 929, 701, 674, 709, 741, 724, 752,
      803, 787, 813, 843, 874, 850, 865, 927, 913, 936, 997, 976, 989, 1136,
      1409, 1402, 1282, 1305, 1454, 1673, 1673, 1578, 1612, 1588, 1607, 1645,
      1648, 1638, 1646, 1684, 1677, 1687, 1730, 1718, 1708, 1715, 1760, 1796,
      1785, 1876, 1862, 2045, 2050, 1997, 2014, 2161, 2191, 2169, 2331, 2341,
      2308, 2338, 2303, 2319, 2503, 2454, 2486, 278, 542, 1149
    ],
    [
      624, 596, 499, 1068, 998, 491, 464, 481, 548, 369, 346, 197, 975, 908,
      192, 321, 421, 340, 182, 0, 172, 175, 39, 186, 342, 347, 195, 71, 183,
      157, 213, 249, 227, 994, 942, 475, 553, 1113, 1075, 647, 733, 789, 800,
      747, 724, 857, 808, 787, 792, 850, 869, 915, 974, 931, 913, 976, 993,
      1034, 1101, 1517, 1503, 1314, 1349, 1450, 1765, 1759, 1555, 1587, 1613,
      1644, 1615, 1638, 1648, 1673, 1711, 1687, 1677, 1702, 1708, 1718, 1742,
      1733, 1771, 1767, 1850, 1859, 2121, 2121, 2017, 2043, 2132, 2163, 2166,
      2398, 2403, 2281, 2312, 2321, 2345, 2565, 2429, 2461, 99, 530, 1143
    ],
    [
      579, 549, 546, 1226, 1155, 431, 401, 608, 689, 285, 255, 296, 1145, 1078,
      111, 491, 592, 512, 354, 172, 0, 31, 177, 356, 513, 517, 361, 187, 63,
      148, 179, 207, 317, 1162, 1108, 603, 692, 1264, 1223, 641, 822, 892, 887,
      806, 739, 939, 863, 801, 780, 863, 921, 992, 1047, 979, 925, 987, 1038,
      1102, 1095, 1632, 1612, 1365, 1412, 1467, 1864, 1853, 1552, 1583, 1656,
      1696, 1606, 1647, 1676, 1716, 1753, 1714, 1686, 1693, 1717, 1744, 1783,
      1724, 1764, 1766, 1842, 1872, 2204, 2199, 2051, 2085, 2119, 2150, 2177,
      2472, 2472, 2269, 2300, 2350, 2381, 2635, 2418, 2450, 84, 574, 1165
    ],
    [
      610, 579, 574, 1238, 1167, 462, 431, 627, 705, 316, 285, 317, 1150, 1082,
      142, 496, 595, 513, 355, 175, 31, 0, 173, 354, 512, 514, 356, 178, 32,
      123, 150, 177, 296, 1155, 1100, 585, 677, 1251, 1208, 610, 797, 869, 862,
      778, 709, 913, 835, 771, 749, 832, 892, 966, 1020, 950, 894, 957, 1009,
      1075, 1064, 1609, 1589, 1336, 1384, 1436, 1840, 1828, 1521, 1552, 1626,
      1667, 1575, 1616, 1646, 1687, 1724, 1684, 1655, 1662, 1686, 1714, 1753,
      1693, 1733, 1735, 1811, 1841, 2178, 2172, 2021, 2055, 2088, 2119, 2146,
      2445, 2444, 2238, 2269, 2320, 2351, 2607, 2387, 2419, 100, 546, 1134
    ],
    [
      661, 632, 538, 1085, 1014, 525, 498, 510, 574, 400, 375, 235, 981, 913,
      217, 329, 426, 341, 185, 39, 177, 173, 0, 181, 339, 341, 184, 32, 175,
      129, 184, 218, 189, 984, 931, 445, 527, 1093, 1054, 609, 697, 756, 764,
      709, 685, 821, 770, 748, 754, 811, 831, 879, 937, 893, 874, 937, 954, 996,
      1062, 1486, 1472, 1276, 1312, 1411, 1732, 1725, 1516, 1548, 1575, 1606,
      1577, 1599, 1609, 1635, 1673, 1648, 1638, 1663, 1669, 1679, 1703, 1694,
      1732, 1728, 1811, 1820, 2086, 2085, 1978, 2005, 2094, 2124, 2127, 2362,
      2366, 2243, 2273, 2282, 2306, 2529, 2391, 2423, 119, 491, 1104
    ],
    [
      747, 721, 550, 929, 858, 631, 608, 423, 459, 531, 512, 260, 804, 736, 370,
      164, 251, 163, 39, 186, 356, 354, 181, 0, 158, 161, 32, 184, 355, 289,
      335, 363, 221, 809, 757, 342, 400, 937, 904, 666, 636, 673, 703, 685, 715,
      765, 748, 776, 807, 837, 811, 826, 888, 874, 898, 959, 937, 950, 1099,
      1376, 1369, 1243, 1266, 1416, 1639, 1638, 1540, 1573, 1549, 1569, 1606,
      1609, 1599, 1607, 1646, 1638, 1648, 1691, 1679, 1669, 1676, 1722, 1758,
      1747, 1837, 1823, 2009, 2014, 1958, 1975, 2122, 2153, 2130, 2295, 2303,
      2270, 2300, 2264, 2280, 2466, 2416, 2448, 285, 504, 1110
    ],
    [
      847, 824, 606, 801, 732, 747, 728, 402, 402, 664, 650, 364, 652, 583, 519,
      97, 116, 39, 163, 342, 513, 512, 339, 158, 0, 32, 161, 341, 513, 443, 484,
      509, 337, 657, 610, 316, 332, 811, 785, 749, 622, 635, 685, 703, 775, 748,
      765, 831, 883, 889, 826, 811, 874, 888, 946, 1005, 950, 937, 1153, 1293,
      1293, 1236, 1246, 1438, 1570, 1576, 1577, 1612, 1543, 1553, 1649, 1635,
      1607, 1599, 1638, 1646, 1673, 1731, 1703, 1676, 1669, 1761, 1795, 1779,
      1874, 1841, 1953, 1963, 1953, 1963, 2160, 2190, 2145, 2246, 2259, 2304,
      2334, 2260, 2269, 2420, 2449, 2480, 440, 565, 1139
    ],
    [
      870, 847, 634, 821, 753, 767, 747, 434, 433, 680, 664, 385, 663, 593, 529,
      128, 141, 71, 173, 347, 517, 514, 341, 161, 32, 0, 158, 339, 512, 437,
      476, 499, 321, 648, 598, 284, 301, 791, 763, 723, 590, 603, 653, 672, 747,
      716, 733, 803, 856, 859, 795, 779, 842, 857, 917, 975, 919, 905, 1124,
      1265, 1264, 1204, 1215, 1407, 1540, 1546, 1547, 1581, 1511, 1521, 1618,
      1603, 1575, 1567, 1606, 1614, 1641, 1701, 1672, 1645, 1637, 1730, 1764,
      1748, 1844, 1809, 1922, 1933, 1921, 1931, 2129, 2159, 2113, 2215, 2228,
      2274, 2304, 2228, 2237, 2389, 2418, 2449, 446, 537, 1108
    ],
    [
      773, 748, 581, 946, 876, 654, 631, 453, 487, 550, 531, 289, 813, 744, 384,
      184, 264, 173, 71, 195, 361, 356, 184, 32, 161, 158, 0, 181, 354, 281,
      324, 350, 195, 801, 748, 313, 375, 920, 885, 637, 605, 643, 672, 653, 684,
      733, 716, 745, 778, 806, 779, 795, 857, 842, 867, 928, 905, 919, 1068,
      1350, 1342, 1211, 1235, 1384, 1610, 1610, 1508, 1542, 1517, 1537, 1575,
      1577, 1567, 1575, 1614, 1606, 1616, 1660, 1647, 1637, 1645, 1690, 1727,
      1715, 1806, 1791, 1979, 1984, 1926, 1943, 2091, 2121, 2098, 2265, 2273,
      2238, 2269, 2232, 2248, 2435, 2385, 2416, 295, 473, 1078
    ],
    [
      691, 662, 570, 1100, 1030, 554, 526, 535, 596, 425, 400, 266, 988, 919,
      240, 339, 433, 346, 194, 71, 187, 178, 32, 184, 341, 339, 181, 0, 173,
      110, 162, 195, 159, 978, 923, 423, 508, 1078, 1037, 578, 669, 729, 736,
      678, 653, 792, 739, 716, 722, 779, 800, 850, 908, 861, 842, 905, 923, 966,
      1031, 1462, 1446, 1245, 1282, 1379, 1706, 1698, 1484, 1516, 1543, 1575,
      1545, 1567, 1577, 1603, 1641, 1616, 1606, 1631, 1637, 1647, 1672, 1662,
      1700, 1696, 1779, 1788, 2057, 2056, 1947, 1974, 2062, 2093, 2095, 2333,
      2336, 2211, 2242, 2250, 2275, 2499, 2359, 2391, 140, 459, 1072
    ],
    [
      642, 611, 604, 1251, 1180, 493, 463, 647, 723, 347, 316, 340, 1155, 1088,
      174, 502, 600, 516, 360, 183, 63, 32, 175, 355, 513, 512, 354, 173, 0,
      100, 120, 145, 277, 1150, 1093, 568, 661, 1238, 1194, 578, 772, 846, 836,
      750, 678, 887, 806, 739, 717, 801, 863, 939, 992, 921, 863, 925, 979,
      1047, 1032, 1587, 1566, 1307, 1355, 1405, 1815, 1802, 1489, 1520, 1595,
      1637, 1543, 1584, 1614, 1656, 1693, 1652, 1623, 1630, 1654, 1683, 1723,
      1661, 1701, 1703, 1779, 1809, 2150, 2145, 1990, 2025, 2056, 2087, 2114,
      2417, 2415, 2206, 2237, 2289, 2320, 2578, 2355, 2387, 123, 517, 1103
    ],
    [
      717, 686, 640, 1210, 1140, 571, 541, 637, 702, 429, 400, 349, 1094, 1024,
      244, 448, 540, 452, 303, 157, 148, 123, 129, 289, 443, 437, 281, 110, 100,
      0, 56, 92, 177, 1063, 1005, 469, 564, 1141, 1096, 512, 674, 746, 739, 659,
      602, 791, 716, 665, 655, 727, 775, 844, 899, 834, 790, 853, 894, 954, 968,
      1487, 1466, 1220, 1265, 1331, 1717, 1705, 1425, 1456, 1513, 1551, 1482,
      1515, 1537, 1573, 1611, 1575, 1554, 1569, 1585, 1606, 1640, 1600, 1639,
      1638, 1718, 1738, 2056, 2051, 1911, 1943, 1998, 2029, 2045, 2325, 2325,
      2147, 2178, 2211, 2240, 2487, 2296, 2328, 158, 428, 1027
    ],
    [
      757, 727, 693, 1260, 1190, 610, 580, 693, 757, 465, 434, 405, 1136, 1067,
      285, 496, 586, 496, 352, 213, 179, 150, 184, 335, 484, 476, 324, 162, 120,
      56, 0, 36, 187, 1090, 1030, 477, 575, 1154, 1106, 465, 658, 735, 721, 631,
      560, 770, 686, 622, 606, 685, 743, 821, 874, 801, 747, 809, 860, 928, 921,
      1477, 1454, 1187, 1236, 1289, 1700, 1686, 1378, 1409, 1476, 1517, 1434,
      1470, 1497, 1537, 1574, 1535, 1509, 1521, 1540, 1565, 1604, 1552, 1591,
      1591, 1670, 1695, 2032, 2026, 1872, 1906, 1949, 1980, 2000, 2297, 2296,
      2098, 2129, 2171, 2202, 2458, 2247, 2279, 207, 398, 986
    ],
    [
      787, 756, 728, 1291, 1220, 639, 608, 728, 791, 492, 461, 441, 1161, 1091,
      315, 526, 613, 523, 383, 249, 207, 177, 218, 363, 509, 499, 350, 195, 145,
      92, 36, 0, 198, 1104, 1043, 481, 581, 1158, 1109, 434, 646, 726, 708, 611,
      532, 755, 666, 594, 574, 656, 721, 805, 856, 778, 718, 780, 836, 909, 889,
      1468, 1443, 1164, 1214, 1260, 1686, 1670, 1346, 1377, 1451, 1494, 1401,
      1440, 1469, 1512, 1549, 1507, 1479, 1488, 1510, 1537, 1578, 1519, 1559,
      1560, 1637, 1665, 2014, 2007, 1845, 1880, 1916, 1947, 1970, 2277, 2275,
      2066, 2097, 2143, 2175, 2437, 2214, 2246, 242, 377, 957
    ],
    [
      849, 820, 716, 1136, 1066, 712, 684, 637, 679, 580, 553, 409, 982, 911,
      393, 378, 450, 359, 254, 227, 317, 296, 189, 221, 337, 321, 195, 159, 277,
      177, 187, 198, 0, 907, 845, 292, 389, 967, 921, 449, 512, 577, 579, 520,
      510, 634, 581, 572, 593, 635, 642, 691, 749, 704, 697, 760, 766, 808, 893,
      1315, 1296, 1087, 1123, 1229, 1552, 1543, 1341, 1374, 1387, 1417, 1405,
      1419, 1424, 1446, 1484, 1462, 1458, 1491, 1489, 1493, 1515, 1521, 1559,
      1551, 1638, 1638, 1900, 1898, 1791, 1816, 1922, 1952, 1945, 2175, 2178,
      2070, 2101, 2095, 2118, 2340, 2218, 2249, 293, 307, 922
    ],
    [
      1461, 1444, 1175, 717, 688, 1384, 1369, 891, 815, 1317, 1305, 1008, 410,
      383, 1176, 715, 621, 671, 820, 994, 1162, 1155, 984, 809, 657, 648, 801,
      978, 1150, 1063, 1090, 1104, 907, 0, 70, 654, 555, 307, 344, 1138, 765,
      685, 781, 912, 1092, 820, 946, 1121, 1222, 1152, 983, 863, 908, 1022,
      1186, 1222, 1064, 954, 1375, 921, 955, 1210, 1166, 1501, 1228, 1262, 1684,
      1718, 1479, 1444, 1766, 1687, 1590, 1519, 1555, 1625, 1719, 1834, 1745,
      1652, 1583, 1858, 1881, 1844, 1953, 1844, 1638, 1670, 1856, 1831, 2222,
      2248, 2117, 1945, 1977, 2350, 2376, 2147, 2126, 2126, 2479, 2507, 1094,
      947, 1270
    ],
    [
      1428, 1410, 1148, 751, 716, 1345, 1329, 869, 799, 1273, 1260, 966, 445,
      409, 1127, 674, 583, 627, 771, 942, 1108, 1100, 931, 757, 610, 598, 748,
      923, 1093, 1005, 1030, 1043, 845, 70, 0, 587, 487, 283, 307, 1069, 695,
      617, 712, 842, 1022, 753, 876, 1051, 1152, 1082, 914, 796, 842, 954, 1117,
      1153, 997, 890, 1306, 892, 922, 1151, 1110, 1439, 1199, 1229, 1620, 1654,
      1424, 1393, 1702, 1626, 1533, 1466, 1502, 1568, 1658, 1771, 1684, 1595,
      1531, 1795, 1819, 1783, 1891, 1786, 1608, 1638, 1806, 1783, 2162, 2189,
      2062, 1915, 1945, 2291, 2318, 2099, 2080, 2096, 2421, 2450, 1042, 878,
      1204
    ],
    [
      1084, 1058, 889, 1043, 979, 960, 935, 716, 716, 844, 820, 602, 824, 755,
      663, 409, 414, 355, 379, 475, 603, 585, 445, 342, 316, 284, 313, 423, 568,
      469, 477, 481, 292, 654, 587, 0, 102, 678, 629, 511, 307, 331, 371, 394,
      502, 434, 453, 550, 624, 601, 514, 497, 560, 575, 654, 708, 636, 622, 861,
      1043, 1032, 921, 935, 1125, 1298, 1296, 1270, 1305, 1228, 1240, 1344,
      1322, 1291, 1284, 1323, 1330, 1360, 1425, 1390, 1361, 1354, 1454, 1487,
      1468, 1566, 1526, 1666, 1672, 1638, 1649, 1851, 1881, 1830, 1953, 1963,
      1995, 2024, 1945, 1956, 2125, 2138, 2169, 563, 312, 830
    ],
    [
      1147, 1121, 931, 990, 929, 1029, 1006, 731, 717, 920, 898, 659, 753, 685,
      744, 429, 409, 370, 432, 553, 692, 677, 527, 400, 332, 301, 375, 508, 661,
      564, 575, 581, 389, 555, 487, 102, 0, 579, 532, 595, 316, 307, 370, 432,
      571, 432, 486, 612, 697, 658, 542, 494, 556, 599, 706, 756, 658, 619, 911,
      977, 971, 919, 921, 1146, 1243, 1247, 1301, 1335, 1224, 1228, 1377, 1342,
      1298, 1278, 1317, 1336, 1380, 1456, 1409, 1367, 1348, 1484, 1515, 1493,
      1593, 1539, 1622, 1632, 1633, 1638, 1877, 1906, 1839, 1914, 1927, 2018,
      2047, 1940, 1945, 2088, 2159, 2190, 646, 398, 860
    ],
    [
      1655, 1634, 1391, 1024, 994, 1557, 1538, 1125, 1064, 1468, 1450, 1175,
      717, 688, 1304, 891, 814, 836, 960, 1113, 1264, 1251, 1093, 937, 811, 791,
      920, 1078, 1238, 1141, 1154, 1158, 967, 307, 283, 678, 579, 0, 70, 1074,
      654, 555, 644, 797, 999, 662, 813, 1011, 1125, 1027, 833, 687, 716, 857,
      1047, 1070, 884, 749, 1212, 614, 649, 964, 906, 1270, 921, 955, 1460,
      1493, 1210, 1166, 1543, 1445, 1331, 1245, 1279, 1363, 1474, 1604, 1498,
      1389, 1307, 1626, 1644, 1602, 1712, 1584, 1331, 1363, 1572, 1540, 1972,
      1996, 1844, 1638, 1670, 2092, 2118, 1856, 1831, 1819, 2216, 2243, 1210,
      907, 1077
    ],
    [
      1631, 1609, 1375, 1057, 1023, 1529, 1509, 1116, 1060, 1435, 1416, 1148,
      751, 716, 1267, 869, 798, 813, 929, 1075, 1223, 1208, 1054, 904, 785, 763,
      885, 1037, 1194, 1096, 1106, 1109, 921, 344, 307, 629, 532, 70, 0, 1009,
      587, 487, 575, 729, 932, 593, 744, 943, 1057, 958, 763, 617, 646, 786,
      977, 1000, 814, 679, 1141, 586, 615, 900, 844, 1204, 892, 922, 1393, 1426,
      1151, 1110, 1476, 1380, 1270, 1188, 1222, 1302, 1410, 1537, 1434, 1328,
      1250, 1560, 1579, 1538, 1648, 1523, 1302, 1331, 1518, 1490, 1909, 1934,
      1786, 1608, 1638, 2031, 2057, 1806, 1783, 1789, 2156, 2183, 1172, 845,
      1008
    ],
    [
      1220, 1190, 1146, 1537, 1471, 1072, 1041, 1087, 1124, 924, 892, 843, 1334,
      1265, 750, 813, 864, 780, 701, 647, 641, 610, 609, 666, 749, 723, 637,
      578, 578, 512, 465, 434, 449, 1138, 1069, 511, 595, 1074, 1009, 0, 426,
      528, 457, 303, 122, 473, 327, 172, 145, 229, 360, 497, 527, 400, 288, 349,
      446, 562, 456, 1197, 1157, 766, 833, 828, 1362, 1334, 913, 944, 1035,
      1088, 970, 1006, 1041, 1096, 1132, 1079, 1045, 1057, 1076, 1109, 1160,
      1088, 1127, 1126, 1206, 1231, 1648, 1632, 1419, 1460, 1486, 1517, 1536,
      1891, 1883, 1636, 1667, 1715, 1750, 2043, 1784, 1816, 670, 199, 530
    ],
    [
      1357, 1328, 1186, 1298, 1240, 1222, 1195, 1023, 1021, 1092, 1065, 889,
      1043, 979, 905, 716, 715, 661, 674, 733, 822, 797, 697, 636, 622, 590,
      605, 669, 772, 674, 658, 646, 512, 765, 695, 307, 316, 654, 587, 426, 0,
      102, 67, 148, 345, 128, 184, 362, 472, 388, 232, 191, 253, 285, 422, 463,
      342, 316, 618, 824, 797, 614, 630, 830, 1043, 1032, 986, 1021, 921, 935,
      1064, 1027, 986, 977, 1016, 1025, 1064, 1142, 1093, 1056, 1047, 1170,
      1200, 1177, 1278, 1225, 1388, 1388, 1331, 1343, 1561, 1590, 1526, 1666,
      1672, 1702, 1731, 1638, 1649, 1835, 1843, 1874, 805, 292, 547
    ],
    [
      1409, 1381, 1220, 1258, 1202, 1279, 1253, 1036, 1024, 1154, 1128, 931,
      990, 929, 968, 731, 716, 674, 709, 789, 892, 869, 756, 673, 635, 603, 643,
      729, 846, 746, 735, 726, 577, 685, 617, 331, 307, 555, 487, 528, 102, 0,
      95, 242, 444, 141, 264, 457, 570, 477, 297, 197, 256, 339, 504, 537, 387,
      317, 690, 742, 720, 615, 614, 860, 977, 971, 1027, 1062, 919, 921, 1107,
      1055, 997, 972, 1011, 1035, 1091, 1182, 1120, 1065, 1042, 1209, 1237,
      1209, 1313, 1243, 1337, 1341, 1327, 1331, 1593, 1622, 1539, 1622, 1632,
      1731, 1760, 1633, 1638, 1793, 1870, 1899, 868, 389, 596
    ],
    [
      1424, 1396, 1253, 1342, 1285, 1289, 1262, 1086, 1082, 1159, 1131, 956,
      1079, 1017, 971, 779, 775, 724, 741, 800, 887, 862, 764, 703, 685, 653,
      672, 736, 836, 739, 721, 708, 579, 781, 712, 371, 370, 644, 575, 457, 67,
      95, 0, 158, 363, 63, 170, 368, 484, 384, 202, 126, 189, 246, 409, 442,
      297, 252, 594, 767, 737, 552, 564, 779, 979, 966, 941, 976, 858, 870,
      1020, 975, 928, 914, 953, 966, 1011, 1096, 1041, 997, 984, 1123, 1153,
      1127, 1230, 1169, 1322, 1321, 1268, 1278, 1512, 1540, 1469, 1599, 1605,
      1651, 1680, 1575, 1585, 1767, 1791, 1821, 872, 346, 505
    ],
    [
      1367, 1337, 1226, 1422, 1361, 1226, 1197, 1094, 1105, 1087, 1058, 922,
      1177, 1112, 900, 790, 806, 741, 724, 747, 806, 778, 709, 685, 703, 672,
      653, 678, 750, 659, 631, 611, 520, 912, 842, 394, 432, 797, 729, 303, 148,
      242, 158, 0, 205, 170, 63, 214, 328, 241, 126, 202, 246, 189, 279, 325,
      252, 297, 481, 900, 863, 567, 607, 736, 1086, 1065, 877, 911, 868, 898,
      950, 932, 914, 928, 966, 953, 970, 1032, 1001, 984, 997, 1061, 1094, 1076,
      1173, 1141, 1403, 1395, 1275, 1298, 1458, 1488, 1446, 1667, 1666, 1602,
      1632, 1581, 1600, 1829, 1746, 1777, 805, 234, 437
    ],
    [
      1317, 1287, 1223, 1544, 1479, 1170, 1140, 1138, 1166, 1024, 993, 916,
      1322, 1254, 845, 850, 888, 810, 752, 724, 739, 709, 685, 715, 775, 747,
      684, 653, 678, 602, 560, 532, 510, 1092, 1022, 502, 571, 999, 932, 122,
      345, 444, 363, 205, 0, 368, 214, 63, 130, 126, 241, 384, 409, 279, 189,
      252, 325, 442, 384, 1083, 1040, 647, 712, 729, 1242, 1213, 831, 864, 923,
      972, 894, 914, 937, 983, 1020, 975, 953, 980, 984, 1005, 1049, 1011, 1049,
      1042, 1128, 1137, 1526, 1511, 1313, 1350, 1412, 1442, 1443, 1772, 1764,
      1560, 1591, 1611, 1643, 1925, 1707, 1739, 759, 212, 425
    ],
    [
      1482, 1453, 1314, 1398, 1342, 1346, 1318, 1149, 1145, 1213, 1185, 1016,
      1131, 1071, 1025, 842, 838, 787, 803, 857, 939, 913, 821, 765, 748, 716,
      733, 792, 887, 791, 770, 755, 634, 820, 753, 434, 432, 662, 593, 473, 128,
      141, 63, 170, 368, 0, 158, 363, 481, 368, 170, 63, 126, 202, 384, 409,
      246, 189, 557, 732, 698, 489, 502, 720, 931, 915, 886, 921, 795, 807, 966,
      916, 866, 851, 890, 904, 952, 1041, 981, 934, 921, 1068, 1096, 1069, 1173,
      1108, 1266, 1264, 1205, 1216, 1454, 1482, 1407, 1541, 1546, 1592, 1621,
      1512, 1522, 1708, 1732, 1762, 927, 385, 455
    ],
    [
      1427, 1397, 1289, 1475, 1415, 1285, 1256, 1157, 1166, 1146, 1116, 984,
      1225, 1161, 959, 853, 867, 803, 787, 808, 863, 835, 770, 748, 765, 733,
      716, 739, 806, 716, 686, 666, 581, 946, 876, 453, 486, 813, 744, 327, 184,
      264, 170, 63, 214, 158, 0, 205, 323, 214, 63, 170, 202, 126, 241, 279,
      189, 246, 434, 870, 830, 506, 549, 674, 1043, 1020, 818, 852, 806, 837,
      892, 870, 851, 866, 904, 890, 908, 973, 939, 921, 934, 1002, 1034, 1015,
      1113, 1078, 1351, 1342, 1212, 1236, 1398, 1427, 1384, 1611, 1610, 1541,
      1571, 1518, 1538, 1772, 1685, 1716, 864, 289, 377
    ],
    [
      1380, 1349, 1285, 1593, 1529, 1232, 1202, 1198, 1224, 1086, 1055, 979,
      1365, 1298, 907, 908, 943, 867, 813, 787, 801, 771, 748, 776, 831, 803,
      745, 716, 739, 665, 622, 594, 572, 1121, 1051, 550, 612, 1011, 943, 172,
      362, 457, 368, 214, 63, 363, 205, 0, 118, 63, 214, 368, 384, 241, 126,
      189, 279, 409, 324, 1058, 1012, 594, 664, 667, 1204, 1173, 769, 802, 864,
      916, 832, 851, 875, 925, 961, 913, 890, 918, 921, 944, 990, 949, 986, 980,
      1065, 1074, 1479, 1462, 1252, 1291, 1349, 1380, 1380, 1720, 1711, 1498,
      1528, 1550, 1583, 1871, 1645, 1677, 822, 272, 364
    ],
    [
      1358, 1327, 1290, 1663, 1597, 1208, 1178, 1229, 1264, 1060, 1028, 988,
      1447, 1379, 889, 951, 997, 916, 843, 792, 780, 749, 754, 807, 883, 856,
      778, 722, 717, 655, 606, 574, 593, 1222, 1152, 624, 697, 1125, 1057, 145,
      472, 570, 484, 328, 130, 481, 323, 118, 0, 138, 331, 486, 499, 350, 179,
      230, 378, 520, 315, 1171, 1124, 674, 753, 698, 1307, 1272, 773, 803, 924,
      985, 828, 871, 918, 985, 1019, 954, 909, 915, 940, 984, 1046, 946, 985,
      986, 1063, 1097, 1566, 1545, 1296, 1343, 1343, 1374, 1400, 1796, 1784,
      1493, 1524, 1587, 1627, 1943, 1641, 1673, 812, 320, 413
    ],
    [
      1442, 1411, 1348, 1643, 1580, 1294, 1264, 1259, 1283, 1148, 1116, 1042,
      1409, 1343, 969, 966, 1000, 924, 874, 850, 863, 832, 811, 837, 889, 859,
      806, 779, 801, 727, 685, 656, 635, 1152, 1082, 601, 658, 1027, 958, 229,
      388, 477, 384, 241, 126, 368, 214, 63, 138, 0, 205, 363, 368, 214, 63,
      126, 241, 384, 264, 1037, 988, 544, 618, 604, 1169, 1135, 706, 739, 807,
      861, 771, 788, 814, 868, 903, 852, 827, 856, 858, 882, 932, 887, 924, 917,
      1003, 1011, 1432, 1413, 1191, 1232, 1287, 1318, 1317, 1669, 1658, 1435,
      1466, 1488, 1522, 1818, 1583, 1614, 885, 333, 302
    ],
    [
      1487, 1457, 1352, 1529, 1470, 1345, 1315, 1219, 1228, 1204, 1174, 1047,
      1275, 1211, 1018, 915, 928, 865, 850, 869, 921, 892, 831, 811, 826, 795,
      779, 800, 863, 775, 743, 721, 642, 983, 914, 514, 542, 833, 763, 360, 232,
      297, 202, 126, 241, 170, 63, 214, 331, 205, 0, 158, 170, 63, 214, 241,
      126, 202, 392, 844, 800, 446, 493, 612, 1003, 976, 759, 794, 744, 777,
      835, 809, 788, 804, 842, 827, 847, 914, 877, 858, 872, 943, 975, 955,
      1053, 1016, 1300, 1289, 1150, 1174, 1338, 1367, 1321, 1557, 1553, 1481,
      1511, 1455, 1476, 1716, 1624, 1655, 924, 347, 318
    ],
    [
      1540, 1511, 1376, 1455, 1399, 1403, 1375, 1212, 1208, 1269, 1241, 1077,
      1184, 1125, 1081, 905, 900, 850, 865, 915, 992, 966, 879, 826, 811, 779,
      795, 850, 939, 844, 821, 805, 691, 863, 796, 497, 494, 687, 617, 497, 191,
      197, 126, 202, 384, 63, 170, 368, 486, 363, 158, 0, 63, 170, 368, 384,
      202, 126, 525, 701, 662, 426, 440, 663, 885, 866, 832, 867, 732, 744, 913,
      858, 804, 788, 827, 842, 894, 986, 923, 872, 858, 1013, 1040, 1012, 1116,
      1047, 1212, 1208, 1142, 1153, 1396, 1425, 1345, 1484, 1487, 1534, 1563,
      1449, 1459, 1650, 1673, 1703, 983, 430, 407
    ],
    [
      1598, 1569, 1437, 1512, 1457, 1460, 1432, 1275, 1270, 1325, 1296, 1138,
      1239, 1180, 1137, 968, 963, 913, 927, 974, 1047, 1020, 937, 888, 874, 842,
      857, 908, 992, 899, 874, 856, 749, 908, 842, 560, 556, 716, 646, 527, 253,
      256, 189, 246, 409, 126, 202, 384, 499, 368, 170, 63, 0, 158, 363, 368,
      170, 63, 499, 674, 631, 363, 378, 607, 842, 819, 780, 815, 669, 681, 862,
      800, 742, 725, 764, 780, 836, 933, 864, 811, 795, 959, 985, 955, 1061,
      987, 1158, 1153, 1079, 1090, 1339, 1367, 1284, 1427, 1429, 1476, 1504,
      1386, 1396, 1592, 1614, 1644, 1040, 479, 365
    ],
    [
      1548, 1518, 1415, 1583, 1525, 1404, 1375, 1282, 1290, 1263, 1233, 1109,
      1325, 1262, 1078, 977, 989, 927, 913, 931, 979, 950, 893, 874, 888, 857,
      842, 861, 921, 834, 801, 778, 704, 1022, 954, 575, 599, 857, 786, 400,
      285, 339, 246, 189, 279, 202, 126, 241, 350, 214, 63, 170, 158, 0, 205,
      214, 63, 170, 356, 822, 774, 386, 439, 551, 964, 934, 701, 736, 682, 717,
      778, 747, 725, 742, 780, 764, 785, 857, 815, 795, 811, 885, 916, 895, 994,
      953, 1250, 1237, 1087, 1112, 1278, 1308, 1258, 1502, 1498, 1421, 1450,
      1392, 1414, 1660, 1563, 1594, 984, 406, 261
    ],
    [
      1504, 1474, 1411, 1694, 1632, 1356, 1326, 1319, 1342, 1210, 1178, 1105,
      1455, 1389, 1032, 1026, 1056, 983, 936, 913, 925, 894, 874, 898, 946, 917,
      867, 842, 863, 790, 747, 718, 697, 1186, 1117, 654, 706, 1047, 977, 288,
      422, 504, 409, 279, 189, 384, 241, 126, 179, 63, 214, 368, 363, 205, 0,
      63, 214, 368, 208, 1019, 967, 496, 576, 542, 1137, 1099, 644, 677, 750,
      808, 709, 725, 753, 811, 846, 791, 764, 794, 795, 821, 874, 825, 861, 854,
      941, 948, 1387, 1366, 1131, 1173, 1225, 1256, 1254, 1618, 1606, 1373,
      1404, 1427, 1462, 1765, 1520, 1552, 948, 394, 242
    ],
    [
      1567, 1536, 1474, 1745, 1684, 1418, 1388, 1380, 1402, 1272, 1240, 1168,
      1502, 1437, 1094, 1085, 1114, 1041, 997, 976, 987, 957, 937, 959, 1005,
      975, 928, 905, 925, 853, 809, 780, 760, 1222, 1153, 708, 756, 1070, 1000,
      349, 463, 537, 442, 325, 252, 409, 279, 189, 230, 126, 241, 384, 368, 214,
      63, 0, 205, 363, 156, 1005, 950, 452, 537, 480, 1106, 1066, 581, 615, 694,
      756, 647, 662, 693, 755, 789, 730, 701, 732, 732, 760, 817, 763, 799, 791,
      879, 886, 1344, 1320, 1071, 1115, 1163, 1194, 1192, 1569, 1555, 1311,
      1341, 1366, 1402, 1713, 1458, 1490, 1010, 456, 184
    ],
    [
      1608, 1578, 1477, 1639, 1581, 1465, 1435, 1345, 1352, 1323, 1293, 1172,
      1376, 1315, 1138, 1040, 1050, 989, 976, 993, 1038, 1009, 954, 937, 950,
      919, 905, 923, 979, 894, 860, 836, 766, 1064, 997, 636, 658, 884, 814,
      446, 342, 387, 297, 252, 325, 246, 189, 279, 378, 241, 126, 202, 170, 63,
      214, 205, 0, 158, 329, 804, 753, 328, 387, 489, 929, 895, 644, 679, 621,
      658, 723, 686, 662, 681, 719, 701, 724, 800, 754, 732, 749, 828, 858, 835,
      936, 891, 1202, 1186, 1025, 1051, 1219, 1248, 1196, 1449, 1443, 1361,
      1390, 1330, 1352, 1604, 1503, 1534, 1045, 466, 208
    ],
    [
      1657, 1628, 1499, 1570, 1516, 1518, 1490, 1338, 1333, 1382, 1353, 1199,
      1293, 1236, 1194, 1031, 1026, 976, 989, 1034, 1102, 1075, 996, 950, 937,
      905, 919, 966, 1047, 954, 928, 909, 808, 954, 890, 622, 619, 749, 679,
      562, 316, 317, 252, 297, 442, 189, 246, 409, 520, 384, 202, 126, 63, 170,
      368, 363, 158, 0, 480, 652, 604, 300, 317, 552, 801, 774, 730, 764, 606,
      619, 812, 744, 681, 662, 701, 719, 779, 881, 807, 749, 732, 906, 932, 900,
      1006, 927, 1106, 1098, 1016, 1027, 1283, 1311, 1222, 1370, 1371, 1418,
      1447, 1323, 1333, 1534, 1555, 1585, 1097, 531, 329
    ],
    [
      1673, 1642, 1600, 1901, 1839, 1524, 1493, 1521, 1547, 1375, 1343, 1296,
      1658, 1593, 1204, 1231, 1264, 1189, 1136, 1101, 1095, 1064, 1062, 1099,
      1153, 1124, 1068, 1031, 1032, 968, 921, 889, 893, 1375, 1306, 861, 911,
      1212, 1141, 456, 618, 690, 594, 481, 384, 557, 434, 324, 315, 264, 392,
      525, 499, 356, 208, 156, 329, 480, 0, 1090, 1030, 477, 575, 398, 1154,
      1106, 457, 488, 658, 735, 514, 558, 625, 716, 746, 659, 596, 601, 627,
      686, 770, 632, 671, 671, 749, 785, 1347, 1316, 1000, 1056, 1031, 1062,
      1086, 1549, 1528, 1180, 1211, 1283, 1329, 1682, 1328, 1360, 1126, 595, 187
    ],
    [
      2123, 2098, 1899, 1638, 1607, 2003, 1978, 1665, 1622, 1886, 1861, 1636,
      1331, 1301, 1702, 1388, 1336, 1328, 1409, 1517, 1632, 1609, 1486, 1376,
      1293, 1265, 1350, 1462, 1587, 1487, 1477, 1468, 1315, 921, 892, 1043, 977,
      614, 586, 1197, 824, 742, 767, 900, 1083, 732, 870, 1058, 1171, 1037, 844,
      701, 674, 822, 1019, 1005, 804, 652, 1090, 0, 71, 654, 555, 947, 307, 345,
      1136, 1161, 765, 685, 1214, 1068, 908, 777, 801, 929, 1085, 1248, 1100,
      946, 820, 1261, 1265, 1210, 1317, 1136, 717, 751, 1043, 990, 1533, 1552,
      1343, 1024, 1057, 1630, 1651, 1298, 1258, 1205, 1733, 1756, 1602, 1113,
      907
    ],
    [
      2115, 2089, 1898, 1671, 1638, 1991, 1966, 1672, 1632, 1871, 1846, 1629,
      1364, 1331, 1687, 1388, 1341, 1328, 1402, 1503, 1612, 1589, 1472, 1369,
      1293, 1264, 1342, 1446, 1566, 1466, 1454, 1443, 1296, 955, 922, 1032, 971,
      649, 615, 1157, 797, 720, 737, 863, 1040, 698, 830, 1012, 1124, 988, 800,
      662, 631, 774, 967, 950, 753, 604, 1030, 71, 0, 587, 487, 878, 282, 307,
      1066, 1091, 694, 616, 1144, 997, 838, 707, 732, 858, 1014, 1177, 1029,
      876, 752, 1190, 1195, 1140, 1246, 1066, 688, 716, 979, 929, 1464, 1483,
      1278, 994, 1023, 1562, 1583, 1240, 1202, 1175, 1667, 1690, 1586, 1082, 845
    ],
    [
      1933, 1903, 1790, 1856, 1805, 1790, 1761, 1637, 1633, 1649, 1619, 1487,
      1572, 1517, 1464, 1330, 1326, 1275, 1282, 1314, 1365, 1336, 1276, 1243,
      1236, 1204, 1211, 1245, 1307, 1220, 1187, 1164, 1087, 1210, 1151, 921,
      919, 964, 900, 766, 614, 615, 552, 567, 647, 489, 506, 594, 674, 544, 446,
      426, 363, 386, 496, 452, 328, 300, 477, 654, 587, 0, 102, 313, 678, 629,
      507, 537, 307, 331, 590, 481, 387, 364, 403, 424, 511, 643, 535, 453, 434,
      663, 680, 638, 748, 638, 892, 870, 717, 732, 1013, 1039, 927, 1126, 1117,
      1141, 1168, 1024, 1037, 1278, 1272, 1301, 1370, 792, 292
    ],
    [
      1972, 1943, 1815, 1831, 1782, 1832, 1803, 1648, 1638, 1694, 1665, 1516,
      1540, 1489, 1507, 1342, 1330, 1285, 1305, 1349, 1412, 1384, 1312, 1266,
      1246, 1215, 1235, 1282, 1355, 1265, 1236, 1214, 1123, 1166, 1110, 935,
      921, 906, 844, 833, 630, 614, 564, 607, 712, 502, 549, 664, 753, 618, 493,
      440, 378, 439, 576, 537, 387, 317, 575, 555, 487, 102, 0, 398, 579, 533,
      591, 620, 316, 307, 673, 548, 426, 363, 402, 459, 574, 718, 595, 486, 432,
      737, 750, 702, 813, 679, 815, 799, 716, 717, 1066, 1091, 953, 1064, 1060,
      1187, 1213, 1021, 1024, 1223, 1314, 1341, 1411, 838, 388
    ],
    [
      2046, 2015, 1945, 2118, 2062, 1898, 1867, 1830, 1840, 1751, 1720, 1638,
      1845, 1786, 1573, 1526, 1539, 1477, 1454, 1450, 1467, 1436, 1411, 1416,
      1438, 1407, 1384, 1379, 1405, 1331, 1289, 1260, 1229, 1501, 1439, 1125,
      1146, 1270, 1204, 828, 830, 860, 779, 736, 729, 720, 674, 667, 698, 604,
      612, 663, 607, 551, 542, 480, 489, 552, 398, 947, 878, 313, 398, 0, 907,
      845, 194, 225, 292, 388, 277, 197, 227, 341, 364, 260, 235, 334, 265, 288,
      384, 357, 380, 349, 454, 409, 1008, 966, 602, 659, 734, 762, 716, 1175,
      1148, 873, 902, 889, 931, 1298, 1014, 1044, 1489, 922, 307
    ],
    [
      2382, 2356, 2174, 1945, 1914, 2255, 2229, 1952, 1914, 2131, 2105, 1899,
      1638, 1607, 1944, 1665, 1621, 1605, 1673, 1765, 1864, 1840, 1732, 1639,
      1570, 1540, 1610, 1706, 1815, 1717, 1700, 1686, 1552, 1228, 1199, 1298,
      1243, 921, 892, 1362, 1043, 977, 979, 1086, 1242, 931, 1043, 1204, 1307,
      1169, 1003, 885, 842, 964, 1137, 1106, 929, 801, 1154, 307, 282, 678, 579,
      907, 0, 71, 1073, 1092, 654, 555, 1141, 974, 796, 642, 652, 804, 981,
      1154, 988, 813, 662, 1160, 1154, 1094, 1190, 982, 410, 445, 824, 753,
      1365, 1380, 1136, 717, 751, 1441, 1459, 1043, 990, 898, 1528, 1548, 1844,
      1315, 967
    ],
    [
      2379, 2352, 2178, 1978, 1945, 2250, 2223, 1963, 1928, 2123, 2096, 1898,
      1671, 1638, 1935, 1672, 1632, 1612, 1673, 1759, 1853, 1828, 1725, 1638,
      1576, 1546, 1610, 1698, 1802, 1705, 1686, 1670, 1543, 1262, 1229, 1296,
      1247, 955, 922, 1334, 1032, 971, 966, 1065, 1213, 915, 1020, 1173, 1272,
      1135, 976, 866, 819, 934, 1099, 1066, 895, 774, 1106, 345, 307, 629, 533,
      845, 71, 0, 1009, 1026, 587, 487, 1075, 907, 728, 573, 583, 736, 913,
      1086, 919, 743, 592, 1092, 1086, 1024, 1121, 911, 383, 409, 755, 685,
      1295, 1309, 1066, 688, 716, 1371, 1389, 979, 929, 868, 1459, 1479, 1836,
      1296, 921
    ],
    [
      2130, 2099, 2054, 2283, 2225, 1981, 1950, 1960, 1978, 1832, 1800, 1748,
      2017, 1957, 1662, 1661, 1683, 1615, 1578, 1555, 1552, 1521, 1516, 1540,
      1577, 1547, 1508, 1484, 1489, 1425, 1378, 1346, 1341, 1684, 1620, 1270,
      1301, 1460, 1393, 913, 986, 1027, 941, 877, 831, 886, 818, 769, 773, 706,
      759, 832, 780, 701, 644, 581, 644, 730, 457, 1136, 1066, 507, 591, 194,
      1073, 1009, 0, 35, 426, 528, 84, 140, 304, 457, 466, 317, 167, 155, 192,
      331, 476, 184, 218, 214, 298, 349, 1123, 1074, 612, 692, 583, 613, 636,
      1251, 1214, 730, 760, 860, 922, 1353, 877, 908, 1583, 1037, 441
    ],
    [
      2160, 2129, 2086, 2318, 2260, 2011, 1980, 1993, 2012, 1862, 1830, 1780,
      2052, 1991, 1692, 1695, 1717, 1649, 1612, 1587, 1583, 1552, 1548, 1573,
      1612, 1581, 1542, 1516, 1520, 1456, 1409, 1377, 1374, 1718, 1654, 1305,
      1335, 1493, 1426, 944, 1021, 1062, 976, 911, 864, 921, 852, 802, 803, 739,
      794, 867, 815, 736, 677, 615, 679, 764, 488, 1161, 1091, 537, 620, 225,
      1092, 1026, 35, 0, 441, 543, 53, 138, 312, 468, 475, 321, 158, 121, 178,
      332, 482, 150, 185, 185, 264, 330, 1130, 1079, 602, 685, 549, 580, 610,
      1249, 1211, 696, 727, 842, 906, 1347, 844, 875, 1614, 1070, 476
    ],
    [
      2228, 2198, 2094, 2147, 2098, 2084, 2054, 1944, 1940, 1941, 1910, 1790,
      1856, 1805, 1757, 1637, 1632, 1582, 1588, 1613, 1656, 1626, 1575, 1549,
      1543, 1511, 1517, 1543, 1595, 1513, 1476, 1451, 1387, 1479, 1424, 1228,
      1224, 1210, 1151, 1035, 921, 919, 858, 868, 923, 795, 806, 864, 924, 807,
      744, 732, 669, 682, 750, 694, 621, 606, 658, 765, 694, 307, 316, 292, 654,
      587, 426, 441, 0, 102, 489, 320, 145, 61, 98, 164, 329, 500, 339, 184,
      128, 508, 507, 449, 553, 379, 716, 674, 410, 430, 776, 798, 638, 892, 870,
      886, 910, 717, 732, 1025, 1006, 1033, 1665, 1087, 511
    ],
    [
      2264, 2234, 2117, 2126, 2079, 2121, 2092, 1955, 1945, 1980, 1950, 1815,
      1831, 1782, 1795, 1648, 1637, 1592, 1607, 1644, 1696, 1667, 1606, 1569,
      1553, 1521, 1537, 1575, 1637, 1551, 1517, 1494, 1417, 1444, 1393, 1240,
      1228, 1166, 1110, 1088, 935, 921, 870, 898, 972, 807, 837, 916, 985, 861,
      777, 744, 681, 717, 808, 756, 658, 619, 735, 685, 616, 331, 307, 388, 555,
      487, 528, 543, 102, 0, 590, 420, 241, 92, 117, 252, 426, 599, 433, 264,
      141, 605, 601, 541, 642, 450, 621, 584, 415, 410, 848, 867, 679, 815, 799,
      948, 971, 716, 717, 958, 1060, 1085, 1701, 1123, 576
    ],
    [
      2182, 2151, 2114, 2361, 2303, 2032, 2001, 2028, 2048, 1883, 1851, 1809,
      2097, 2036, 1716, 1731, 1755, 1686, 1645, 1615, 1606, 1575, 1577, 1606,
      1649, 1618, 1575, 1545, 1543, 1482, 1434, 1401, 1405, 1766, 1702, 1344,
      1377, 1543, 1476, 970, 1064, 1107, 1020, 950, 894, 966, 892, 832, 828,
      771, 835, 913, 862, 778, 709, 647, 723, 812, 514, 1214, 1144, 590, 673,
      277, 1141, 1075, 84, 53, 489, 590, 0, 176, 355, 513, 517, 361, 187, 87,
      201, 368, 522, 118, 159, 176, 236, 340, 1169, 1116, 622, 709, 517, 548,
      604, 1279, 1239, 666, 697, 848, 916, 1372, 814, 846, 1640, 1103, 517
    ],
    [
      2226, 2196, 2135, 2312, 2257, 2078, 2047, 2025, 2036, 1930, 1898, 1828,
      2037, 1979, 1755, 1722, 1736, 1673, 1648, 1638, 1647, 1616, 1599, 1609,
      1635, 1603, 1577, 1567, 1584, 1515, 1470, 1440, 1419, 1687, 1626, 1322,
      1342, 1445, 1380, 1006, 1027, 1055, 975, 932, 914, 916, 870, 851, 871,
      788, 809, 858, 800, 747, 725, 662, 686, 744, 558, 1068, 997, 481, 548,
      197, 974, 907, 140, 138, 320, 420, 176, 0, 181, 339, 341, 185, 39, 182,
      70, 194, 346, 193, 202, 158, 267, 227, 993, 942, 474, 552, 539, 567, 530,
      1112, 1074, 676, 705, 732, 788, 1213, 817, 847, 1673, 1112, 499
    ],
    [
      2253, 2223, 2138, 2243, 2192, 2107, 2076, 2004, 2007, 1961, 1930, 1831,
      1958, 1904, 1781, 1698, 1701, 1646, 1638, 1648, 1676, 1646, 1609, 1599,
      1607, 1575, 1567, 1577, 1614, 1537, 1497, 1469, 1424, 1590, 1533, 1291,
      1298, 1331, 1270, 1041, 986, 997, 928, 914, 937, 866, 851, 875, 918, 814,
      788, 804, 742, 725, 753, 693, 662, 681, 625, 908, 838, 387, 426, 227, 796,
      728, 304, 312, 145, 241, 355, 181, 0, 158, 163, 39, 185, 358, 194, 70,
      173, 364, 362, 303, 409, 254, 820, 771, 379, 432, 642, 666, 542, 960, 929,
      761, 787, 674, 709, 1075, 888, 917, 1693, 1118, 512
    ],
    [
      2289, 2259, 2153, 2193, 2145, 2144, 2115, 2000, 1995, 2001, 1971, 1849,
      1901, 1850, 1817, 1693, 1687, 1638, 1646, 1673, 1716, 1687, 1635, 1607,
      1599, 1567, 1575, 1603, 1656, 1573, 1537, 1512, 1446, 1519, 1466, 1284,
      1278, 1245, 1188, 1096, 977, 972, 914, 928, 983, 851, 866, 925, 985, 868,
      804, 788, 725, 742, 811, 755, 681, 662, 716, 777, 707, 364, 363, 341, 642,
      573, 457, 468, 61, 92, 513, 339, 158, 0, 39, 163, 341, 515, 346, 173, 70,
      519, 513, 452, 551, 359, 671, 627, 355, 370, 757, 777, 599, 836, 813, 860,
      883, 661, 674, 967, 974, 1000, 1725, 1147, 572
    ],
    [
      2326, 2296, 2191, 2230, 2183, 2182, 2152, 2039, 2033, 2039, 2008, 1887,
      1938, 1888, 1855, 1732, 1726, 1677, 1684, 1711, 1753, 1724, 1673, 1646,
      1638, 1606, 1614, 1641, 1693, 1611, 1574, 1549, 1484, 1555, 1502, 1323,
      1317, 1279, 1222, 1132, 1016, 1011, 953, 966, 1020, 890, 904, 961, 1019,
      903, 842, 827, 764, 780, 846, 789, 719, 701, 746, 801, 732, 403, 402, 364,
      652, 583, 466, 475, 98, 117, 517, 341, 163, 39, 0, 158, 339, 512, 340,
      161, 31, 514, 505, 443, 538, 337, 657, 610, 316, 332, 733, 752, 565, 811,
      785, 832, 854, 622, 635, 937, 943, 969, 1763, 1185, 606
    ],
    [
      2292, 2261, 2177, 2280, 2228, 2145, 2115, 2043, 2046, 1999, 1968, 1870,
      1994, 1940, 1819, 1737, 1740, 1684, 1677, 1687, 1714, 1684, 1648, 1638,
      1646, 1614, 1606, 1616, 1652, 1575, 1535, 1507, 1462, 1625, 1568, 1330,
      1336, 1363, 1302, 1079, 1025, 1035, 966, 953, 975, 904, 890, 913, 954,
      852, 827, 842, 780, 764, 791, 730, 701, 719, 659, 929, 858, 424, 459, 260,
      804, 736, 317, 321, 164, 252, 361, 185, 39, 163, 158, 0, 181, 354, 184,
      31, 161, 357, 350, 289, 391, 221, 809, 757, 342, 400, 614, 636, 504, 937,
      904, 729, 754, 636, 673, 1049, 854, 882, 1731, 1157, 550
    ],
    [
      2265, 2234, 2174, 2348, 2293, 2116, 2086, 2063, 2074, 1968, 1937, 1867,
      2071, 2014, 1794, 1760, 1774, 1711, 1687, 1677, 1686, 1655, 1638, 1648,
      1673, 1641, 1616, 1606, 1623, 1554, 1509, 1479, 1458, 1719, 1658, 1360,
      1380, 1474, 1410, 1045, 1064, 1091, 1011, 970, 953, 952, 908, 890, 909,
      827, 847, 894, 836, 785, 764, 701, 724, 779, 596, 1085, 1014, 511, 574,
      235, 981, 913, 167, 158, 329, 426, 187, 39, 185, 341, 339, 181, 0, 174,
      31, 184, 340, 179, 180, 129, 239, 189, 984, 931, 445, 527, 505, 532, 491,
      1093, 1054, 640, 669, 697, 756, 1190, 780, 810, 1712, 1151, 538
    ],
    [
      2269, 2238, 2201, 2438, 2381, 2119, 2088, 2112, 2131, 1970, 1938, 1896,
      2171, 2111, 1803, 1815, 1837, 1769, 1730, 1702, 1693, 1662, 1663, 1691,
      1731, 1701, 1660, 1631, 1630, 1569, 1521, 1488, 1491, 1834, 1771, 1425,
      1456, 1604, 1537, 1057, 1142, 1182, 1096, 1032, 980, 1041, 973, 918, 915,
      856, 914, 986, 933, 857, 794, 732, 800, 881, 601, 1248, 1177, 643, 718,
      334, 1154, 1086, 155, 121, 500, 599, 87, 182, 358, 515, 512, 354, 174, 0,
      174, 354, 512, 31, 73, 105, 149, 281, 1151, 1095, 572, 665, 431, 462, 524,
      1241, 1197, 580, 610, 778, 852, 1325, 728, 760, 1727, 1188, 596
    ],
    [
      2296, 2265, 2205, 2376, 2322, 2147, 2116, 2094, 2105, 1999, 1967, 1898,
      2099, 2042, 1825, 1791, 1804, 1741, 1718, 1708, 1717, 1686, 1669, 1679,
      1703, 1672, 1647, 1637, 1654, 1585, 1540, 1510, 1489, 1745, 1684, 1390,
      1409, 1498, 1434, 1076, 1093, 1120, 1041, 1001, 984, 981, 939, 921, 940,
      858, 877, 923, 864, 815, 795, 732, 754, 807, 627, 1100, 1029, 535, 595,
      265, 988, 919, 192, 178, 339, 433, 201, 70, 194, 346, 340, 184, 31, 174,
      0, 181, 339, 174, 168, 110, 219, 160, 978, 923, 424, 509, 478, 505, 460,
      1078, 1038, 612, 640, 670, 730, 1172, 750, 781, 1743, 1182, 569
    ],
    [
      2322, 2292, 2208, 2309, 2258, 2175, 2145, 2074, 2076, 2029, 1998, 1901,
      2022, 1969, 1849, 1768, 1771, 1715, 1708, 1718, 1744, 1714, 1679, 1669,
      1676, 1645, 1637, 1647, 1683, 1606, 1565, 1537, 1493, 1652, 1595, 1361,
      1367, 1389, 1328, 1109, 1056, 1065, 997, 984, 1005, 934, 921, 944, 984,
      882, 858, 872, 811, 795, 821, 760, 732, 749, 686, 946, 876, 453, 486, 288,
      813, 743, 331, 332, 184, 264, 368, 194, 70, 173, 161, 31, 184, 354, 181,
      0, 158, 354, 344, 282, 379, 196, 801, 748, 314, 375, 592, 614, 474, 921,
      886, 704, 729, 606, 644, 1028, 828, 855, 1762, 1188, 580
    ],
    [
      2356, 2326, 2222, 2260, 2213, 2212, 2182, 2070, 2064, 2068, 2038, 1918,
      1967, 1917, 1885, 1763, 1757, 1708, 1715, 1742, 1783, 1753, 1703, 1676,
      1669, 1637, 1645, 1672, 1723, 1640, 1604, 1578, 1515, 1583, 1531, 1354,
      1348, 1307, 1250, 1160, 1047, 1042, 984, 997, 1049, 921, 934, 990, 1046,
      932, 872, 858, 795, 811, 874, 817, 749, 732, 770, 820, 752, 434, 432, 384,
      662, 592, 476, 482, 128, 141, 522, 346, 173, 70, 31, 161, 340, 512, 339,
      158, 0, 512, 500, 438, 529, 321, 648, 598, 285, 302, 714, 733, 538, 791,
      763, 810, 832, 591, 604, 914, 919, 944, 1793, 1215, 633
    ],
    [
      2300, 2269, 2232, 2465, 2408, 2150, 2119, 2142, 2161, 2001, 1969, 1927,
      2197, 2138, 1834, 1845, 1867, 1798, 1760, 1733, 1724, 1693, 1694, 1722,
      1761, 1730, 1690, 1662, 1661, 1600, 1552, 1519, 1521, 1858, 1795, 1454,
      1484, 1626, 1560, 1088, 1170, 1209, 1123, 1061, 1011, 1068, 1002, 949,
      946, 887, 943, 1013, 959, 885, 825, 763, 828, 906, 632, 1261, 1190, 663,
      737, 357, 1160, 1092, 184, 150, 508, 605, 118, 193, 364, 519, 514, 357,
      179, 31, 174, 354, 512, 0, 43, 88, 118, 264, 1146, 1089, 557, 651, 401,
      431, 496, 1229, 1184, 549, 580, 754, 829, 1309, 697, 729, 1758, 1219, 625
    ],
    [
      2341, 2310, 2270, 2494, 2438, 2191, 2160, 2178, 2196, 2042, 2010, 1965,
      2224, 2165, 1874, 1879, 1900, 1833, 1796, 1771, 1764, 1733, 1732, 1758,
      1795, 1764, 1727, 1700, 1701, 1639, 1591, 1559, 1559, 1881, 1819, 1487,
      1515, 1644, 1579, 1127, 1200, 1237, 1153, 1094, 1049, 1096, 1034, 986,
      985, 924, 975, 1040, 985, 916, 861, 799, 858, 932, 671, 1265, 1195, 680,
      750, 380, 1154, 1086, 218, 185, 507, 601, 159, 202, 362, 513, 505, 350,
      180, 73, 168, 344, 500, 43, 0, 63, 79, 233, 1126, 1068, 525, 622, 365,
      395, 454, 1200, 1153, 512, 542, 714, 791, 1276, 659, 691, 1797, 1255, 657
    ],
    [
      2344, 2313, 2265, 2466, 2411, 2194, 2163, 2165, 2180, 2046, 2014, 1959,
      2193, 2135, 1875, 1865, 1882, 1817, 1785, 1767, 1766, 1735, 1728, 1747,
      1779, 1748, 1715, 1696, 1703, 1638, 1591, 1560, 1551, 1844, 1783, 1468,
      1493, 1602, 1538, 1126, 1177, 1209, 1127, 1076, 1042, 1069, 1015, 980,
      986, 917, 955, 1012, 955, 895, 854, 791, 835, 900, 671, 1210, 1140, 638,
      702, 349, 1094, 1024, 214, 185, 449, 541, 176, 158, 303, 452, 443, 289,
      129, 105, 110, 282, 438, 88, 63, 0, 110, 177, 1063, 1005, 469, 564, 385,
      414, 428, 1141, 1096, 526, 556, 674, 746, 1222, 670, 701, 1796, 1246, 640
    ],
    [
      2418, 2387, 2349, 2571, 2514, 2268, 2237, 2257, 2275, 2119, 2087, 2044,
      2299, 2241, 1952, 1959, 1979, 1912, 1876, 1850, 1842, 1811, 1811, 1837,
      1874, 1844, 1806, 1779, 1779, 1718, 1670, 1637, 1638, 1953, 1891, 1566,
      1593, 1712, 1648, 1206, 1278, 1313, 1230, 1173, 1128, 1173, 1113, 1065,
      1063, 1003, 1053, 1116, 1061, 994, 941, 879, 936, 1006, 749, 1317, 1246,
      748, 813, 454, 1190, 1121, 298, 264, 553, 642, 236, 267, 409, 551, 538,
      391, 239, 149, 219, 379, 529, 118, 79, 110, 0, 229, 1135, 1074, 511, 611,
      285, 316, 395, 1188, 1138, 432, 463, 669, 751, 1254, 580, 611, 1876, 1335,
      736
    ],
    [
      2451, 2421, 2354, 2493, 2441, 2303, 2272, 2235, 2242, 2155, 2123, 2047,
      2210, 2156, 1979, 1931, 1939, 1880, 1862, 1859, 1872, 1841, 1820, 1823,
      1841, 1809, 1791, 1788, 1809, 1738, 1695, 1665, 1638, 1844, 1786, 1526,
      1539, 1584, 1523, 1231, 1225, 1243, 1169, 1141, 1137, 1108, 1078, 1074,
      1097, 1011, 1016, 1047, 987, 953, 948, 886, 891, 927, 785, 1136, 1066,
      638, 679, 409, 982, 911, 349, 330, 379, 450, 340, 227, 254, 359, 337, 221,
      189, 281, 160, 196, 321, 264, 233, 177, 229, 0, 907, 845, 292, 389, 398,
      419, 307, 967, 921, 509, 534, 512, 577, 1045, 635, 663, 1896, 1331, 716
    ],
    [
      2744, 2716, 2552, 2355, 2324, 2611, 2583, 2343, 2310, 2480, 2452, 2268,
      2048, 2017, 2292, 2049, 2012, 1990, 2045, 2121, 2204, 2178, 2086, 2009,
      1953, 1922, 1979, 2057, 2150, 2056, 2032, 2014, 1900, 1638, 1608, 1666,
      1622, 1331, 1302, 1648, 1388, 1337, 1322, 1403, 1526, 1266, 1351, 1479,
      1566, 1432, 1300, 1212, 1158, 1250, 1387, 1344, 1202, 1106, 1347, 717,
      688, 892, 815, 1008, 410, 383, 1123, 1130, 716, 621, 1169, 993, 820, 671,
      657, 809, 984, 1151, 978, 801, 648, 1146, 1126, 1063, 1135, 907, 0, 70,
      654, 555, 1228, 1234, 947, 307, 344, 1265, 1274, 765, 685, 488, 1317,
      1330, 2193, 1637, 1175
    ],
    [
      2745, 2717, 2560, 2387, 2354, 2610, 2582, 2356, 2326, 2477, 2449, 2272,
      2080, 2047, 2289, 2060, 2026, 2001, 2050, 2121, 2199, 2172, 2085, 2014,
      1963, 1933, 1984, 2056, 2145, 2051, 2026, 2007, 1898, 1670, 1638, 1672,
      1632, 1363, 1331, 1632, 1388, 1341, 1321, 1395, 1511, 1264, 1342, 1462,
      1545, 1413, 1289, 1208, 1153, 1237, 1366, 1320, 1186, 1098, 1316, 751,
      716, 870, 799, 966, 445, 409, 1074, 1079, 674, 584, 1116, 942, 771, 627,
      610, 757, 931, 1095, 923, 748, 598, 1089, 1068, 1005, 1074, 845, 70, 0,
      587, 487, 1161, 1166, 878, 283, 307, 1195, 1205, 695, 617, 461, 1247,
      1260, 2191, 1629, 1148
    ],
    [
      2627, 2597, 2502, 2541, 2494, 2481, 2451, 2354, 2349, 2336, 2305, 2196,
      2245, 2197, 2155, 2047, 2042, 1992, 1997, 2017, 2051, 2021, 1978, 1958,
      1953, 1921, 1926, 1947, 1990, 1911, 1872, 1845, 1791, 1856, 1806, 1638,
      1633, 1572, 1518, 1419, 1331, 1327, 1268, 1275, 1313, 1205, 1212, 1252,
      1296, 1191, 1150, 1142, 1079, 1087, 1131, 1071, 1025, 1016, 1000, 1043,
      979, 717, 716, 602, 824, 755, 612, 602, 410, 415, 622, 474, 379, 355, 316,
      342, 445, 572, 424, 314, 285, 557, 525, 469, 511, 292, 654, 587, 0, 102,
      575, 583, 312, 678, 629, 625, 640, 307, 331, 753, 704, 724, 2065, 1488,
      889
    ],
    [
      2658, 2628, 2522, 2524, 2480, 2514, 2484, 2364, 2355, 2371, 2340, 2219,
      2226, 2180, 2187, 2058, 2047, 2002, 2014, 2043, 2085, 2055, 2005, 1975,
      1963, 1931, 1943, 1974, 2025, 1943, 1906, 1880, 1816, 1831, 1783, 1649,
      1638, 1540, 1490, 1460, 1343, 1331, 1278, 1298, 1350, 1216, 1236, 1291,
      1343, 1232, 1174, 1153, 1090, 1112, 1173, 1115, 1051, 1027, 1056, 990,
      929, 732, 717, 659, 753, 685, 692, 685, 430, 410, 709, 552, 432, 370, 332,
      400, 527, 665, 509, 375, 302, 651, 622, 564, 611, 389, 555, 487, 102, 0,
      673, 680, 398, 579, 532, 715, 727, 316, 307, 662, 783, 801, 2096, 1517,
      931
    ],
    [
      2693, 2662, 2631, 2851, 2796, 2543, 2512, 2543, 2560, 2394, 2362, 2327,
      2576, 2519, 2230, 2244, 2264, 2197, 2161, 2132, 2119, 2088, 2094, 2122,
      2160, 2129, 2091, 2062, 2056, 1998, 1949, 1916, 1922, 2222, 2162, 1851,
      1877, 1972, 1909, 1486, 1561, 1593, 1512, 1458, 1412, 1454, 1398, 1349,
      1343, 1287, 1338, 1396, 1339, 1278, 1225, 1163, 1219, 1283, 1031, 1533,
      1464, 1013, 1066, 734, 1365, 1295, 583, 549, 776, 848, 517, 539, 642, 757,
      733, 614, 505, 431, 478, 592, 714, 401, 365, 385, 285, 398, 1228, 1161,
      575, 673, 0, 31, 305, 1210, 1149, 150, 181, 589, 689, 1235, 299, 331,
      2155, 1619, 1021
    ],
    [
      2724, 2693, 2662, 2879, 2824, 2574, 2543, 2573, 2590, 2425, 2393, 2357,
      2604, 2546, 2261, 2274, 2294, 2227, 2191, 2163, 2150, 2119, 2124, 2153,
      2190, 2159, 2121, 2093, 2087, 2029, 1980, 1947, 1952, 2248, 2189, 1881,
      1906, 1996, 1934, 1517, 1590, 1622, 1540, 1488, 1442, 1482, 1427, 1380,
      1374, 1318, 1367, 1425, 1367, 1308, 1256, 1194, 1248, 1311, 1062, 1552,
      1483, 1039, 1091, 762, 1380, 1309, 613, 580, 798, 867, 548, 567, 666, 777,
      752, 636, 532, 462, 505, 614, 733, 431, 395, 414, 316, 419, 1234, 1166,
      583, 680, 31, 0, 301, 1208, 1147, 119, 150, 581, 682, 1229, 268, 300,
      2186, 1650, 1051
    ],
    [
      2756, 2725, 2661, 2782, 2731, 2607, 2577, 2540, 2546, 2459, 2428, 2354,
      2493, 2441, 2285, 2235, 2241, 2184, 2169, 2166, 2177, 2146, 2127, 2130,
      2145, 2113, 2098, 2095, 2114, 2045, 2000, 1970, 1945, 2117, 2062, 1830,
      1839, 1844, 1786, 1536, 1526, 1539, 1469, 1446, 1443, 1407, 1384, 1380,
      1400, 1317, 1321, 1345, 1284, 1258, 1254, 1192, 1196, 1222, 1086, 1343,
      1278, 927, 953, 716, 1136, 1066, 636, 610, 638, 679, 604, 530, 542, 599,
      565, 504, 491, 524, 460, 474, 538, 496, 454, 428, 395, 307, 947, 878, 312,
      398, 305, 301, 0, 907, 845, 318, 329, 292, 389, 931, 393, 414, 2202, 1638,
      1023
    ],
    [
      3023, 2994, 2841, 2662, 2631, 2886, 2858, 2639, 2609, 2752, 2723, 2552,
      2355, 2324, 2564, 2343, 2309, 2283, 2331, 2398, 2472, 2445, 2362, 2295,
      2246, 2215, 2265, 2333, 2417, 2325, 2297, 2277, 2175, 1945, 1915, 1953,
      1914, 1638, 1608, 1891, 1666, 1622, 1599, 1667, 1772, 1541, 1611, 1720,
      1796, 1669, 1557, 1484, 1427, 1502, 1618, 1569, 1449, 1370, 1549, 1024,
      994, 1126, 1064, 1175, 717, 688, 1251, 1249, 892, 815, 1279, 1112, 960,
      836, 811, 937, 1093, 1241, 1078, 921, 791, 1229, 1200, 1141, 1188, 967,
      307, 283, 678, 579, 1210, 1208, 907, 0, 70, 1209, 1211, 654, 555, 181,
      1227, 1233, 2466, 1900, 1391
    ],
    [
      3027, 2998, 2851, 2694, 2661, 2889, 2861, 2655, 2627, 2753, 2724, 2560,
      2387, 2354, 2565, 2356, 2325, 2297, 2341, 2403, 2472, 2444, 2366, 2303,
      2259, 2228, 2273, 2336, 2415, 2325, 2296, 2275, 2178, 1977, 1945, 1963,
      1927, 1670, 1638, 1883, 1672, 1632, 1605, 1666, 1764, 1546, 1610, 1711,
      1784, 1658, 1553, 1487, 1429, 1498, 1606, 1555, 1443, 1371, 1528, 1057,
      1023, 1117, 1060, 1148, 751, 716, 1214, 1211, 870, 799, 1239, 1074, 929,
      813, 785, 904, 1054, 1197, 1038, 886, 763, 1184, 1153, 1096, 1138, 921,
      344, 307, 629, 532, 1149, 1147, 845, 70, 0, 1145, 1146, 587, 487, 163,
      1160, 1165, 2469, 1898, 1375
    ],
    [
      2843, 2812, 2780, 2988, 2933, 2693, 2662, 2689, 2705, 2544, 2512, 2475,
      2710, 2653, 2380, 2390, 2408, 2342, 2308, 2281, 2269, 2238, 2243, 2270,
      2304, 2274, 2238, 2211, 2206, 2147, 2098, 2066, 2070, 2350, 2291, 1995,
      2018, 2092, 2031, 1636, 1702, 1731, 1651, 1602, 1560, 1592, 1541, 1498,
      1493, 1435, 1481, 1534, 1476, 1421, 1373, 1311, 1361, 1418, 1180, 1630,
      1562, 1141, 1187, 873, 1441, 1371, 730, 696, 886, 948, 666, 676, 761, 860,
      832, 729, 640, 580, 612, 704, 810, 549, 512, 526, 432, 509, 1265, 1195,
      625, 715, 150, 119, 318, 1209, 1145, 0, 31, 562, 664, 1212, 149, 181,
      2305, 1767, 1166
    ],
    [
      2874, 2843, 2811, 3016, 2962, 2724, 2693, 2719, 2736, 2575, 2543, 2506,
      2737, 2681, 2411, 2420, 2438, 2372, 2338, 2312, 2300, 2269, 2273, 2300,
      2334, 2304, 2269, 2242, 2237, 2178, 2129, 2097, 2101, 2376, 2318, 2024,
      2047, 2118, 2057, 1667, 1731, 1760, 1680, 1632, 1591, 1621, 1571, 1528,
      1524, 1466, 1511, 1563, 1504, 1450, 1404, 1341, 1390, 1447, 1211, 1651,
      1583, 1168, 1213, 902, 1459, 1389, 760, 727, 910, 971, 697, 705, 787, 883,
      854, 754, 669, 610, 640, 729, 832, 580, 542, 556, 463, 534, 1274, 1205,
      640, 727, 181, 150, 329, 1211, 1146, 31, 0, 561, 663, 1210, 118, 150,
      2336, 1797, 1196
    ],
    [
      2928, 2897, 2807, 2838, 2794, 2781, 2751, 2661, 2656, 2635, 2604, 2502,
      2541, 2494, 2455, 2354, 2348, 2299, 2303, 2321, 2350, 2320, 2282, 2264,
      2260, 2228, 2232, 2250, 2289, 2211, 2171, 2143, 2095, 2147, 2099, 1945,
      1940, 1856, 1806, 1715, 1638, 1633, 1575, 1581, 1611, 1512, 1518, 1550,
      1587, 1488, 1455, 1449, 1386, 1392, 1427, 1366, 1330, 1323, 1283, 1298,
      1240, 1024, 1021, 889, 1043, 979, 860, 842, 717, 716, 848, 732, 674, 661,
      622, 636, 697, 778, 670, 606, 591, 754, 714, 674, 669, 512, 765, 695, 307,
      316, 589, 581, 292, 654, 587, 562, 561, 0, 102, 651, 573, 581, 2367, 1791,
      1186
    ],
    [
      2957, 2927, 2826, 2825, 2782, 2811, 2781, 2671, 2662, 2667, 2636, 2522,
      2524, 2480, 2484, 2364, 2354, 2308, 2319, 2345, 2381, 2351, 2306, 2280,
      2269, 2237, 2248, 2275, 2320, 2240, 2202, 2175, 2118, 2126, 2080, 1956,
      1945, 1831, 1783, 1750, 1649, 1638, 1585, 1600, 1643, 1522, 1538, 1583,
      1627, 1522, 1476, 1459, 1396, 1414, 1462, 1402, 1352, 1333, 1329, 1258,
      1202, 1037, 1024, 931, 990, 929, 922, 906, 732, 717, 916, 788, 709, 674,
      635, 673, 756, 852, 730, 644, 604, 829, 791, 746, 751, 577, 685, 617, 331,
      307, 689, 682, 389, 555, 487, 664, 663, 102, 0, 549, 672, 678, 2394, 1816,
      1220
    ],
    [
      3189, 3161, 3013, 2843, 2812, 3052, 3023, 2815, 2787, 2916, 2886, 2722,
      2536, 2505, 2728, 2517, 2485, 2458, 2503, 2565, 2635, 2607, 2529, 2466,
      2420, 2389, 2435, 2499, 2578, 2487, 2458, 2437, 2340, 2126, 2096, 2125,
      2088, 1819, 1789, 2043, 1835, 1793, 1767, 1829, 1925, 1708, 1772, 1871,
      1943, 1818, 1716, 1650, 1592, 1660, 1765, 1713, 1604, 1534, 1682, 1205,
      1175, 1278, 1223, 1298, 898, 868, 1353, 1347, 1025, 958, 1372, 1213, 1075,
      967, 937, 1049, 1190, 1325, 1172, 1028, 914, 1309, 1276, 1222, 1254, 1045,
      488, 461, 753, 662, 1235, 1229, 931, 181, 163, 1212, 1210, 651, 549, 0,
      1208, 1209, 2631, 2061, 1532
    ],
    [
      2992, 2961, 2929, 3125, 3071, 2842, 2811, 2835, 2850, 2693, 2661, 2623,
      2844, 2788, 2529, 2535, 2552, 2487, 2454, 2429, 2418, 2387, 2391, 2416,
      2449, 2418, 2385, 2359, 2355, 2296, 2247, 2214, 2218, 2479, 2421, 2138,
      2159, 2216, 2156, 1784, 1843, 1870, 1791, 1746, 1707, 1732, 1685, 1645,
      1641, 1583, 1624, 1673, 1614, 1563, 1520, 1458, 1503, 1555, 1328, 1733,
      1667, 1272, 1314, 1014, 1528, 1459, 877, 844, 1006, 1060, 814, 817, 888,
      974, 943, 854, 780, 728, 750, 828, 919, 697, 659, 670, 580, 635, 1317,
      1247, 704, 783, 299, 268, 393, 1227, 1160, 149, 118, 573, 672, 1208, 0,
      32, 2454, 1914, 1310
    ],
    [
      3024, 2993, 2960, 3154, 3101, 2874, 2843, 2866, 2881, 2725, 2693, 2655,
      2873, 2818, 2561, 2566, 2583, 2518, 2486, 2461, 2450, 2419, 2423, 2448,
      2480, 2449, 2416, 2391, 2387, 2328, 2279, 2246, 2249, 2507, 2450, 2169,
      2190, 2243, 2183, 1816, 1874, 1899, 1821, 1777, 1739, 1762, 1716, 1677,
      1673, 1614, 1655, 1703, 1644, 1594, 1552, 1490, 1534, 1585, 1360, 1756,
      1690, 1301, 1341, 1044, 1548, 1479, 908, 875, 1033, 1085, 846, 847, 917,
      1000, 969, 882, 810, 760, 781, 855, 944, 729, 691, 701, 611, 663, 1330,
      1260, 724, 801, 331, 300, 414, 1233, 1165, 181, 150, 581, 678, 1209, 32,
      0, 2486, 1945, 1341
    ],
    [
      563, 533, 488, 1141, 1071, 421, 392, 526, 605, 287, 260, 217, 1063, 997,
      100, 411, 512, 435, 278, 99, 84, 100, 119, 285, 440, 446, 295, 140, 123,
      158, 207, 242, 293, 1094, 1042, 563, 646, 1210, 1172, 670, 805, 868, 872,
      805, 759, 927, 864, 822, 812, 885, 924, 983, 1040, 984, 948, 1010, 1045,
      1097, 1126, 1602, 1586, 1370, 1411, 1489, 1844, 1836, 1583, 1614, 1665,
      1701, 1640, 1673, 1693, 1725, 1763, 1731, 1712, 1727, 1743, 1762, 1793,
      1758, 1797, 1796, 1876, 1896, 2193, 2191, 2065, 2096, 2155, 2186, 2202,
      2466, 2469, 2305, 2336, 2367, 2394, 2631, 2454, 2486, 0, 579, 1184
    ],
    [
      1142, 1112, 1023, 1343, 1278, 998, 969, 926, 953, 858, 828, 716, 1136,
      1066, 672, 637, 679, 599, 542, 530, 574, 546, 491, 504, 565, 537, 473,
      459, 517, 428, 398, 377, 307, 947, 878, 312, 398, 907, 845, 199, 292, 389,
      346, 234, 212, 385, 289, 272, 320, 333, 347, 430, 479, 406, 394, 456, 466,
      531, 595, 1113, 1082, 792, 838, 922, 1315, 1296, 1037, 1070, 1087, 1123,
      1103, 1112, 1118, 1147, 1185, 1157, 1151, 1188, 1182, 1188, 1215, 1219,
      1255, 1246, 1335, 1331, 1637, 1629, 1488, 1517, 1619, 1650, 1638, 1900,
      1898, 1767, 1797, 1791, 1816, 2061, 1914, 1945, 579, 0, 615
    ],
    [
      1743, 1712, 1638, 1845, 1786, 1596, 1565, 1526, 1540, 1450, 1418, 1331,
      1585, 1523, 1270, 1225, 1243, 1177, 1149, 1143, 1165, 1134, 1104, 1110,
      1139, 1108, 1078, 1072, 1103, 1027, 986, 957, 922, 1270, 1204, 830, 860,
      1077, 1008, 530, 547, 596, 505, 437, 425, 455, 377, 364, 413, 302, 318,
      407, 365, 261, 242, 184, 208, 329, 187, 907, 845, 292, 388, 307, 967, 921,
      441, 476, 511, 576, 517, 499, 512, 572, 606, 550, 538, 596, 569, 580, 633,
      625, 657, 640, 736, 716, 1175, 1148, 889, 931, 1021, 1051, 1023, 1391,
      1375, 1166, 1196, 1186, 1220, 1532, 1310, 1341, 1184, 615, 0
    ]
  ]
}

About

distributed swarm based tsp solver agent manager

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors