Skip to content

Instantly share code, notes, and snippets.

# sntran/Cactus Kev's Poker Hand Evaluator.md Created Dec 17, 2013

Cactus Kev's Poker Hand Evaluator A while ago, I decided to take a shot at writing a poker hand evaluator in the programming language "C". There are already numerous evaluators out there, but I had an idea for an algorithm that might be faster than anything already out there. The basic concept is to write a routine that would take a five card po…
 #include #include "poker.h" /*************************************************/ /* */ /* This code tests my evaluator, by looping over */ /* all 2,598,960 possible five card hands, cal- */ /* culating each hand's distinct value, and dis- */ /* playing the frequency count of each hand type */ /* */ /* Kevin L. Suffecool, 2001 */ /* suffecool@bigfoot.com */ /* */ /*************************************************/ main() { int deck[52], hand[5], freq[10]; int a, b, c, d, e, i, j; // seed the random number generator srand48( getpid() ); // initialize the deck init_deck( deck ); // zero out the frequency array for ( i = 0; i < 10; i++ ) freq[i] = 0; // loop over every possible five-card hand for(a=0;a<48;a++) { hand[0] = deck[a]; for(b=a+1;b<49;b++) { hand[1] = deck[b]; for(c=b+1;c<50;c++) { hand[2] = deck[c]; for(d=c+1;d<51;d++) { hand[3] = deck[d]; for(e=d+1;e<52;e++) { hand[4] = deck[e]; i = eval_5hand( hand ); j = hand_rank(i); freq[j]++; } } } } } for(i=1;i<=9;i++) printf( "%15s: %8d\n", value_str[i], freq[i] ); }
 /* ** this is a table lookup for all "flush" hands (e.g. both ** flushes and straight-flushes. entries containing a zero ** mean that combination is not possible with a five-card ** flush hand. */ short flushes[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1599, 0, 0, 0, 0, 0, 0, 0, 1598, 0, 0, 0, 1597, 0, 1596, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1595, 0, 0, 0, 0, 0, 0, 0, 1594, 0, 0, 0, 1593, 0, 1592, 1591, 0, 0, 0, 0, 0, 0, 0, 0, 1590, 0, 0, 0, 1589, 0, 1588, 1587, 0, 0, 0, 0, 1586, 0, 1585, 1584, 0, 0, 1583, 1582, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1581, 0, 0, 0, 0, 0, 0, 0, 1580, 0, 0, 0, 1579, 0, 1578, 1577, 0, 0, 0, 0, 0, 0, 0, 0, 1576, 0, 0, 0, 1575, 0, 1574, 1573, 0, 0, 0, 0, 1572, 0, 1571, 1570, 0, 0, 1569, 1568, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1566, 0, 0, 0, 1565, 0, 1564, 1563, 0, 0, 0, 0, 1562, 0, 1561, 1560, 0, 0, 1559, 1558, 0, 1557, 0, 0, 0, 0, 0, 0, 1556, 0, 1555, 1554, 0, 0, 1553, 1552, 0, 1551, 0, 0, 0, 0, 1550, 1549, 0, 1548, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1547, 0, 0, 0, 0, 0, 0, 0, 1546, 0, 0, 0, 1545, 0, 1544, 1543, 0, 0, 0, 0, 0, 0, 0, 0, 1542, 0, 0, 0, 1541, 0, 1540, 1539, 0, 0, 0, 0, 1538, 0, 1537, 1536, 0, 0, 1535, 1534, 0, 1533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 1531, 0, 1530, 1529, 0, 0, 0, 0, 1528, 0, 1527, 1526, 0, 0, 1525, 1524, 0, 1523, 0, 0, 0, 0, 0, 0, 1522, 0, 1521, 1520, 0, 0, 1519, 1518, 0, 1517, 0, 0, 0, 0, 1516, 1515, 0, 1514, 0, 0, 0, 1513, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1512, 0, 0, 0, 1511, 0, 1510, 1509, 0, 0, 0, 0, 1508, 0, 1507, 1506, 0, 0, 1505, 1504, 0, 1503, 0, 0, 0, 0, 0, 0, 1502, 0, 1501, 1500, 0, 0, 1499, 1498, 0, 1497, 0, 0, 0, 0, 1496, 1495, 0, 1494, 0, 0, 0, 1493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1492, 0, 1491, 1490, 0, 0, 1489, 1488, 0, 1487, 0, 0, 0, 0, 1486, 1485, 0, 1484, 0, 0, 0, 1483, 0, 0, 0, 0, 0, 0, 0, 0, 1482, 1481, 0, 1480, 0, 0, 0, 1479, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1478, 0, 0, 0, 0, 0, 0, 0, 1477, 0, 0, 0, 1476, 0, 1475, 1474, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0, 1472, 0, 1471, 1470, 0, 0, 0, 0, 1469, 0, 1468, 1467, 0, 0, 1466, 1465, 0, 1464, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1463, 0, 0, 0, 1462, 0, 1461, 1460, 0, 0, 0, 0, 1459, 0, 1458, 1457, 0, 0, 1456, 1455, 0, 1454, 0, 0, 0, 0, 0, 0, 1453, 0, 1452, 1451, 0, 0, 1450, 1449, 0, 1448, 0, 0, 0, 0, 1447, 1446, 0, 1445, 0, 0, 0, 1444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1443, 0, 0, 0, 1442, 0, 1441, 1440, 0, 0, 0, 0, 1439, 0, 1438, 1437, 0, 0, 1436, 1435, 0, 1434, 0, 0, 0, 0, 0, 0, 1433, 0, 1432, 1431, 0, 0, 1430, 1429, 0, 1428, 0, 0, 0, 0, 1427, 1426, 0, 1425, 0, 0, 0, 1424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1423, 0, 1422, 1421, 0, 0, 1420, 1419, 0, 1418, 0, 0, 0, 0, 1417, 1416, 0, 1415, 0, 0, 0, 1414, 0, 0, 0, 0, 0, 0, 0, 0, 1413, 1412, 0, 1411, 0, 0, 0, 1410, 0, 0, 0, 0, 0, 0, 0, 1409, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1408, 0, 0, 0, 1407, 0, 1406, 1405, 0, 0, 0, 0, 1404, 0, 1403, 1402, 0, 0, 1401, 1400, 0, 1399, 0, 0, 0, 0, 0, 0, 1398, 0, 1397, 1396, 0, 0, 1395, 1394, 0, 1393, 0, 0, 0, 0, 1392, 1391, 0, 1390, 0, 0, 0, 1389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1388, 0, 1387, 1386, 0, 0, 1385, 1384, 0, 1383, 0, 0, 0, 0, 1382, 1381, 0, 1380, 0, 0, 0, 1379, 0, 0, 0, 0, 0, 0, 0, 0, 1378, 1377, 0, 1376, 0, 0, 0, 1375, 0, 0, 0, 0, 0, 0, 0, 1374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1373, 0, 1372, 1371, 0, 0, 1370, 1369, 0, 1368, 0, 0, 0, 0, 1367, 1366, 0, 1365, 0, 0, 0, 1364, 0, 0, 0, 0, 0, 0, 0, 0, 1363, 1362, 0, 1361, 0, 0, 0, 1360, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1358, 1357, 0, 1356, 0, 0, 0, 1355, 0, 0, 0, 0, 0, 0, 0, 1354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1353, 0, 0, 0, 0, 0, 0, 0, 1352, 0, 0, 0, 1351, 0, 1350, 1349, 0, 0, 0, 0, 0, 0, 0, 0, 1348, 0, 0, 0, 1347, 0, 1346, 1345, 0, 0, 0, 0, 1344, 0, 1343, 1342, 0, 0, 1341, 1340, 0, 1339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1338, 0, 0, 0, 1337, 0, 1336, 1335, 0, 0, 0, 0, 1334, 0, 1333, 1332, 0, 0, 1331, 1330, 0, 1329, 0, 0, 0, 0, 0, 0, 1328, 0, 1327, 1326, 0, 0, 1325, 1324, 0, 1323, 0, 0, 0, 0, 1322, 1321, 0, 1320, 0, 0, 0, 1319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1318, 0, 0, 0, 1317, 0, 1316, 1315, 0, 0, 0, 0, 1314, 0, 1313, 1312, 0, 0, 1311, 1310, 0, 1309, 0, 0, 0, 0, 0, 0, 1308, 0, 1307, 1306, 0, 0, 1305, 1304, 0, 1303, 0, 0, 0, 0, 1302, 1301, 0, 1300, 0, 0, 0, 1299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1298, 0, 1297, 1296, 0, 0, 1295, 1294, 0, 1293, 0, 0, 0, 0, 1292, 1291, 0, 1290, 0, 0, 0, 1289, 0, 0, 0, 0, 0, 0, 0, 0, 1288, 1287, 0, 1286, 0, 0, 0, 1285, 0, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1283, 0, 0, 0, 1282, 0, 1281, 1280, 0, 0, 0, 0, 1279, 0, 1278, 1277, 0, 0, 1276, 1275, 0, 1274, 0, 0, 0, 0, 0, 0, 1273, 0, 1272, 1271, 0, 0, 1270, 1269, 0, 1268, 0, 0, 0, 0, 1267, 1266, 0, 1265, 0, 0, 0, 1264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1263, 0, 1262, 1261, 0, 0, 1260, 1259, 0, 1258, 0, 0, 0, 0, 1257, 1256, 0, 1255, 0, 0, 0, 1254, 0, 0, 0, 0, 0, 0, 0, 0, 1253, 1252, 0, 1251, 0, 0, 0, 1250, 0, 0, 0, 0, 0, 0, 0, 1249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1248, 0, 1247, 1246, 0, 0, 1245, 1244, 0, 1243, 0, 0, 0, 0, 1242, 1241, 0, 1240, 0, 0, 0, 1239, 0, 0, 0, 0, 0, 0, 0, 0, 1238, 1237, 0, 1236, 0, 0, 0, 1235, 0, 0, 0, 0, 0, 0, 0, 1234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1233, 1232, 0, 1231, 0, 0, 0, 1230, 0, 0, 0, 0, 0, 0, 0, 1229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1227, 0, 0, 0, 1226, 0, 1225, 1224, 0, 0, 0, 0, 1223, 0, 1222, 1221, 0, 0, 1220, 1219, 0, 1218, 0, 0, 0, 0, 0, 0, 1217, 0, 1216, 1215, 0, 0, 1214, 1213, 0, 1212, 0, 0, 0, 0, 1211, 1210, 0, 1209, 0, 0, 0, 1208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1207, 0, 1206, 1205, 0, 0, 1204, 1203, 0, 1202, 0, 0, 0, 0, 1201, 1200, 0, 1199, 0, 0, 0, 1198, 0, 0, 0, 0, 0, 0, 0, 0, 1197, 1196, 0, 1195, 0, 0, 0, 1194, 0, 0, 0, 0, 0, 0, 0, 1193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1192, 0, 1191, 1190, 0, 0, 1189, 1188, 0, 1187, 0, 0, 0, 0, 1186, 1185, 0, 1184, 0, 0, 0, 1183, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 1181, 0, 1180, 0, 0, 0, 1179, 0, 0, 0, 0, 0, 0, 0, 1178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1177, 1176, 0, 1175, 0, 0, 0, 1174, 0, 0, 0, 0, 0, 0, 0, 1173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1171, 0, 1170, 1169, 0, 0, 1168, 1167, 0, 1166, 0, 0, 0, 0, 1165, 1164, 0, 1163, 0, 0, 0, 1162, 0, 0, 0, 0, 0, 0, 0, 0, 1161, 1160, 0, 1159, 0, 0, 0, 1158, 0, 0, 0, 0, 0, 0, 0, 1157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1156, 1155, 0, 1154, 0, 0, 0, 1153, 0, 0, 0, 0, 0, 0, 0, 1152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1150, 1149, 0, 1148, 0, 0, 0, 1147, 0, 0, 0, 0, 0, 0, 0, 1146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1144, 0, 0, 0, 0, 0, 0, 0, 1143, 0, 0, 0, 1142, 0, 1141, 1140, 0, 0, 0, 0, 0, 0, 0, 0, 1139, 0, 0, 0, 1138, 0, 1137, 1136, 0, 0, 0, 0, 1135, 0, 1134, 1133, 0, 0, 1132, 1131, 0, 1130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1129, 0, 0, 0, 1128, 0, 1127, 1126, 0, 0, 0, 0, 1125, 0, 1124, 1123, 0, 0, 1122, 1121, 0, 1120, 0, 0, 0, 0, 0, 0, 1119, 0, 1118, 1117, 0, 0, 1116, 1115, 0, 1114, 0, 0, 0, 0, 1113, 1112, 0, 1111, 0, 0, 0, 1110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1109, 0, 0, 0, 1108, 0, 1107, 1106, 0, 0, 0, 0, 1105, 0, 1104, 1103, 0, 0, 1102, 1101, 0, 1100, 0, 0, 0, 0, 0, 0, 1099, 0, 1098, 1097, 0, 0, 1096, 1095, 0, 1094, 0, 0, 0, 0, 1093, 1092, 0, 1091, 0, 0, 0, 1090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1089, 0, 1088, 1087, 0, 0, 1086, 1085, 0, 1084, 0, 0, 0, 0, 1083, 1082, 0, 1081, 0, 0, 0, 1080, 0, 0, 0, 0, 0, 0, 0, 0, 1079, 1078, 0, 1077, 0, 0, 0, 1076, 0, 0, 0, 0, 0, 0, 0, 1075, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1074, 0, 0, 0, 1073, 0, 1072, 1071, 0, 0, 0, 0, 1070, 0, 1069, 1068, 0, 0, 1067, 1066, 0, 1065, 0, 0, 0, 0, 0, 0, 1064, 0, 1063, 1062, 0, 0, 1061, 1060, 0, 1059, 0, 0, 0, 0, 1058, 1057, 0, 1056, 0, 0, 0, 1055, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1054, 0, 1053, 1052, 0, 0, 1051, 1050, 0, 1049, 0, 0, 0, 0, 1048, 1047, 0, 1046, 0, 0, 0, 1045, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 1043, 0, 1042, 0, 0, 0, 1041, 0, 0, 0, 0, 0, 0, 0, 1040, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1039, 0, 1038, 1037, 0, 0, 1036, 1035, 0, 1034, 0, 0, 0, 0, 1033, 1032, 0, 1031, 0, 0, 0, 1030, 0, 0, 0, 0, 0, 0, 0, 0, 1029, 1028, 0, 1027, 0, 0, 0, 1026, 0, 0, 0, 0, 0, 0, 0, 1025, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1024, 1023, 0, 1022, 0, 0, 0, 1021, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1019, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 0, 0, 0, 1017, 0, 1016, 1015, 0, 0, 0, 0, 1014, 0, 1013, 1012, 0, 0, 1011, 1010, 0, 1009, 0, 0, 0, 0, 0, 0, 1008, 0, 1007, 1006, 0, 0, 1005, 1004, 0, 1003, 0, 0, 0, 0, 1002, 1001, 0, 1000, 0, 0, 0, 999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 998, 0, 997, 996, 0, 0, 995, 994, 0, 993, 0, 0, 0, 0, 992, 991, 0, 990, 0, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 988, 987, 0, 986, 0, 0, 0, 985, 0, 0, 0, 0, 0, 0, 0, 984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 983, 0, 982, 981, 0, 0, 980, 979, 0, 978, 0, 0, 0, 0, 977, 976, 0, 975, 0, 0, 0, 974, 0, 0, 0, 0, 0, 0, 0, 0, 973, 972, 0, 971, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 969, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 968, 967, 0, 966, 0, 0, 0, 965, 0, 0, 0, 0, 0, 0, 0, 964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 963, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 962, 0, 961, 960, 0, 0, 959, 958, 0, 957, 0, 0, 0, 0, 956, 955, 0, 954, 0, 0, 0, 953, 0, 0, 0, 0, 0, 0, 0, 0, 952, 951, 0, 950, 0, 0, 0, 949, 0, 0, 0, 0, 0, 0, 0, 948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 947, 946, 0, 945, 0, 0, 0, 944, 0, 0, 0, 0, 0, 0, 0, 943, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 942, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 941, 940, 0, 939, 0, 0, 0, 938, 0, 0, 0, 0, 0, 0, 0, 937, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 933, 0, 932, 931, 0, 0, 0, 0, 930, 0, 929, 928, 0, 0, 927, 926, 0, 925, 0, 0, 0, 0, 0, 0, 924, 0, 923, 922, 0, 0, 921, 920, 0, 919, 0, 0, 0, 0, 918, 917, 0, 916, 0, 0, 0, 915, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 0, 913, 912, 0, 0, 911, 910, 0, 909, 0, 0, 0, 0, 908, 907, 0, 906, 0, 0, 0, 905, 0, 0, 0, 0, 0, 0, 0, 0, 904, 903, 0, 902, 0, 0, 0, 901, 0, 0, 0, 0, 0, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 899, 0, 898, 897, 0, 0, 896, 895, 0, 894, 0, 0, 0, 0, 893, 892, 0, 891, 0, 0, 0, 890, 0, 0, 0, 0, 0, 0, 0, 0, 889, 888, 0, 887, 0, 0, 0, 886, 0, 0, 0, 0, 0, 0, 0, 885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 884, 883, 0, 882, 0, 0, 0, 881, 0, 0, 0, 0, 0, 0, 0, 880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 879, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 878, 0, 877, 876, 0, 0, 875, 874, 0, 873, 0, 0, 0, 0, 872, 871, 0, 870, 0, 0, 0, 869, 0, 0, 0, 0, 0, 0, 0, 0, 868, 867, 0, 866, 0, 0, 0, 865, 0, 0, 0, 0, 0, 0, 0, 864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 863, 862, 0, 861, 0, 0, 0, 860, 0, 0, 0, 0, 0, 0, 0, 859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 857, 856, 0, 855, 0, 0, 0, 854, 0, 0, 0, 0, 0, 0, 0, 853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 851, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 850, 0, 849, 848, 0, 0, 847, 846, 0, 845, 0, 0, 0, 0, 844, 843, 0, 842, 0, 0, 0, 841, 0, 0, 0, 0, 0, 0, 0, 0, 840, 839, 0, 838, 0, 0, 0, 837, 0, 0, 0, 0, 0, 0, 0, 836, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 835, 834, 0, 833, 0, 0, 0, 832, 0, 0, 0, 0, 0, 0, 0, 831, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 830, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 829, 828, 0, 827, 0, 0, 0, 826, 0, 0, 0, 0, 0, 0, 0, 825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 822, 821, 0, 820, 0, 0, 0, 819, 0, 0, 0, 0, 0, 0, 0, 818, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 817, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 816, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 815, 0, 0, 0, 814, 0, 813, 812, 0, 0, 0, 0, 0, 0, 0, 0, 811, 0, 0, 0, 810, 0, 809, 808, 0, 0, 0, 0, 807, 0, 806, 805, 0, 0, 804, 803, 0, 802, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 801, 0, 0, 0, 800, 0, 799, 798, 0, 0, 0, 0, 797, 0, 796, 795, 0, 0, 794, 793, 0, 792, 0, 0, 0, 0, 0, 0, 791, 0, 790, 789, 0, 0, 788, 787, 0, 786, 0, 0, 0, 0, 785, 784, 0, 783, 0, 0, 0, 782, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 781, 0, 0, 0, 780, 0, 779, 778, 0, 0, 0, 0, 777, 0, 776, 775, 0, 0, 774, 773, 0, 772, 0, 0, 0, 0, 0, 0, 771, 0, 770, 769, 0, 0, 768, 767, 0, 766, 0, 0, 0, 0, 765, 764, 0, 763, 0, 0, 0, 762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 761, 0, 760, 759, 0, 0, 758, 757, 0, 756, 0, 0, 0, 0, 755, 754, 0, 753, 0, 0, 0, 752, 0, 0, 0, 0, 0, 0, 0, 0, 751, 750, 0, 749, 0, 0, 0, 748, 0, 0, 0, 0, 0, 0, 0, 747, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 746, 0, 0, 0, 745, 0, 744, 743, 0, 0, 0, 0, 742, 0, 741, 740, 0, 0, 739, 738, 0, 737, 0, 0, 0, 0, 0, 0, 736, 0, 735, 734, 0, 0, 733, 732, 0, 731, 0, 0, 0, 0, 730, 729, 0, 728, 0, 0, 0, 727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 726, 0, 725, 724, 0, 0, 723, 722, 0, 721, 0, 0, 0, 0, 720, 719, 0, 718, 0, 0, 0, 717, 0, 0, 0, 0, 0, 0, 0, 0, 716, 715, 0, 714, 0, 0, 0, 713, 0, 0, 0, 0, 0, 0, 0, 712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 711, 0, 710, 709, 0, 0, 708, 707, 0, 706, 0, 0, 0, 0, 705, 704, 0, 703, 0, 0, 0, 702, 0, 0, 0, 0, 0, 0, 0, 0, 701, 700, 0, 699, 0, 0, 0, 698, 0, 0, 0, 0, 0, 0, 0, 697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 696, 695, 0, 694, 0, 0, 0, 693, 0, 0, 0, 0, 0, 0, 0, 692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 690, 0, 0, 0, 689, 0, 688, 687, 0, 0, 0, 0, 686, 0, 685, 684, 0, 0, 683, 682, 0, 681, 0, 0, 0, 0, 0, 0, 680, 0, 679, 678, 0, 0, 677, 676, 0, 675, 0, 0, 0, 0, 674, 673, 0, 672, 0, 0, 0, 671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 670, 0, 669, 668, 0, 0, 667, 666, 0, 665, 0, 0, 0, 0, 664, 663, 0, 662, 0, 0, 0, 661, 0, 0, 0, 0, 0, 0, 0, 0, 660, 659, 0, 658, 0, 0, 0, 657, 0, 0, 0, 0, 0, 0, 0, 656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 655, 0, 654, 653, 0, 0, 652, 651, 0, 650, 0, 0, 0, 0, 649, 648, 0, 647, 0, 0, 0, 646, 0, 0, 0, 0, 0, 0, 0, 0, 645, 644, 0, 643, 0, 0, 0, 642, 0, 0, 0, 0, 0, 0, 0, 641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, 639, 0, 638, 0, 0, 0, 637, 0, 0, 0, 0, 0, 0, 0, 636, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 635, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 634, 0, 633, 632, 0, 0, 631, 630, 0, 629, 0, 0, 0, 0, 628, 627, 0, 626, 0, 0, 0, 625, 0, 0, 0, 0, 0, 0, 0, 0, 624, 623, 0, 622, 0, 0, 0, 621, 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 619, 618, 0, 617, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 615, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 614, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 613, 612, 0, 611, 0, 0, 0, 610, 0, 0, 0, 0, 0, 0, 0, 609, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 606, 0, 0, 0, 605, 0, 604, 603, 0, 0, 0, 0, 602, 0, 601, 600, 0, 0, 599, 598, 0, 597, 0, 0, 0, 0, 0, 0, 596, 0, 595, 594, 0, 0, 593, 592, 0, 591, 0, 0, 0, 0, 590, 589, 0, 588, 0, 0, 0, 587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 586, 0, 585, 584, 0, 0, 583, 582, 0, 581, 0, 0, 0, 0, 580, 579, 0, 578, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 0, 576, 575, 0, 574, 0, 0, 0, 573, 0, 0, 0, 0, 0, 0, 0, 572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 571, 0, 570, 569, 0, 0, 568, 567, 0, 566, 0, 0, 0, 0, 565, 564, 0, 563, 0, 0, 0, 562, 0, 0, 0, 0, 0, 0, 0, 0, 561, 560, 0, 559, 0, 0, 0, 558, 0, 0, 0, 0, 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 556, 555, 0, 554, 0, 0, 0, 553, 0, 0, 0, 0, 0, 0, 0, 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 550, 0, 549, 548, 0, 0, 547, 546, 0, 545, 0, 0, 0, 0, 544, 543, 0, 542, 0, 0, 0, 541, 0, 0, 0, 0, 0, 0, 0, 0, 540, 539, 0, 538, 0, 0, 0, 537, 0, 0, 0, 0, 0, 0, 0, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 534, 0, 533, 0, 0, 0, 532, 0, 0, 0, 0, 0, 0, 0, 531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 530, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 529, 528, 0, 527, 0, 0, 0, 526, 0, 0, 0, 0, 0, 0, 0, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 524, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 523, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 521, 520, 0, 0, 519, 518, 0, 517, 0, 0, 0, 0, 516, 515, 0, 514, 0, 0, 0, 513, 0, 0, 0, 0, 0, 0, 0, 0, 512, 511, 0, 510, 0, 0, 0, 509, 0, 0, 0, 0, 0, 0, 0, 508, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 507, 506, 0, 505, 0, 0, 0, 504, 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 502, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 501, 500, 0, 499, 0, 0, 0, 498, 0, 0, 0, 0, 0, 0, 0, 497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 494, 493, 0, 492, 0, 0, 0, 491, 0, 0, 0, 0, 0, 0, 0, 490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 486, 0, 0, 0, 485, 0, 484, 483, 0, 0, 0, 0, 482, 0, 481, 480, 0, 0, 479, 478, 0, 477, 0, 0, 0, 0, 0, 0, 476, 0, 475, 474, 0, 0, 473, 472, 0, 471, 0, 0, 0, 0, 470, 469, 0, 468, 0, 0, 0, 467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 466, 0, 465, 464, 0, 0, 463, 462, 0, 461, 0, 0, 0, 0, 460, 459, 0, 458, 0, 0, 0, 457, 0, 0, 0, 0, 0, 0, 0, 0, 456, 455, 0, 454, 0, 0, 0, 453, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 451, 0, 450, 449, 0, 0, 448, 447, 0, 446, 0, 0, 0, 0, 445, 444, 0, 443, 0, 0, 0, 442, 0, 0, 0, 0, 0, 0, 0, 0, 441, 440, 0, 439, 0, 0, 0, 438, 0, 0, 0, 0, 0, 0, 0, 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, 435, 0, 434, 0, 0, 0, 433, 0, 0, 0, 0, 0, 0, 0, 432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 430, 0, 429, 428, 0, 0, 427, 426, 0, 425, 0, 0, 0, 0, 424, 423, 0, 422, 0, 0, 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, 420, 419, 0, 418, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 414, 0, 413, 0, 0, 0, 412, 0, 0, 0, 0, 0, 0, 0, 411, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 410, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 409, 408, 0, 407, 0, 0, 0, 406, 0, 0, 0, 0, 0, 0, 0, 405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 0, 401, 400, 0, 0, 399, 398, 0, 397, 0, 0, 0, 0, 396, 395, 0, 394, 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, 0, 0, 392, 391, 0, 390, 0, 0, 0, 389, 0, 0, 0, 0, 0, 0, 0, 388, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 386, 0, 385, 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 380, 0, 379, 0, 0, 0, 378, 0, 0, 0, 0, 0, 0, 0, 377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, 373, 0, 372, 0, 0, 0, 371, 0, 0, 0, 0, 0, 0, 0, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 0, 365, 364, 0, 0, 363, 362, 0, 361, 0, 0, 0, 0, 360, 359, 0, 358, 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, 0, 356, 355, 0, 354, 0, 0, 0, 353, 0, 0, 0, 0, 0, 0, 0, 352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, 350, 0, 349, 0, 0, 0, 348, 0, 0, 0, 0, 0, 0, 0, 347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 344, 0, 343, 0, 0, 0, 342, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 337, 0, 336, 0, 0, 0, 335, 0, 0, 0, 0, 0, 0, 0, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 330, 329, 0, 328, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }; /* ** this is a table lookup for all non-flush hands consisting ** of five unique ranks (i.e. either Straights or High Card ** hands). it's similar to the above "flushes" array. */ short unique5[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7462, 0, 0, 0, 0, 0, 0, 0, 7461, 0, 0, 0, 7460, 0, 7459, 1607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7458, 0, 0, 0, 0, 0, 0, 0, 7457, 0, 0, 0, 7456, 0, 7455, 7454, 0, 0, 0, 0, 0, 0, 0, 0, 7453, 0, 0, 0, 7452, 0, 7451, 7450, 0, 0, 0, 0, 7449, 0, 7448, 7447, 0, 0, 7446, 7445, 0, 1606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7444, 0, 0, 0, 0, 0, 0, 0, 7443, 0, 0, 0, 7442, 0, 7441, 7440, 0, 0, 0, 0, 0, 0, 0, 0, 7439, 0, 0, 0, 7438, 0, 7437, 7436, 0, 0, 0, 0, 7435, 0, 7434, 7433, 0, 0, 7432, 7431, 0, 7430, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7429, 0, 0, 0, 7428, 0, 7427, 7426, 0, 0, 0, 0, 7425, 0, 7424, 7423, 0, 0, 7422, 7421, 0, 7420, 0, 0, 0, 0, 0, 0, 7419, 0, 7418, 7417, 0, 0, 7416, 7415, 0, 7414, 0, 0, 0, 0, 7413, 7412, 0, 7411, 0, 0, 0, 1605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7410, 0, 0, 0, 0, 0, 0, 0, 7409, 0, 0, 0, 7408, 0, 7407, 7406, 0, 0, 0, 0, 0, 0, 0, 0, 7405, 0, 0, 0, 7404, 0, 7403, 7402, 0, 0, 0, 0, 7401, 0, 7400, 7399, 0, 0, 7398, 7397, 0, 7396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7395, 0, 0, 0, 7394, 0, 7393, 7392, 0, 0, 0, 0, 7391, 0, 7390, 7389, 0, 0, 7388, 7387, 0, 7386, 0, 0, 0, 0, 0, 0, 7385, 0, 7384, 7383, 0, 0, 7382, 7381, 0, 7380, 0, 0, 0, 0, 7379, 7378, 0, 7377, 0, 0, 0, 7376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7375, 0, 0, 0, 7374, 0, 7373, 7372, 0, 0, 0, 0, 7371, 0, 7370, 7369, 0, 0, 7368, 7367, 0, 7366, 0, 0, 0, 0, 0, 0, 7365, 0, 7364, 7363, 0, 0, 7362, 7361, 0, 7360, 0, 0, 0, 0, 7359, 7358, 0, 7357, 0, 0, 0, 7356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7355, 0, 7354, 7353, 0, 0, 7352, 7351, 0, 7350, 0, 0, 0, 0, 7349, 7348, 0, 7347, 0, 0, 0, 7346, 0, 0, 0, 0, 0, 0, 0, 0, 7345, 7344, 0, 7343, 0, 0, 0, 7342, 0, 0, 0, 0, 0, 0, 0, 1604, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7341, 0, 0, 0, 0, 0, 0, 0, 7340, 0, 0, 0, 7339, 0, 7338, 7337, 0, 0, 0, 0, 0, 0, 0, 0, 7336, 0, 0, 0, 7335, 0, 7334, 7333, 0, 0, 0, 0, 7332, 0, 7331, 7330, 0, 0, 7329, 7328, 0, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7326, 0, 0, 0, 7325, 0, 7324, 7323, 0, 0, 0, 0, 7322, 0, 7321, 7320, 0, 0, 7319, 7318, 0, 7317, 0, 0, 0, 0, 0, 0, 7316, 0, 7315, 7314, 0, 0, 7313, 7312, 0, 7311, 0, 0, 0, 0, 7310, 7309, 0, 7308, 0, 0, 0, 7307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7306, 0, 0, 0, 7305, 0, 7304, 7303, 0, 0, 0, 0, 7302, 0, 7301, 7300, 0, 0, 7299, 7298, 0, 7297, 0, 0, 0, 0, 0, 0, 7296, 0, 7295, 7294, 0, 0, 7293, 7292, 0, 7291, 0, 0, 0, 0, 7290, 7289, 0, 7288, 0, 0, 0, 7287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7286, 0, 7285, 7284, 0, 0, 7283, 7282, 0, 7281, 0, 0, 0, 0, 7280, 7279, 0, 7278, 0, 0, 0, 7277, 0, 0, 0, 0, 0, 0, 0, 0, 7276, 7275, 0, 7274, 0, 0, 0, 7273, 0, 0, 0, 0, 0, 0, 0, 7272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7271, 0, 0, 0, 7270, 0, 7269, 7268, 0, 0, 0, 0, 7267, 0, 7266, 7265, 0, 0, 7264, 7263, 0, 7262, 0, 0, 0, 0, 0, 0, 7261, 0, 7260, 7259, 0, 0, 7258, 7257, 0, 7256, 0, 0, 0, 0, 7255, 7254, 0, 7253, 0, 0, 0, 7252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7251, 0, 7250, 7249, 0, 0, 7248, 7247, 0, 7246, 0, 0, 0, 0, 7245, 7244, 0, 7243, 0, 0, 0, 7242, 0, 0, 0, 0, 0, 0, 0, 0, 7241, 7240, 0, 7239, 0, 0, 0, 7238, 0, 0, 0, 0, 0, 0, 0, 7237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7236, 0, 7235, 7234, 0, 0, 7233, 7232, 0, 7231, 0, 0, 0, 0, 7230, 7229, 0, 7228, 0, 0, 0, 7227, 0, 0, 0, 0, 0, 0, 0, 0, 7226, 7225, 0, 7224, 0, 0, 0, 7223, 0, 0, 0, 0, 0, 0, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7221, 7220, 0, 7219, 0, 0, 0, 7218, 0, 0, 0, 0, 0, 0, 0, 7217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1603, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7216, 0, 0, 0, 0, 0, 0, 0, 7215, 0, 0, 0, 7214, 0, 7213, 7212, 0, 0, 0, 0, 0, 0, 0, 0, 7211, 0, 0, 0, 7210, 0, 7209, 7208, 0, 0, 0, 0, 7207, 0, 7206, 7205, 0, 0, 7204, 7203, 0, 7202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7201, 0, 0, 0, 7200, 0, 7199, 7198, 0, 0, 0, 0, 7197, 0, 7196, 7195, 0, 0, 7194, 7193, 0, 7192, 0, 0, 0, 0, 0, 0, 7191, 0, 7190, 7189, 0, 0, 7188, 7187, 0, 7186, 0, 0, 0, 0, 7185, 7184, 0, 7183, 0, 0, 0, 7182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7181, 0, 0, 0, 7180, 0, 7179, 7178, 0, 0, 0, 0, 7177, 0, 7176, 7175, 0, 0, 7174, 7173, 0, 7172, 0, 0, 0, 0, 0, 0, 7171, 0, 7170, 7169, 0, 0, 7168, 7167, 0, 7166, 0, 0, 0, 0, 7165, 7164, 0, 7163, 0, 0, 0, 7162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7161, 0, 7160, 7159, 0, 0, 7158, 7157, 0, 7156, 0, 0, 0, 0, 7155, 7154, 0, 7153, 0, 0, 0, 7152, 0, 0, 0, 0, 0, 0, 0, 0, 7151, 7150, 0, 7149, 0, 0, 0, 7148, 0, 0, 0, 0, 0, 0, 0, 7147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7146, 0, 0, 0, 7145, 0, 7144, 7143, 0, 0, 0, 0, 7142, 0, 7141, 7140, 0, 0, 7139, 7138, 0, 7137, 0, 0, 0, 0, 0, 0, 7136, 0, 7135, 7134, 0, 0, 7133, 7132, 0, 7131, 0, 0, 0, 0, 7130, 7129, 0, 7128, 0, 0, 0, 7127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7126, 0, 7125, 7124, 0, 0, 7123, 7122, 0, 7121, 0, 0, 0, 0, 7120, 7119, 0, 7118, 0, 0, 0, 7117, 0, 0, 0, 0, 0, 0, 0, 0, 7116, 7115, 0, 7114, 0, 0, 0, 7113, 0, 0, 0, 0, 0, 0, 0, 7112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7111, 0, 7110, 7109, 0, 0, 7108, 7107, 0, 7106, 0, 0, 0, 0, 7105, 7104, 0, 7103, 0, 0, 0, 7102, 0, 0, 0, 0, 0, 0, 0, 0, 7101, 7100, 0, 7099, 0, 0, 0, 7098, 0, 0, 0, 0, 0, 0, 0, 7097, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7096, 7095, 0, 7094, 0, 0, 0, 7093, 0, 0, 0, 0, 0, 0, 0, 7092, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7091, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7090, 0, 0, 0, 7089, 0, 7088, 7087, 0, 0, 0, 0, 7086, 0, 7085, 7084, 0, 0, 7083, 7082, 0, 7081, 0, 0, 0, 0, 0, 0, 7080, 0, 7079, 7078, 0, 0, 7077, 7076, 0, 7075, 0, 0, 0, 0, 7074, 7073, 0, 7072, 0, 0, 0, 7071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7070, 0, 7069, 7068, 0, 0, 7067, 7066, 0, 7065, 0, 0, 0, 0, 7064, 7063, 0, 7062, 0, 0, 0, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 7060, 7059, 0, 7058, 0, 0, 0, 7057, 0, 0, 0, 0, 0, 0, 0, 7056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7055, 0, 7054, 7053, 0, 0, 7052, 7051, 0, 7050, 0, 0, 0, 0, 7049, 7048, 0, 7047, 0, 0, 0, 7046, 0, 0, 0, 0, 0, 0, 0, 0, 7045, 7044, 0, 7043, 0, 0, 0, 7042, 0, 0, 0, 0, 0, 0, 0, 7041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7040, 7039, 0, 7038, 0, 0, 0, 7037, 0, 0, 0, 0, 0, 0, 0, 7036, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7035, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7034, 0, 7033, 7032, 0, 0, 7031, 7030, 0, 7029, 0, 0, 0, 0, 7028, 7027, 0, 7026, 0, 0, 0, 7025, 0, 0, 0, 0, 0, 0, 0, 0, 7024, 7023, 0, 7022, 0, 0, 0, 7021, 0, 0, 0, 0, 0, 0, 0, 7020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7019, 7018, 0, 7017, 0, 0, 0, 7016, 0, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7013, 7012, 0, 7011, 0, 0, 0, 7010, 0, 0, 0, 0, 0, 0, 0, 7009, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7007, 0, 0, 0, 0, 0, 0, 0, 7006, 0, 0, 0, 7005, 0, 7004, 7003, 0, 0, 0, 0, 0, 0, 0, 0, 7002, 0, 0, 0, 7001, 0, 7000, 6999, 0, 0, 0, 0, 6998, 0, 6997, 6996, 0, 0, 6995, 6994, 0, 6993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6992, 0, 0, 0, 6991, 0, 6990, 6989, 0, 0, 0, 0, 6988, 0, 6987, 6986, 0, 0, 6985, 6984, 0, 6983, 0, 0, 0, 0, 0, 0, 6982, 0, 6981, 6980, 0, 0, 6979, 6978, 0, 6977, 0, 0, 0, 0, 6976, 6975, 0, 6974, 0, 0, 0, 6973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6972, 0, 0, 0, 6971, 0, 6970, 6969, 0, 0, 0, 0, 6968, 0, 6967, 6966, 0, 0, 6965, 6964, 0, 6963, 0, 0, 0, 0, 0, 0, 6962, 0, 6961, 6960, 0, 0, 6959, 6958, 0, 6957, 0, 0, 0, 0, 6956, 6955, 0, 6954, 0, 0, 0, 6953, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6952, 0, 6951, 6950, 0, 0, 6949, 6948, 0, 6947, 0, 0, 0, 0, 6946, 6945, 0, 6944, 0, 0, 0, 6943, 0, 0, 0, 0, 0, 0, 0, 0, 6942, 6941, 0, 6940, 0, 0, 0, 6939, 0, 0, 0, 0, 0, 0, 0, 6938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6937, 0, 0, 0, 6936, 0, 6935, 6934, 0, 0, 0, 0, 6933, 0, 6932, 6931, 0, 0, 6930, 6929, 0, 6928, 0, 0, 0, 0, 0, 0, 6927, 0, 6926, 6925, 0, 0, 6924, 6923, 0, 6922, 0, 0, 0, 0, 6921, 6920, 0, 6919, 0, 0, 0, 6918, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6917, 0, 6916, 6915, 0, 0, 6914, 6913, 0, 6912, 0, 0, 0, 0, 6911, 6910, 0, 6909, 0, 0, 0, 6908, 0, 0, 0, 0, 0, 0, 0, 0, 6907, 6906, 0, 6905, 0, 0, 0, 6904, 0, 0, 0, 0, 0, 0, 0, 6903, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6902, 0, 6901, 6900, 0, 0, 6899, 6898, 0, 6897, 0, 0, 0, 0, 6896, 6895, 0, 6894, 0, 0, 0, 6893, 0, 0, 0, 0, 0, 0, 0, 0, 6892, 6891, 0, 6890, 0, 0, 0, 6889, 0, 0, 0, 0, 0, 0, 0, 6888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6887, 6886, 0, 6885, 0, 0, 0, 6884, 0, 0, 0, 0, 0, 0, 0, 6883, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6882, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6881, 0, 0, 0, 6880, 0, 6879, 6878, 0, 0, 0, 0, 6877, 0, 6876, 6875, 0, 0, 6874, 6873, 0, 6872, 0, 0, 0, 0, 0, 0, 6871, 0, 6870, 6869, 0, 0, 6868, 6867, 0, 6866, 0, 0, 0, 0, 6865, 6864, 0, 6863, 0, 0, 0, 6862, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6861, 0, 6860, 6859, 0, 0, 6858, 6857, 0, 6856, 0, 0, 0, 0, 6855, 6854, 0, 6853, 0, 0, 0, 6852, 0, 0, 0, 0, 0, 0, 0, 0, 6851, 6850, 0, 6849, 0, 0, 0, 6848, 0, 0, 0, 0, 0, 0, 0, 6847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6846, 0, 6845, 6844, 0, 0, 6843, 6842, 0, 6841, 0, 0, 0, 0, 6840, 6839, 0, 6838, 0, 0, 0, 6837, 0, 0, 0, 0, 0, 0, 0, 0, 6836, 6835, 0, 6834, 0, 0, 0, 6833, 0, 0, 0, 0, 0, 0, 0, 6832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6831, 6830, 0, 6829, 0, 0, 0, 6828, 0, 0, 0, 0, 0, 0, 0, 6827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6825, 0, 6824, 6823, 0, 0, 6822, 6821, 0, 6820, 0, 0, 0, 0, 6819, 6818, 0, 6817, 0, 0, 0, 6816, 0, 0, 0, 0, 0, 0, 0, 0, 6815, 6814, 0, 6813, 0, 0, 0, 6812, 0, 0, 0, 0, 0, 0, 0, 6811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6810, 6809, 0, 6808, 0, 0, 0, 6807, 0, 0, 0, 0, 0, 0, 0, 6806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6804, 6803, 0, 6802, 0, 0, 0, 6801, 0, 0, 0, 0, 0, 0, 0, 6800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6799, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6797, 0, 0, 0, 6796, 0, 6795, 6794, 0, 0, 0, 0, 6793, 0, 6792, 6791, 0, 0, 6790, 6789, 0, 6788, 0, 0, 0, 0, 0, 0, 6787, 0, 6786, 6785, 0, 0, 6784, 6783, 0, 6782, 0, 0, 0, 0, 6781, 6780, 0, 6779, 0, 0, 0, 6778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6777, 0, 6776, 6775, 0, 0, 6774, 6773, 0, 6772, 0, 0, 0, 0, 6771, 6770, 0, 6769, 0, 0, 0, 6768, 0, 0, 0, 0, 0, 0, 0, 0, 6767, 6766, 0, 6765, 0, 0, 0, 6764, 0, 0, 0, 0, 0, 0, 0, 6763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6762, 0, 6761, 6760, 0, 0, 6759, 6758, 0, 6757, 0, 0, 0, 0, 6756, 6755, 0, 6754, 0, 0, 0, 6753, 0, 0, 0, 0, 0, 0, 0, 0, 6752, 6751, 0, 6750, 0, 0, 0, 6749, 0, 0, 0, 0, 0, 0, 0, 6748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6747, 6746, 0, 6745, 0, 0, 0, 6744, 0, 0, 0, 0, 0, 0, 0, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6741, 0, 6740, 6739, 0, 0, 6738, 6737, 0, 6736, 0, 0, 0, 0, 6735, 6734, 0, 6733, 0, 0, 0, 6732, 0, 0, 0, 0, 0, 0, 0, 0, 6731, 6730, 0, 6729, 0, 0, 0, 6728, 0, 0, 0, 0, 0, 0, 0, 6727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6726, 6725, 0, 6724, 0, 0, 0, 6723, 0, 0, 0, 0, 0, 0, 0, 6722, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6720, 6719, 0, 6718, 0, 0, 0, 6717, 0, 0, 0, 0, 0, 0, 0, 6716, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6714, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6713, 0, 6712, 6711, 0, 0, 6710, 6709, 0, 6708, 0, 0, 0, 0, 6707, 6706, 0, 6705, 0, 0, 0, 6704, 0, 0, 0, 0, 0, 0, 0, 0, 6703, 6702, 0, 6701, 0, 0, 0, 6700, 0, 0, 0, 0, 0, 0, 0, 6699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6698, 6697, 0, 6696, 0, 0, 0, 6695, 0, 0, 0, 0, 0, 0, 0, 6694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6693, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6692, 6691, 0, 6690, 0, 0, 0, 6689, 0, 0, 0, 0, 0, 0, 0, 6688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6685, 6684, 0, 6683, 0, 0, 0, 6682, 0, 0, 0, 0, 0, 0, 0, 6681, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6679, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1609, 0, 0, 0, 0, 0, 0, 0, 6678, 0, 0, 0, 6677, 0, 6676, 6675, 0, 0, 0, 0, 0, 0, 0, 0, 6674, 0, 0, 0, 6673, 0, 6672, 6671, 0, 0, 0, 0, 6670, 0, 6669, 6668, 0, 0, 6667, 6666, 0, 6665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6664, 0, 0, 0, 6663, 0, 6662, 6661, 0, 0, 0, 0, 6660, 0, 6659, 6658, 0, 0, 6657, 6656, 0, 6655, 0, 0, 0, 0, 0, 0, 6654, 0, 6653, 6652, 0, 0, 6651, 6650, 0, 6649, 0, 0, 0, 0, 6648, 6647, 0, 6646, 0, 0, 0, 6645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6644, 0, 0, 0, 6643, 0, 6642, 6641, 0, 0, 0, 0, 6640, 0, 6639, 6638, 0, 0, 6637, 6636, 0, 6635, 0, 0, 0, 0, 0, 0, 6634, 0, 6633, 6632, 0, 0, 6631, 6630, 0, 6629, 0, 0, 0, 0, 6628, 6627, 0, 6626, 0, 0, 0, 6625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6624, 0, 6623, 6622, 0, 0, 6621, 6620, 0, 6619, 0, 0, 0, 0, 6618, 6617, 0, 6616, 0, 0, 0, 6615, 0, 0, 0, 0, 0, 0, 0, 0, 6614, 6613, 0, 6612, 0, 0, 0, 6611, 0, 0, 0, 0, 0, 0, 0, 6610, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6609, 0, 0, 0, 6608, 0, 6607, 6606, 0, 0, 0, 0, 6605, 0, 6604, 6603, 0, 0, 6602, 6601, 0, 6600, 0, 0, 0, 0, 0, 0, 6599, 0, 6598, 6597, 0, 0, 6596, 6595, 0, 6594, 0, 0, 0, 0, 6593, 6592, 0, 6591, 0, 0, 0, 6590, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6589, 0, 6588, 6587, 0, 0, 6586, 6585, 0, 6584, 0, 0, 0, 0, 6583, 6582, 0, 6581, 0, 0, 0, 6580, 0, 0, 0, 0, 0, 0, 0, 0, 6579, 6578, 0, 6577, 0, 0, 0, 6576, 0, 0, 0, 0, 0, 0, 0, 6575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6574, 0, 6573, 6572, 0, 0, 6571, 6570, 0, 6569, 0, 0, 0, 0, 6568, 6567, 0, 6566, 0, 0, 0, 6565, 0, 0, 0, 0, 0, 0, 0, 0, 6564, 6563, 0, 6562, 0, 0, 0, 6561, 0, 0, 0, 0, 0, 0, 0, 6560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6559, 6558, 0, 6557, 0, 0, 0, 6556, 0, 0, 0, 0, 0, 0, 0, 6555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6554, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6553, 0, 0, 0, 6552, 0, 6551, 6550, 0, 0, 0, 0, 6549, 0, 6548, 6547, 0, 0, 6546, 6545, 0, 6544, 0, 0, 0, 0, 0, 0, 6543, 0, 6542, 6541, 0, 0, 6540, 6539, 0, 6538, 0, 0, 0, 0, 6537, 6536, 0, 6535, 0, 0, 0, 6534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6533, 0, 6532, 6531, 0, 0, 6530, 6529, 0, 6528, 0, 0, 0, 0, 6527, 6526, 0, 6525, 0, 0, 0, 6524, 0, 0, 0, 0, 0, 0, 0, 0, 6523, 6522, 0, 6521, 0, 0, 0, 6520, 0, 0, 0, 0, 0, 0, 0, 6519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6518, 0, 6517, 6516, 0, 0, 6515, 6514, 0, 6513, 0, 0, 0, 0, 6512, 6511, 0, 6510, 0, 0, 0, 6509, 0, 0, 0, 0, 0, 0, 0, 0, 6508, 6507, 0, 6506, 0, 0, 0, 6505, 0, 0, 0, 0, 0, 0, 0, 6504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6503, 6502, 0, 6501, 0, 0, 0, 6500, 0, 0, 0, 0, 0, 0, 0, 6499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6497, 0, 6496, 6495, 0, 0, 6494, 6493, 0, 6492, 0, 0, 0, 0, 6491, 6490, 0, 6489, 0, 0, 0, 6488, 0, 0, 0, 0, 0, 0, 0, 0, 6487, 6486, 0, 6485, 0, 0, 0, 6484, 0, 0, 0, 0, 0, 0, 0, 6483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6482, 6481, 0, 6480, 0, 0, 0, 6479, 0, 0, 0, 0, 0, 0, 0, 6478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6477, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6476, 6475, 0, 6474, 0, 0, 0, 6473, 0, 0, 0, 0, 0, 0, 0, 6472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6471, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6470, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6469, 0, 0, 0, 6468, 0, 6467, 6466, 0, 0, 0, 0, 6465, 0, 6464, 6463, 0, 0, 6462, 6461, 0, 6460, 0, 0, 0, 0, 0, 0, 6459, 0, 6458, 6457, 0, 0, 6456, 6455, 0, 6454, 0, 0, 0, 0, 6453, 6452, 0, 6451, 0, 0, 0, 6450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6449, 0, 6448, 6447, 0, 0, 6446, 6445, 0, 6444, 0, 0, 0, 0, 6443, 6442, 0, 6441, 0, 0, 0, 6440, 0, 0, 0, 0, 0, 0, 0, 0, 6439, 6438, 0, 6437, 0, 0, 0, 6436, 0, 0, 0, 0, 0, 0, 0, 6435, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6434, 0, 6433, 6432, 0, 0, 6431, 6430, 0, 6429, 0, 0, 0, 0, 6428, 6427, 0, 6426, 0, 0, 0, 6425, 0, 0, 0, 0, 0, 0, 0, 0, 6424, 6423, 0, 6422, 0, 0, 0, 6421, 0, 0, 0, 0, 0, 0, 0, 6420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6419, 6418, 0, 6417, 0, 0, 0, 6416, 0, 0, 0, 0, 0, 0, 0, 6415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6413, 0, 6412, 6411, 0, 0, 6410, 6409, 0, 6408, 0, 0, 0, 0, 6407, 6406, 0, 6405, 0, 0, 0, 6404, 0, 0, 0, 0, 0, 0, 0, 0, 6403, 6402, 0, 6401, 0, 0, 0, 6400, 0, 0, 0, 0, 0, 0, 0, 6399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6398, 6397, 0, 6396, 0, 0, 0, 6395, 0, 0, 0, 0, 0, 0, 0, 6394, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6392, 6391, 0, 6390, 0, 0, 0, 6389, 0, 0, 0, 0, 0, 0, 0, 6388, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6385, 0, 6384, 6383, 0, 0, 6382, 6381, 0, 6380, 0, 0, 0, 0, 6379, 6378, 0, 6377, 0, 0, 0, 6376, 0, 0, 0, 0, 0, 0, 0, 0, 6375, 6374, 0, 6373, 0, 0, 0, 6372, 0, 0, 0, 0, 0, 0, 0, 6371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6370, 6369, 0, 6368, 0, 0, 0, 6367, 0, 0, 0, 0, 0, 0, 0, 6366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6365, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6364, 6363, 0, 6362, 0, 0, 0, 6361, 0, 0, 0, 0, 0, 0, 0, 6360, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6357, 6356, 0, 6355, 0, 0, 0, 6354, 0, 0, 0, 0, 0, 0, 0, 6353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6349, 0, 0, 0, 6348, 0, 6347, 6346, 0, 0, 0, 0, 6345, 0, 6344, 6343, 0, 0, 6342, 6341, 0, 6340, 0, 0, 0, 0, 0, 0, 6339, 0, 6338, 6337, 0, 0, 6336, 6335, 0, 6334, 0, 0, 0, 0, 6333, 6332, 0, 6331, 0, 0, 0, 6330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6329, 0, 6328, 6327, 0, 0, 6326, 6325, 0, 6324, 0, 0, 0, 0, 6323, 6322, 0, 6321, 0, 0, 0, 6320, 0, 0, 0, 0, 0, 0, 0, 0, 6319, 6318, 0, 6317, 0, 0, 0, 6316, 0, 0, 0, 0, 0, 0, 0, 6315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6314, 0, 6313, 6312, 0, 0, 6311, 6310, 0, 6309, 0, 0, 0, 0, 6308, 6307, 0, 6306, 0, 0, 0, 6305, 0, 0, 0, 0, 0, 0, 0, 0, 6304, 6303, 0, 6302, 0, 0, 0, 6301, 0, 0, 0, 0, 0, 0, 0, 6300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6299, 6298, 0, 6297, 0, 0, 0, 6296, 0, 0, 0, 0, 0, 0, 0, 6295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6293, 0, 6292, 6291, 0, 0, 6290, 6289, 0, 6288, 0, 0, 0, 0, 6287, 6286, 0, 6285, 0, 0, 0, 6284, 0, 0, 0, 0, 0, 0, 0, 0, 6283, 6282, 0, 6281, 0, 0, 0, 6280, 0, 0, 0, 0, 0, 0, 0, 6279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6278, 6277, 0, 6276, 0, 0, 0, 6275, 0, 0, 0, 0, 0, 0, 0, 6274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6272, 6271, 0, 6270, 0, 0, 0, 6269, 0, 0, 0, 0, 0, 0, 0, 6268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6265, 0, 6264, 6263, 0, 0, 6262, 6261, 0, 6260, 0, 0, 0, 0, 6259, 6258, 0, 6257, 0, 0, 0, 6256, 0, 0, 0, 0, 0, 0, 0, 0, 6255, 6254, 0, 6253, 0, 0, 0, 6252, 0, 0, 0, 0, 0, 0, 0, 6251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6250, 6249, 0, 6248, 0, 0, 0, 6247, 0, 0, 0, 0, 0, 0, 0, 6246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6244, 6243, 0, 6242, 0, 0, 0, 6241, 0, 0, 0, 0, 0, 0, 0, 6240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6237, 6236, 0, 6235, 0, 0, 0, 6234, 0, 0, 0, 0, 0, 0, 0, 6233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6229, 0, 6228, 6227, 0, 0, 6226, 6225, 0, 6224, 0, 0, 0, 0, 6223, 6222, 0, 6221, 0, 0, 0, 6220, 0, 0, 0, 0, 0, 0, 0, 0, 6219, 6218, 0, 6217, 0, 0, 0, 6216, 0, 0, 0, 0, 0, 0, 0, 6215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6214, 6213, 0, 6212, 0, 0, 0, 6211, 0, 0, 0, 0, 0, 0, 0, 6210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6208, 6207, 0, 6206, 0, 0, 0, 6205, 0, 0, 0, 0, 0, 0, 0, 6204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6201, 6200, 0, 6199, 0, 0, 0, 6198, 0, 0, 0, 0, 0, 0, 0, 6197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6193, 6192, 0, 6191, 0, 0, 0, 6190, 0, 0, 0, 0, 0, 0, 0, 6189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1600 }; int products[] = { 48, 72, 80, 108, 112, 120, 162, 168, 176, 180, 200, 208, 252, 264, 270, 272, 280, 300, 304, 312, 368, 378, 392, 396, 405, 408, 420, 440, 450, 456, 464, 468, 496, 500, 520, 552, 567, 588, 592, 594, 612, 616, 630, 656, 660, 675, 680, 684, 696, 700, 702, 728, 744, 750, 760, 780, 828, 882, 888, 891, 918, 920, 924, 945, 952, 968, 980, 984, 990, 1020, 1026, 1044, 1050, 1053, 1064, 1092, 1100, 1116, 1125, 1140, 1144, 1160, 1170, 1240, 1242, 1250, 1288, 1300, 1323, 1332, 1352, 1372, 1377, 1380, 1386, 1428, 1452, 1470, 1476, 1480, 1485, 1496, 1530, 1539, 1540, 1566, 1575, 1596, 1624, 1638, 1640, 1650, 1672, 1674, 1700, 1710, 1716, 1736, 1740, 1750, 1755, 1768, 1820, 1860, 1863, 1875, 1900, 1932, 1950, 1976, 1998, 2024, 2028, 2058, 2070, 2072, 2079, 2142, 2156, 2178, 2205, 2214, 2220, 2244, 2295, 2296, 2300, 2312, 2349, 2380, 2392, 2394, 2420, 2436, 2450, 2457, 2460, 2475, 2508, 2511, 2548, 2550, 2552, 2565, 2574, 2584, 2604, 2610, 2625, 2652, 2660, 2728, 2750, 2790, 2850, 2860, 2888, 2898, 2900, 2925, 2964, 2997, 3016, 3036, 3042, 3087, 3100, 3105, 3108, 3128, 3213, 3220, 3224, 3234, 3250, 3256, 3267, 3321, 3330, 3332, 3366, 3380, 3388, 3430, 3444, 3450, 3465, 3468, 3496, 3588, 3591, 3608, 3630, 3654, 3675, 3690, 3700, 3724, 3740, 3762, 3822, 3825, 3828, 3848, 3850, 3861, 3876, 3906, 3915, 3944, 3978, 4004, 4060, 4092, 4095, 4100, 4125, 4180, 4185, 4216, 4232, 4250, 4264, 4275, 4332, 4340, 4347, 4350, 4375, 4408, 4420, 4446, 4508, 4524, 4550, 4554, 4563, 4650, 4662, 4692, 4712, 4732, 4750, 4802, 4836, 4851, 4875, 4884, 4940, 4995, 4998, 5032, 5049, 5060, 5070, 5082, 5145, 5166, 5175, 5180, 5202, 5236, 5244, 5324, 5336, 5355, 5382, 5390, 5412, 5445, 5481, 5535, 5550, 5576, 5586, 5624, 5643, 5684, 5704, 5733, 5740, 5742, 5750, 5772, 5775, 5780, 5814, 5852, 5859, 5916, 5950, 5967, 5980, 5985, 6050, 6076, 6125, 6138, 6150, 6188, 6232, 6292, 6324, 6348, 6370, 6375, 6380, 6396, 6435, 6460, 6498, 6525, 6612, 6650, 6669, 6728, 6762, 6786, 6808, 6820, 6825, 6831, 6875, 6916, 6975, 6993, 7038, 7068, 7084, 7098, 7125, 7150, 7192, 7203, 7220, 7245, 7250, 7252, 7254, 7326, 7436, 7497, 7540, 7544, 7546, 7548, 7605, 7623, 7688, 7749, 7750, 7803, 7820, 7866, 7986, 8004, 8036, 8050, 8060, 8073, 8085, 8092, 8118, 8125, 8140, 8228, 8325, 8330, 8364, 8372, 8379, 8415, 8436, 8450, 8470, 8526, 8556, 8575, 8584, 8613, 8625, 8658, 8670, 8721, 8740, 8788, 8874, 8918, 8925, 8932, 9009, 9020, 9044, 9075, 9114, 9135, 9176, 9196, 9207, 9225, 9250, 9310, 9348, 9350, 9405, 9438, 9486, 9512, 9522, 9548, 9555, 9594, 9620, 9625, 9724, 9747, 9765, 9860, 9918, 9945, 9975, 10092, 10108, 10143, 10150, 10168, 10179, 10212, 10250, 10450, 10540, 10556, 10557, 10580, 10602, 10625, 10647, 10660, 10725, 10788, 10830, 10850, 10868, 10875, 10878, 10881, 10948, 10952, 10989, 11020, 11050, 11115, 11132, 11154, 11270, 11284, 11316, 11319, 11322, 11375, 11385, 11396, 11492, 11532, 11625, 11655, 11662, 11780, 11781, 11799, 11830, 11858, 11875, 11979, 12005, 12006, 12054, 12075, 12136, 12138, 12177, 12236, 12342, 12350, 12495, 12546, 12580, 12628, 12650, 12654, 12675, 12705, 12716, 12789, 12834, 12844, 12876, 12915, 12950, 12987, 13005, 13034, 13156, 13167, 13182, 13310, 13311, 13340, 13377, 13448, 13455, 13468, 13475, 13671, 13764, 13794, 13804, 13875, 13923, 13940, 13965, 14014, 14022, 14025, 14036, 14060, 14157, 14210, 14212, 14229, 14260, 14268, 14283, 14350, 14355, 14375, 14391, 14450, 14535, 14756, 14812, 14875, 14877, 14924, 14950, 15004, 15028, 15125, 15138, 15162, 15190, 15225, 15252, 15318, 15345, 15375, 15428, 15548, 15561, 15580, 15675, 15730, 15778, 15870, 15884, 15903, 15925, 15939, 15950, 16150, 16182, 16245, 16275, 16317, 16428, 16492, 16562, 16575, 16588, 16625, 16698, 16731, 16796, 16820, 16905, 16965, 16974, 16983, 17020, 17050, 17204, 17238, 17298, 17493, 17595, 17612, 17732, 17745, 17787, 17875, 17908, 17980, 18009, 18050, 18081, 18125, 18130, 18135, 18204, 18207, 18315, 18326, 18513, 18525, 18590, 18634, 18676, 18772, 18819, 18837, 18850, 18860, 18865, 18975, 18981, 19074, 19220, 19228, 19251, 19266, 19314, 19375, 19425, 19516, 19550, 19551, 19604, 19652, 19665, 19684, 19773, 19844, 19894, 19964, 19965, 20090, 20097, 20125, 20150, 20172, 20230, 20295, 20332, 20349, 20350, 20482, 20570, 20646, 20691, 20825, 20956, 21021, 21033, 21054, 21125, 21164, 21175, 21266, 21315, 21402, 21460, 21483, 21525, 21645, 21658, 21675, 21692, 21812, 21850, 21879, 21964, 21970, 22022, 22185, 22218, 22295, 22425, 22506, 22542, 22550, 22707, 22724, 22743, 22785, 22878, 22940, 22977, 22990, 23125, 23188, 23275, 23276, 23322, 23375, 23452, 23548, 23595, 23667, 23715, 23751, 23780, 23805, 23826, 23828, 23925, 23985, 24050, 24206, 24225, 24244, 24273, 24453, 24548, 24633, 24642, 24650, 24794, 24795, 24843, 25012, 25025, 25047, 25172, 25230, 25270, 25375, 25382, 25389, 25420, 25461, 25575, 25625, 25636, 25641, 25857, 25916, 25947, 26026, 26125, 26350, 26404, 26411, 26450, 26505, 26588, 26650, 26862, 26908, 27075, 27125, 27195, 27306, 27380, 27404, 27436, 27489, 27508, 27531, 27550, 27625, 27676, 27716, 27830, 27885, 27951, 28126, 28158, 28175, 28275, 28305, 28322, 28413, 28611, 28652, 28730, 28798, 28830, 28899, 28971, 29155, 29282, 29302, 29325, 29348, 29406, 29450, 29478, 29575, 29601, 29645, 29716, 29766, 29841, 30015, 30044, 30135, 30225, 30258, 30303, 30340, 30345, 30525, 30628, 30668, 30723, 30758, 30855, 30875, 30932, 30969, 31059, 31213, 31262, 31365, 31372, 31434, 31450, 31581, 31625, 31635, 31654, 31790, 31899, 31977, 32085, 32103, 32110, 32116, 32186, 32375, 32487, 32585, 32708, 32725, 32775, 32946, 32955, 33033, 33201, 33212, 33275, 33292, 33327, 33350, 33418, 33524, 33579, 33620, 33759, 33813, 33825, 34276, 34317, 34485, 34606, 34684, 34713, 34850, 34914, 34983, 35035, 35055, 35090, 35150, 35322, 35378, 35525, 35588, 35650, 35739, 35836, 35875, 35972, 36075, 36125, 36244, 36309, 36556, 36575, 36822, 36946, 36963, 36975, 37004, 37030, 37076, 37107, 37191, 37323, 37375, 37444, 37468, 37510, 37518, 37570, 37791, 37845, 37905, 37975, 38073, 38295, 38318, 38332, 38675, 38709, 38870, 38950, 38962, 39039, 39325, 39445, 39494, 39525, 39556, 39627, 39675, 39710, 39875, 39882, 39886, 39897, 39975, 40052, 40204, 40222, 40293, 40362, 40375, 40455, 40508, 40817, 40898, 40959, 41070, 41154, 41262, 41325, 41405, 41492, 41503, 41574, 41745, 41876, 42021, 42050, 42189, 42237, 42284, 42435, 42476, 42483, 42550, 42625, 42772, 42826, 43095, 43197, 43225, 43245, 43263, 43732, 43911, 43923, 43953, 44109, 44175, 44198, 44217, 44252, 44275, 44289, 44506, 44649, 44764, 44770, 44919, 44950, 44954, 45125, 45254, 45325, 45356, 45387, 45619, 45747, 45815, 46137, 46475, 46585, 46748, 46893, 46930, 47068, 47125, 47138, 47150, 47151, 47175, 47212, 47396, 47481, 47619, 47685, 47804, 48050, 48165, 48279, 48285, 48314, 48334, 48484, 48668, 48807, 48875, 49010, 49036, 49049, 49077, 49126, 49130, 49419, 49610, 49735, 49818, 49972, 50025, 50127, 50225, 50286, 50375, 50430, 50468, 50575, 50578, 50692, 50875, 51129, 51205, 51425, 51615, 51646, 51842, 51909, 52173, 52234, 52275, 52316, 52325, 52371, 52390, 52514, 52598, 52635, 52725, 52767, 52972, 52983, 53067, 53165, 53428, 53475, 53482, 53505, 53613, 53650, 53754, 53958, 53998, 54145, 54188, 54418, 54549, 54625, 54910, 54925, 55055, 55223, 55233, 55419, 55506, 55545, 55594, 55796, 55825, 55924, 56265, 56277, 56355, 56375, 56525, 56637, 57122, 57188, 57195, 57350, 57475, 57477, 57498, 57681, 57722, 57868, 57967, 58190, 58305, 58311, 58425, 58443, 58870, 59204, 59241, 59409, 59450, 59565, 59644, 59675, 59774, 59823, 59829, 60125, 60236, 60306, 60333, 60515, 60543, 60775, 61132, 61226, 61347, 61364, 61370, 61605, 61625, 61642, 61659, 61731, 61828, 61893, 61985, 62271, 62361, 62530, 62678, 62814, 63075, 63175, 63206, 63426, 63455, 63550, 63825, 63916, 64124, 64141, 64158, 64239, 64467, 64676, 65065, 65219, 65348, 65366, 65596, 65598, 65702, 65875, 65975, 66033, 66092, 66125, 66297, 66470, 66625, 66748, 66759, 66861, 67146, 67155, 67270, 67425, 67431, 67599, 67881, 67925, 68265, 68306, 68324, 68425, 68450, 68590, 68614, 68770, 68782, 68875, 68894, 68913, 69003, 69290, 69454, 69575, 69597, 69629, 69874, 69938, 70315, 70395, 70525, 70587, 70602, 70642, 70707, 70725, 70805, 71094, 71188, 71225, 71668, 71687, 71825, 71995, 72075, 72261, 72358, 72471, 72501, 72964, 73002, 73036, 73205, 73255, 73346, 73515, 73593, 73625, 73689, 73695, 73964, 74415, 74431, 74698, 74727, 74907, 74958, 75429, 75645, 75803, 75850, 75867, 76342, 76475, 76874, 76895, 77077, 77121, 77198, 77372, 77469, 77763, 77996, 78039, 78155, 78166, 78292, 78351, 78585, 78625, 78771, 78884, 78897, 78925, 79135, 79475, 80073, 80142, 80223, 80275, 80465, 80475, 80631, 80852, 80937, 80997, 81466, 81548, 81549, 81627, 82225, 82251, 82365, 82418, 82522, 82654, 82708, 83030, 83259, 83375, 83391, 83398, 83421, 83486, 83545, 83810, 84050, 84175, 84249, 84303, 84721, 85514, 85683, 85782, 85918, 86025, 86247, 86275, 86428, 86515, 86583, 86756, 86779, 87125, 87172, 87285, 87362, 87412, 87542, 87725, 87875, 88102, 88305, 88412, 88445, 88806, 88825, 88837, 89001, 89125, 89175, 89590, 89661, 89930, 90117, 90354, 90364, 90459, 91091, 91143, 91234, 91839, 92046, 92055, 92225, 92365, 92414, 92463, 92510, 92575, 93058, 93092, 93275, 93357, 93775, 93795, 93925, 94017, 94178, 94221, 94622, 94809, 95139, 95325, 95571, 95795, 95830, 95874, 96026, 96237, 96278, 96425, 96596, 97006, 97175, 97375, 97405, 97526, 97556, 97682, 98022, 98049, 98394, 98397, 98441, 98494, 98553, 98716, 98735, 99127, 99275, 99567, 99705, 99715, 100510, 100555, 100719, 100793, 100905, 101062, 102051, 102245, 102459, 102487, 102557, 102675, 102885, 102921, 103075, 103155, 103156, 103173, 103246, 103341, 103675, 103935, 104044, 104181, 104284, 104690, 104811, 104907, 104975, 105125, 105154, 105183, 105524, 105710, 105754, 105903, 105963, 106227, 106375, 106641, 106782, 106930, 107065, 107525, 107559, 107653, 107822, 108086, 108537, 109089, 109142, 109174, 109330, 109388, 109417, 109503, 109554, 110019, 110075, 110331, 110495, 110789, 110825, 110946, 111265, 111476, 111910, 111925, 112047, 112375, 112385, 112406, 112437, 112651, 113135, 113553, 113775, 114057, 114308, 114513, 115258, 115292, 115311, 115797, 116058, 116242, 116402, 116522, 116725, 116932, 116963, 117249, 117325, 117334, 117438, 117670, 117711, 117845, 117875, 118490, 119119, 119164, 119187, 119306, 120125, 120175, 120213, 120785, 120802, 120835, 121121, 121670, 121923, 121975, 122018, 122199, 122525, 122815, 122825, 123025, 123627, 123783, 123823, 123981, 124025, 124468, 124545, 124558, 124775, 124930, 125097, 125229, 125426, 125541, 125715, 125829, 125902, 125948, 126075, 126445, 127075, 127426, 127534, 127738, 127756, 128018, 128271, 128673, 128877, 128986, 129115, 129311, 129514, 129605, 130134, 130203, 130585, 130975, 131043, 131118, 131285, 131313, 131495, 132153, 132158, 132275, 132618, 133052, 133133, 133209, 133342, 133570, 133705, 134113, 134125, 134162, 134199, 134385, 134895, 134995, 135014, 135531, 135575, 136045, 136214, 136325, 136367, 136851, 137275, 137547, 137566, 137924, 138069, 138229, 138621, 138765, 138985, 139113, 139564, 139587, 139601, 139638, 140714, 140777, 141267, 141933, 142025, 142228, 142538, 142766, 142805, 142970, 143143, 143375, 143745, 143811, 144039, 144279, 144305, 144417, 144925, 145475, 145509, 145521, 146234, 146289, 146334, 146523, 146566, 146575, 147033, 147175, 147436, 147591, 147706, 147741, 147994, 148010, 148625, 148666, 148707, 148925, 149435, 149702, 149891, 150183, 150590, 150765, 150898, 151294, 151525, 151593, 152218, 152438, 153062, 153065, 153410, 153425, 153729, 154105, 154652, 154693, 154869, 155771, 156066, 156325, 156426, 156674, 156695, 157035, 157325, 157339, 157604, 157731, 158015, 158389, 158565, 158631, 158804, 158875, 159562, 159790, 160173, 160225, 160395, 161161, 161253, 161414, 161733, 161975, 162129, 162578, 163370, 163415, 163713, 163761, 163990, 163995, 164169, 164255, 164331, 164738, 164983, 165025, 165886, 166175, 166419, 166634, 167042, 167214, 167865, 168175, 168609, 168674, 169099, 169169, 169756, 170126, 170338, 170765, 171125, 171275, 171462, 171475, 171535, 171925, 171941, 171955, 172235, 172546, 172822, 172887, 172975, 173225, 173635, 174087, 174097, 174363, 174603, 174685, 174783, 174845, 174902, 175491, 175972, 176001, 176157, 176505, 176605, 177023, 177489, 177735, 177970, 178126, 178334, 178746, 178802, 178959, 179075, 180154, 180761, 180895, 181203, 181447, 181917, 182505, 182590, 182666, 182819, 183027, 183365, 183425, 183483, 183799, 184093, 184382, 184910, 185725, 186093, 186238, 186694, 186702, 186745, 186837, 186998, 187187, 187395, 187775, 188108, 188139, 188518, 188853, 188922, 188993, 189625, 190333, 190463, 190855, 191139, 191301, 191425, 191607, 191634, 191675, 192027, 192185, 192995, 193325, 193430, 193479, 194271, 194463, 194579, 194996, 195201, 195415, 195730, 196075, 196137, 196677, 197098, 197846, 198237, 198927, 199082, 199927, 200013, 200158, 200355, 200725, 201243, 202027, 202521, 202612, 203203, 203319, 203522, 203665, 204321, 204425, 205751, 205942, 206045, 206305, 206349, 206635, 206886, 207214, 207575, 208075, 208444, 208495, 208658, 208715, 209209, 209457, 209525, 210125, 210749, 210826, 211071, 212602, 213342, 213785, 213807, 214149, 214225, 214291, 214455, 214774, 214795, 215747, 215878, 216775, 216890, 217217, 217341, 217558, 217906, 218405, 218530, 218855, 219351, 219373, 219501, 219849, 220255, 221030, 221122, 221221, 221559, 221991, 222015, 222111, 222425, 222999, 223706, 223975, 224516, 224553, 224825, 224939, 225446, 225885, 225998, 226347, 226525, 226941, 228085, 228206, 228327, 228475, 228657, 228718, 228781, 229586, 229593, 229957, 230115, 230318, 231035, 231275, 231725, 231978, 232101, 232562, 232645, 232730, 232934, 233206, 233818, 234025, 234099, 234175, 234639, 235011, 235246, 235445, 235543, 235586, 236406, 236555, 237429, 237614, 238206, 239071, 239343, 239575, 239685, 240065, 240149, 240526, 240695, 240737, 240994, 241129, 242121, 242515, 243089, 243815, 243867, 243890, 244205, 244559, 244783, 245055, 245985, 246123, 246202, 246235, 247107, 247225, 247247, 248788, 248829, 248897, 249067, 249158, 249951, 250325, 250563, 250821, 251275, 252586, 252655, 253011, 253175, 253253, 254634, 255189, 255507, 255626, 256711, 257193, 258115, 258819, 258874, 259233, 259259, 259325, 259407, 259666, 260110, 260642, 260678, 260710, 261326, 261443, 261725, 262353, 262885, 263097, 263302, 264275, 264385, 265475, 265727, 265837, 266955, 267189, 267197, 267325, 267501, 267674, 268119, 268203, 269059, 269555, 270193, 270215, 270231, 270802, 272194, 272855, 272935, 273325, 273581, 273885, 273999, 274022, 274846, 275684, 276573, 276575, 277365, 277574, 278018, 278179, 278369, 278690, 279357, 279775, 280041, 280053, 280497, 281015, 282302, 282777, 283383, 283475, 284053, 284258, 284954, 285131, 285770, 287287, 287451, 287638, 287738, 288145, 288463, 288827, 289289, 290145, 290605, 290966, 291005, 291305, 291893, 292175, 292201, 292494, 293335, 293595, 293854, 294151, 294175, 295075, 295647, 296225, 296769, 296989, 297910, 298265, 298623, 298775, 299299, 299367, 300237, 300713, 302005, 303025, 303646, 303862, 303918, 304175, 304606, 305045, 305283, 305762, 305767, 305942, 306397, 306475, 307582, 308074, 308357, 308913, 309442, 310329, 310821, 311170, 311395, 312325, 312666, 312987, 313565, 314019, 314041, 314171, 314534, 314755, 314870, 315425, 315514, 316239, 316342, 316825, 317471, 318478, 318565, 318734, 318835, 318903, 319319, 319345, 319390, 320013, 320045, 322161, 322465, 323449, 323785, 323817, 324818, 325335, 325622, 325703, 325822, 326337, 326859, 326975, 327795, 328757, 329623, 330395, 331075, 331177, 331298, 331545, 331683, 331731, 333355, 333925, 335405, 335559, 335699, 336091, 336743, 336774, 336973, 337502, 337535, 338169, 338675, 338997, 339031, 339521, 340442, 340535, 341341, 341446, 341734, 341887, 342309, 343077, 343915, 344379, 344729, 344810, 345477, 347282, 347633, 347967, 348725, 348843, 349095, 349401, 349525, 349809, 350727, 350987, 351538, 351785, 352869, 353379, 353717, 354609, 355570, 355946, 356345, 356421, 356915, 357309, 357425, 359414, 359513, 360778, 360789, 361361, 361491, 361675, 362674, 363562, 364021, 364154, 364994, 365585, 365835, 366415, 367114, 368039, 369265, 369303, 369985, 370025, 370139, 371665, 371722, 372775, 373182, 373737, 374255, 375193, 375683, 376475, 377245, 377377, 378235, 378301, 378879, 378917, 380494, 380545, 381095, 381938, 381951, 381997, 382075, 382109, 382655, 383439, 383525, 384307, 384659, 384826, 385526, 386425, 386630, 387686, 388311, 388531, 389499, 390165, 390166, 390963, 391017, 391065, 391534, 391685, 391989, 393421, 394010, 394953, 395937, 397010, 397822, 397969, 398866, 398905, 399475, 400078, 400673, 400775, 401511, 401698, 401882, 402866, 403403, 403535, 404225, 406203, 406334, 406445, 406802, 406847, 407407, 407827, 408291, 408425, 409975, 410669, 410839, 411033, 411845, 412114, 412269, 413075, 413526, 413678, 414715, 415454, 416361, 416585, 417027, 417074, 417175, 417571, 417605, 418035, 419881, 421685, 422807, 423243, 423453, 424390, 424589, 424762, 424879, 425258, 425315, 425546, 425845, 426374, 426387, 427025, 427063, 427431, 428655, 429598, 429913, 430606, 431365, 431457, 431607, 432055, 435638, 435953, 436449, 437255, 438741, 438991, 440657, 440781, 440818, 443989, 444925, 445315, 445835, 445991, 446369, 446865, 447005, 447083, 447146, 447811, 447925, 448063, 450262, 450385, 451451, 453299, 453871, 454138, 454181, 454597, 455469, 455793, 455877, 456025, 456475, 456665, 456909, 458643, 458689, 458913, 458983, 459173, 460955, 461373, 462111, 462275, 462346, 462553, 462722, 464163, 465595, 466697, 466735, 466755, 467495, 468999, 469567, 470327, 471295, 471801, 472305, 472549, 473271, 474513, 474734, 476749, 477158, 477717, 478101, 479085, 480491, 480766, 481481, 481574, 482734, 483575, 484561, 485537, 486098, 486266, 487227, 487475, 487490, 488433, 488733, 489325, 490637, 491878, 492499, 492745, 493025, 494615, 496223, 496947, 497705, 497798, 498883, 499681, 500395, 501787, 502918, 503234, 505161, 505325, 506253, 506530, 507566, 508079, 508277, 508805, 508898, 509675, 510663, 511819, 512006, 512169, 512601, 512746, 512981, 514786, 514855, 516925, 516971, 517215, 517979, 518035, 519622, 520331, 520421, 520923, 521110, 521594, 521645, 523957, 527065, 527307, 528143, 529529, 531505, 532763, 533355, 533533, 533919, 535717, 536393, 536558, 536935, 537251, 539121, 539695, 540175, 541167, 541282, 541717, 542087, 542225, 542659, 543286, 543895, 544011, 544765, 544825, 545054, 545343, 546231, 546325, 547491, 548359, 550671, 551614, 552575, 552805, 555458, 555611, 555814, 555841, 557566, 557583, 558467, 559265, 559682, 559773, 561290, 562438, 563615, 563914, 564775, 564949, 564995, 567853, 568178, 569023, 570515, 570741, 571795, 572242, 572663, 572907, 573562, 573965, 574678, 575795, 576583, 577239, 578289, 578347, 579945, 580601, 581405, 581529, 581647, 581825, 582335, 582958, 583015, 583219, 584545, 584647, 585249, 585599, 587301, 588115, 588965, 590359, 591015, 593021, 593929, 594035, 594146, 594473, 595441, 595515, 596183, 596733, 598299, 600117, 600281, 600457, 600691, 601315, 602485, 602547, 602823, 603725, 603911, 604299, 604877, 605098, 607202, 609501, 609725, 610203, 612157, 613118, 614422, 615043, 615505, 616975, 618171, 618233, 620194, 620289, 620517, 620806, 620977, 621970, 622895, 623162, 623181, 623441, 624169, 625611, 625807, 628694, 630539, 631465, 633919, 634114, 634933, 636585, 637143, 637887, 638319, 639065, 639331, 639561, 640211, 640871, 644397, 644725, 645337, 645909, 647185, 648907, 649078, 649165, 650275, 651605, 651695, 651775, 651833, 653315, 653429, 653457, 654493, 655402, 656183, 656903, 657662, 658255, 659525, 659813, 661227, 662966, 663803, 664411, 665482, 669185, 670719, 671099, 675393, 676286, 677005, 677846, 680485, 680846, 681207, 682486, 683501, 683675, 684574, 685055, 685069, 687115, 687242, 687401, 689210, 689843, 692461, 692714, 693519, 693842, 693935, 694083, 695045, 696725, 696787, 700553, 700843, 701437, 702559, 702658, 704099, 705686, 705755, 708883, 709142, 709423, 709631, 710645, 712101, 712327, 712385, 714425, 715737, 719095, 719345, 720575, 720797, 721149, 722361, 724101, 724594, 725249, 726869, 727415, 729147, 729399, 729554, 730303, 730639, 730825, 731235, 733381, 734635, 734638, 735034, 737426, 737817, 737891, 742577, 743002, 743774, 744107, 744775, 746697, 748867, 749177, 751502, 751709, 754354, 754377, 754851, 755573, 756613, 757393, 758582, 759115, 759655, 759795, 761349, 761453, 761515, 762671, 763347, 764405, 764855, 768009, 768955, 769119, 770185, 772179, 773605, 773927, 774566, 774706, 775489, 777925, 779433, 781665, 782254, 782391, 782971, 783959, 785213, 785519, 785806, 786335, 787175, 788785, 789061, 790855, 790993, 791282, 792281, 793117, 796195, 796835, 798475, 798721, 800513, 803551, 804287, 804837, 806113, 809042, 809627, 811923, 812045, 812383, 813967, 814055, 814555, 814929, 815269, 816221, 817581, 817663, 818363, 818662, 823361, 824182, 824551, 827421, 828134, 828245, 828269, 828971, 829226, 829939, 830297, 830414, 831575, 831649, 832117, 833187, 833721, 836349, 836969, 837199, 838409, 839523, 839914, 841841, 841935, 843479, 843657, 843755, 845871, 850586, 851105, 852267, 853615, 854335, 858363, 858458, 859027, 860343, 861707, 862017, 862025, 866723, 866822, 868205, 870758, 872053, 872275, 873422, 874437, 876826, 877591, 877933, 878845, 884051, 884374, 885391, 886414, 887777, 888925, 889778, 889865, 891219, 893809, 894179, 894691, 896506, 898535, 898909, 900358, 901945, 906059, 906685, 907647, 908831, 908905, 910385, 910803, 912247, 912373, 912485, 914641, 916487, 917662, 917785, 918731, 919677, 921475, 921557, 921633, 924482, 926497, 926782, 927707, 927979, 929305, 930291, 931209, 932955, 933658, 934743, 935693, 936859, 943041, 947546, 947807, 949003, 950521, 951142, 951171, 951235, 952679, 954845, 955451, 959077, 960089, 961961, 962065, 963815, 964894, 966329, 966575, 969215, 971509, 971618, 973063, 973617, 975415, 978835, 979693, 980837, 983103, 983411, 985025, 986493, 988057, 988418, 989417, 990437, 990698, 990847, 992525, 994449, 994555, 994903, 997165, 997339, 997694, 998223, 998963, 1000195, 1004245, 1004663, 1004705, 1005238, 1006733, 1007083, 1007165, 1012894, 1013173, 1014101, 1014429, 1015835, 1016738, 1016769, 1017005, 1018381, 1021269, 1023729, 1024309, 1024426, 1026817, 1026861, 1028489, 1030285, 1030863, 1032226, 1033815, 1034195, 1036849, 1037153, 1038635, 1039071, 1040763, 1042685, 1049191, 1053987, 1056757, 1057978, 1058529, 1058743, 1059022, 1060975, 1061905, 1062761, 1063145, 1063517, 1063713, 1063865, 1065935, 1066121, 1067857, 1070167, 1070558, 1070797, 1072478, 1073995, 1076515, 1076537, 1078259, 1083047, 1083121, 1084039, 1085773, 1085926, 1086891, 1088153, 1089095, 1094331, 1094951, 1095274, 1096381, 1099825, 1100869, 1101957, 1102045, 1102551, 1103414, 1104299, 1105819, 1106139, 1106959, 1107197, 1114366, 1114503, 1114673, 1115569, 1115661, 1117865, 1119371, 1121549, 1121894, 1123343, 1125655, 1127253, 1131531, 1132058, 1132681, 1133407, 1135234, 1135345, 1136863, 1137873, 1139677, 1140377, 1146442, 1147619, 1155865, 1156805, 1157819, 1159171, 1159543, 1161849, 1162059, 1162213, 1169311, 1171001, 1172354, 1173381, 1175675, 1178709, 1181257, 1182446, 1183301, 1186835, 1186923, 1187329, 1191547, 1192895, 1195061, 1196069, 1196506, 1196569, 1198483, 1199266, 1201915, 1203935, 1206835, 1208938, 1209271, 1210547, 1211573, 1213511, 1213526, 1213563, 1213682, 1215245, 1215487, 1215665, 1216171, 1218725, 1225367, 1227993, 1229695, 1230383, 1234838, 1236273, 1239953, 1242201, 1242989, 1243839, 1244495, 1245621, 1245811, 1255133, 1255501, 1257295, 1257949, 1257962, 1258085, 1259871, 1262723, 1263661, 1266325, 1266749, 1267474, 1268915, 1269359, 1272245, 1272467, 1274539, 1275879, 1277479, 1279091, 1280015, 1281137, 1281865, 1281974, 1282633, 1284899, 1285999, 1286965, 1287687, 1292669, 1293853, 1294033, 1295723, 1299055, 1300233, 1301027, 1302775, 1303985, 1306137, 1306877, 1310133, 1310278, 1314542, 1315239, 1316978, 1322893, 1325467, 1326561, 1329621, 1331729, 1334667, 1336783, 1338623, 1339634, 1340003, 1341395, 1344718, 1344759, 1346891, 1349341, 1349834, 1350537, 1351166, 1353205, 1354111, 1354886, 1356277, 1356901, 1358215, 1362635, 1365581, 1368334, 1370369, 1370386, 1372019, 1376493, 1379035, 1381913, 1386723, 1388645, 1389223, 1389535, 1390173, 1392377, 1393915, 1396031, 1399205, 1400273, 1400487, 1403207, 1403225, 1405943, 1406095, 1406587, 1409785, 1410031, 1412327, 1414127, 1414562, 1416389, 1420445, 1421319, 1422169, 1423807, 1426713, 1428163, 1430605, 1431382, 1432417, 1433531, 1433729, 1433905, 1436695, 1437293, 1442399, 1442926, 1446071, 1447341, 1447873, 1448161, 1448402, 1454089, 1457395, 1457427, 1459354, 1459759, 1465399, 1466641, 1468987, 1469194, 1472207, 1482627, 1483339, 1485365, 1486047, 1486667, 1488403, 1489411, 1492309, 1496541, 1497067, 1497238, 1503593, 1507121, 1507857, 1508638, 1511653, 1512118, 1512745, 1514071, 1515839, 1516262, 1518005, 1519341, 1519817, 1524733, 1525107, 1526657, 1529099, 1531309, 1532795, 1533433, 1536055, 1536639, 1542863, 1544491, 1548339, 1550485, 1552015, 1552661, 1554925, 1557905, 1563419, 1565011, 1566461, 1567247, 1571735, 1575917, 1582009, 1582559, 1583023, 1585285, 1586126, 1586899, 1586967, 1588533, 1589483, 1600313, 1602403, 1604986, 1605837, 1608717, 1612682, 1616197, 1616402, 1617122, 1618211, 1619527, 1622695, 1628889, 1629887, 1635622, 1638505, 1639187, 1641809, 1642911, 1644155, 1655121, 1657415, 1657466, 1661569, 1663705, 1670053, 1671241, 1671549, 1675333, 1681691, 1682681, 1682841, 1685509, 1687829, 1689569, 1690715, 1691701, 1692197, 1694173, 1694407, 1694615, 1698087, 1698619, 1701343, 1701931, 1702115, 1702851, 1706215, 1709659, 1711435, 1711463, 1718105, 1719663, 1721573, 1722202, 1723025, 1727878, 1729937, 1731785, 1734605, 1735327, 1739881, 1742293, 1750507, 1751629, 1753037, 1756645, 1758531, 1760213, 1761319, 1764215, 1769261, 1771774, 1772855, 1773593, 1773669, 1776481, 1778498, 1781143, 1786499, 1790921, 1791946, 1792021, 1794611, 1794759, 1798899, 1801751, 1804231, 1804786, 1806091, 1807117, 1811485, 1812446, 1813407, 1818677, 1820289, 1820523, 1822139, 1823885, 1825579, 1826246, 1834963, 1836595, 1837585, 1843565, 1847042, 1847677, 1849243, 1852201, 1852257, 1852462, 1856261, 1857505, 1859435, 1869647, 1870297, 1872431, 1877953, 1878755, 1879537, 1885885, 1886943, 1891279, 1894487, 1896455, 1901211, 1901501, 1907689, 1908386, 1910051, 1916291, 1920983, 1922961, 1924814, 1929254, 1930649, 1933459, 1936415, 1936765, 1939751, 1944103, 1945349, 1951481, 1952194, 1955635, 1956449, 1957703, 1958887, 1964515, 1965417, 1968533, 1971813, 1973699, 1975103, 1975467, 1976777, 1978205, 1979939, 1980218, 1982251, 1984279, 1987453, 1988623, 1994707, 1999283, 1999591, 1999898, 2002481, 2002847, 2007467, 2009451, 2011373, 2017077, 2019127, 2019719, 2022605, 2024751, 2026749, 2032329, 2040353, 2044471, 2046655, 2048449, 2050841, 2052501, 2055579, 2056223, 2060455, 2062306, 2066801, 2070107, 2070335, 2071771, 2073065, 2076035, 2079511, 2092717, 2099785, 2100659, 2111317, 2114698, 2116543, 2117843, 2120393, 2121843, 2125207, 2126465, 2132273, 2132902, 2137822, 2141737, 2145913, 2146145, 2146981, 2147073, 2150477, 2153437, 2155657, 2164389, 2167055, 2167957, 2170679, 2172603, 2172821, 2176895, 2181067, 2183555, 2188021, 2189031, 2192065, 2193763, 2200429, 2203791, 2204534, 2207161, 2209339, 2210351, 2210935, 2212873, 2215457, 2215763, 2216035, 2219399, 2221271, 2224445, 2234837, 2237411, 2238067, 2241265, 2242454, 2245857, 2250895, 2257333, 2262957, 2266627, 2268177, 2271773, 2274393, 2275229, 2284997, 2285258, 2289443, 2293907, 2294155, 2301817, 2302658, 2304323, 2311205, 2313649, 2316955, 2320381, 2329187, 2330038, 2334145, 2336191, 2338919, 2340503, 2343314, 2345057, 2357381, 2359379, 2362789, 2363153, 2363486, 2367001, 2368333, 2368865, 2372461, 2377855, 2379189, 2382961, 2386241, 2388701, 2396009, 2397106, 2399567, 2405347, 2407479, 2412235, 2416193, 2419023, 2422109, 2424499, 2424603, 2425683, 2428447, 2429045, 2442862, 2444923, 2445773, 2453433, 2459303, 2461462, 2466827, 2469901, 2471045, 2473211, 2476441, 2476745, 2481997, 2482597, 2486199, 2494235, 2497759, 2501369, 2501917, 2505919, 2513095, 2519959, 2532235, 2536079, 2541845, 2542903, 2544971, 2551594, 2553439, 2561065, 2571233, 2572619, 2580565, 2580991, 2581934, 2582827, 2583303, 2585843, 2589151, 2591817, 2592629, 2598977, 2600507, 2603209, 2611037, 2612233, 2614447, 2618629, 2618998, 2624369, 2630257, 2631218, 2636953, 2640239, 2641171, 2644213, 2644945, 2647555, 2648657, 2655037, 2657661, 2667747, 2673539, 2674463, 2676395, 2678741, 2681195, 2681869, 2687919, 2688907, 2700451, 2705329, 2707063, 2707179, 2709239, 2710981, 2711471, 2714815, 2718669, 2732561, 2733511, 2737889, 2738185, 2739369, 2750321, 2758535, 2760953, 2764177, 2766049, 2767787, 2769487, 2770563, 2771431, 2778693, 2785915, 2791613, 2792387, 2798939, 2804735, 2816033, 2820103, 2827442, 2830145, 2831323, 2831647, 2838085, 2857921, 2861062, 2862579, 2865317, 2866105, 2868767, 2884637, 2886689, 2887221, 2893757, 2893881, 2898469, 2902291, 2904739, 2906449, 2915674, 2922029, 2926703, 2928291, 2930885, 2937874, 2939699, 2951069, 2951897, 2956115, 2970327, 2977051, 2986159, 2988073, 2991265, 2997383, 2997797, 2998165, 2999847, 3004603, 3005249, 3007693, 3022345, 3022438, 3025541, 3027973, 3033815, 3033877, 3034205, 3047653, 3055019, 3056977, 3066613, 3068891, 3078251, 3082729, 3085771, 3087095, 3090277, 3093409, 3093459, 3095309, 3101527, 3102449, 3114223, 3120469, 3124979, 3130231, 3137771, 3140486, 3144905, 3147331, 3151253, 3154591, 3159637, 3160729, 3168685, 3170366, 3172047, 3192101, 3197207, 3199353, 3204935, 3206269, 3206733, 3211817, 3230882, 3234199, 3235687, 3243737, 3246473, 3255482, 3267803, 3268967, 3271021, 3275695, 3276971, 3286355, 3292445, 3295331, 3299179, 3306801, 3307837, 3308987, 3316411, 3328039, 3328997, 3332849, 3339611, 3346109, 3349085, 3361795, 3363681, 3372149, 3374585, 3377129, 3377543, 3377915, 3379321, 3381487, 3387215, 3390361, 3400663, 3411067, 3414433, 3415997, 3420835, 3424361, 3425965, 3427391, 3427887, 3445403, 3453839, 3453987, 3457817, 3459463, 3467443, 3479998, 3487583, 3487627, 3491929, 3494413, 3495057, 3502969, 3514971, 3516263, 3518333, 3531359, 3536405, 3537193, 3542851, 3545129, 3545229, 3558583, 3569929, 3578455, 3585491, 3595659, 3604711, 3607315, 3607426, 3610477, 3612791, 3614693, 3617141, 3621005, 3624179, 3628411, 3637933, 3646313, 3648385, 3651583, 3655847, 3660151, 3662497, 3664293, 3665441, 3672985, 3683017, 3692193, 3693157, 3702923, 3706577, 3719573, 3728153, 3735407, 3743095, 3744653, 3746953, 3748322, 3753673, 3765157, 3771595, 3779309, 3779831, 3780295, 3789227, 3790655, 3800741, 3809927, 3816131, 3817879, 3827227, 3827391, 3833459, 3856214, 3860173, 3861949, 3864619, 3872901, 3881273, 3900281, 3915083, 3926629, 3928497, 3929941, 3933137, 3946813, 3946827, 3962203, 3965315, 3973319, 3985267, 3993743, 3997418, 4012465, 4012547, 4024823, 4031261, 4031705, 4035239, 4039951, 4040509, 4041005, 4042687, 4042805, 4050553, 4055843, 4081181, 4086511, 4089055, 4090757, 4093379, 4103239, 4121741, 4131833, 4133261, 4138561, 4143665, 4148947, 4153546, 4170751, 4172201, 4180963, 4187771, 4197431, 4219007, 4221811, 4231283, 4241163, 4247341, 4247887, 4260113, 4260883, 4273102, 4274803, 4277489, 4291593, 4302397, 4305505, 4309279, 4314311, 4319695, 4321933, 4325633, 4352051, 4358341, 4373511, 4375681, 4392287, 4395859, 4402867, 4405999, 4406811, 4416787, 4425499, 4429435, 4433549, 4436159, 4446245, 4449731, 4458389, 4459939, 4467073, 4479865, 4486909, 4502641, 4509973, 4511965, 4531115, 4533001, 4533657, 4554737, 4560743, 4565615, 4567277, 4574953, 4585973, 4586959, 4600897, 4602578, 4609423, 4617605, 4617931, 4619527, 4621643, 4631155, 4632959, 4672841, 4678223, 4688719, 4706513, 4709861, 4710729, 4721393, 4721519, 4724419, 4729081, 4739311, 4742101, 4755549, 4757297, 4767521, 4770965, 4775147, 4777721, 4780723, 4789169, 4793269, 4796351, 4803821, 4812035, 4821877, 4822543, 4823135, 4829513, 4834531, 4846323, 4864057, 4871087, 4875277, 4880485, 4883223, 4884763, 4890467, 4893779, 4903301, 4930783, 4936409, 4940377, 4950545, 4950967, 4951969, 4955143, 4999745, 5009837, 5034679, 5035589, 5047141, 5050241, 5069407, 5084651, 5097301, 5100154, 5107739, 5135119, 5142179, 5143333, 5155765, 5161217, 5178013, 5211503, 5219997, 5222587, 5231281, 5240333, 5258773, 5271649, 5276851, 5280233, 5286745, 5292413, 5296877, 5306917, 5316979, 5321303, 5323153, 5332255, 5343161, 5343899, 5344555, 5357183, 5382871, 5389969, 5397691, 5411139, 5436299, 5448839, 5459441, 5487317, 5511335, 5517163, 5528809, 5538101, 5551441, 5570917, 5579977, 5590127, 5592059, 5606135, 5617451, 5621447, 5622483, 5634343, 5635211, 5644387, 5651522, 5656597, 5657407, 5659927, 5677243, 5690267, 5699369, 5713145, 5724677, 5748431, 5756645, 5761691, 5768419, 5783557, 5784321, 5787191, 5801131, 5818879, 5824621, 5825095, 5827289, 5837009, 5841557, 5852327, 5858285, 5888069, 5891843, 5896579, 5897657, 5898629, 5908715, 5920039, 5964803, 5972593, 5975653, 5992765, 5996127, 5998331, 6009133, 6024007, 6024083, 6027707, 6047573, 6068777, 6107155, 6129013, 6153655, 6159049, 6166241, 6170417, 6182423, 6201209, 6224743, 6226319, 6229171, 6230319, 6243787, 6244423, 6247789, 6268121, 6271811, 6298177, 6305431, 6315517, 6316751, 6322079, 6343561, 6378985, 6387767, 6391861, 6409653, 6412009, 6424717, 6439537, 6447947, 6454835, 6464647, 6468037, 6483617, 6485011, 6503453, 6528799, 6534047, 6547495, 6578045, 6580783, 6583811, 6585001, 6591499, 6595963, 6608797, 6649159, 6658769, 6674393, 6675251, 6679351, 6704017, 6709469, 6725897, 6736849, 6752389, 6791609, 6832679, 6876857, 6883643, 6903867, 6918791, 6930763, 6958627, 6971107, 6979061, 6982823, 6999643, 7005547, 7039139, 7048421, 7050857, 7058519, 7065853, 7068605, 7119281, 7132231, 7139269, 7152655, 7166363, 7172191, 7206529, 7218071, 7229981, 7243379, 7289185, 7292311, 7296893, 7344685, 7358377, 7359707, 7367987, 7379021, 7395949, 7401443, 7424087, 7431413, 7434817, 7451873, 7453021, 7464397, 7465157, 7482377, 7517179, 7525837, 7534519, 7537123, 7556095, 7563113, 7620301, 7624109, 7650231, 7653043, 7685899, 7715869, 7777289, 7780091, 7795229, 7800127, 7829729, 7848589, 7851215, 7858097, 7867273, 7872601, 7877647, 7887919, 7888933, 7903283, 7925915, 7936093, 7947563, 7966211, 7979183, 7998403, 8026447, 8054141, 8059303, 8077205, 8080567, 8084707, 8115389, 8138705, 8155133, 8155351, 8176753, 8201599, 8234809, 8238581, 8258753, 8272201, 8297509, 8316649, 8329847, 8332831, 8339441, 8389871, 8401553, 8420933, 8448337, 8452891, 8477283, 8480399, 8516807, 8544523, 8550017, 8553401, 8560357, 8609599, 8615117, 8642273, 8675071, 8699995, 8707621, 8717789, 8723693, 8740667, 8773921, 8782579, 8804429, 8806759, 8827423, 8869751, 8890211, 8894171, 8907509, 8909119, 8930579, 8992813, 8995921, 9001687, 9018565, 9035849, 9036769, 9099743, 9116063, 9166493, 9194653, 9209263, 9230371, 9303983, 9309829, 9370805, 9379019, 9389971, 9411631, 9414613, 9472111, 9478093, 9485801, 9503329, 9523541, 9536099, 9549761, 9613007, 9622493, 9640535, 9649489, 9659011, 9732047, 9744757, 9781739, 9806147, 9828767, 9855703, 9872267, 9896047, 9926323, 9965009, 9968453, 9993545, 10013717, 10044353, 10050791, 10060709, 10083499, 10158731, 10170301, 10188541, 10193761, 10204859, 10232447, 10275973, 10282559, 10309819, 10314971, 10316297, 10354117, 10383865, 10405103, 10432409, 10482433, 10496123, 10506613, 10511293, 10553113, 10578533, 10586477, 10610897, 10631543, 10652251, 10657993, 10682755, 10692677, 10737067, 10754551, 10773529, 10784723, 10891199, 10896779, 10938133, 10991701, 10999439, 11096281, 11137363, 11173607, 11194313, 11231207, 11233237, 11308087, 11342683, 11366807, 11386889, 11393027, 11394187, 11430103, 11473481, 11473589, 11484911, 11506445, 11516531, 11528497, 11529979, 11560237, 11630839, 11647649, 11648281, 11692487, 11730961, 11731109, 11758021, 11780899, 11870599, 11950639, 12005773, 12007943, 12023777, 12041003, 12124937, 12166747, 12178753, 12179993, 12264871, 12311417, 12333497, 12404509, 12447641, 12488149, 12511291, 12540151, 12568919, 12595651, 12625991, 12664619, 12689261, 12713977, 12726523, 12750385, 12774821, 12815209, 12823423, 12836077, 12853003, 12871417, 12888227, 12901781, 12999173, 12999337, 13018667, 13055191, 13119127, 13184083, 13306099, 13404989, 13435741, 13438339, 13482071, 13496749, 13538041, 13590803, 13598129, 13642381, 13707797, 13739417, 13745537, 13759819, 13791559, 13863863, 13895843, 13902787, 13955549, 13957343, 13990963, 14033767, 14088461, 14128805, 14200637, 14223761, 14329471, 14332061, 14365121, 14404489, 14466563, 14471699, 14537411, 14575951, 14638717, 14686963, 14742701, 14854177, 14955857, 14967277, 15060079, 15068197, 15117233, 15145247, 15231541, 15247367, 15320479, 15340681, 15355819, 15362659, 15405791, 15464257, 15523091, 15538409, 15550931, 15581189, 15699857, 15735841, 15745927, 15759439, 15878603, 15881473, 15999503, 16036207, 16109023, 16158307, 16221281, 16267463, 16360919, 16398659, 16414841, 16460893, 16585361, 16593649, 16623409, 16656623, 16782571, 16831853, 16895731, 16976747, 16999133, 17023487, 17102917, 17145467, 17218237, 17272673, 17349337, 17389357, 17437013, 17529601, 17546899, 17596127, 17598389, 17769851, 17850539, 17905151, 17974933, 18129667, 18171487, 18240449, 18285733, 18327913, 18378373, 18457339, 18545843, 18588623, 18596903, 18738539, 18809653, 18812071, 18951881, 18999031, 19060859, 19096181, 19139989, 19424693, 19498411, 19572593, 19591907, 19645847, 19780327, 19805323, 19840843, 19870597, 19918169, 20089631, 20262569, 20309309, 20375401, 20413159, 20452727, 20607379, 20615771, 20755039, 20764327, 20843129, 20922427, 20943073, 21000733, 21001829, 21160633, 21209177, 21240983, 21303313, 21688549, 21709951, 21875251, 21925711, 21946439, 21985799, 22135361, 22186421, 22261483, 22365353, 22450231, 22453117, 22619987, 22772507, 22844503, 22998827, 23207189, 23272297, 23383889, 23437829, 23448269, 23502061, 23716519, 24033257, 24240143, 24319027, 24364093, 24528373, 24584953, 24783229, 24877283, 24880481, 24971929, 24996571, 25054231, 25065391, 25314179, 25352141, 25690723, 25788221, 25983217, 26169397, 26280467, 26480567, 26694131, 26782109, 26795437, 26860699, 26948111, 26998049, 27180089, 27462497, 27566719, 27671597, 27698903, 27775163, 27909803, 27974183, 28050847, 28092913, 28306813, 28713161, 28998521, 29343331, 29579983, 29692241, 29834617, 29903437, 29916757, 30118477, 30259007, 30663121, 30693379, 30927079, 30998419, 31083371, 31860737, 31965743, 32515583, 32777819, 32902213, 33059981, 33136241, 33151001, 33388541, 33530251, 33785551, 33978053, 34170277, 34270547, 34758037, 35305141, 35421499, 35609059, 35691199, 36115589, 36321367, 36459209, 36634033, 36734893, 36998113, 37155143, 37438043, 37864361, 37975471, 38152661, 39121913, 39458687, 39549707, 40019977, 40594469, 40783879, 40997909, 41485399, 42277273, 42599173, 43105703, 43351309, 43724491, 43825351, 44346461, 45192947, 45537047, 45970307, 46847789, 47204489, 47765779, 48037937, 48451463, 48677533, 49140673, 50078671, 50459971, 52307677, 52929647, 53689459, 53939969, 54350669, 55915103, 57962561, 58098991, 58651771, 59771317, 60226417, 61959979, 64379963, 64992503, 66233081, 66737381, 71339959, 73952233, 76840601, 79052387, 81947069, 85147693, 87598591, 94352849, 104553157 }; short values[] = { 166, 322, 165, 310, 164, 2467, 154, 2466, 163, 3325, 321, 162, 3324, 2464, 2401, 161, 2465, 3314, 160, 2461, 159, 2400, 320, 3323, 153, 2457, 6185, 2463, 3303, 2452, 158, 3322, 157, 298, 2460, 2446, 152, 3292, 156, 2398, 3321, 2462, 5965, 155, 6184, 309, 2456, 3320, 2439, 3313, 2395, 2459, 2431, 2335, 2451, 6181, 3319, 3281, 2422, 151, 2391, 2445, 6183, 2399, 2455, 319, 3291, 2412, 5964, 6175, 2386, 3318, 5745, 150, 2450, 6180, 3312, 3317, 297, 6165, 2458, 2438, 5961, 2430, 2380, 142, 2444, 3311, 308, 3316, 318, 286, 149, 6150, 5963, 6174, 3259, 5525, 3315, 2421, 2397, 2454, 5955, 148, 6182, 2373, 3302, 6164, 2437, 5960, 2411, 5744, 2449, 2365, 3310, 5945, 6178, 2429, 6129, 2334, 2394, 2453, 6179, 6101, 147, 141, 3309, 6149, 5741, 2448, 2356, 2443, 3215, 2269, 5930, 2420, 2396, 5954, 3290, 3248, 3280, 2346, 6065, 6172, 2390, 2410, 3308, 317, 146, 6173, 2442, 5944, 3258, 6128, 3270, 2393, 6020, 3301, 6162, 145, 3289, 5735, 2436, 2385, 5958, 2447, 6100, 5909, 2333, 6169, 6163, 2428, 2332, 5881, 5725, 6177, 316, 5929, 3307, 3300, 6159, 144, 2435, 6147, 3204, 285, 3306, 2379, 6064, 2441, 2389, 6148, 2427, 5524, 2329, 2419, 307, 143, 5845, 3288, 5952, 3214, 3257, 2268, 6019, 5710, 5962, 3160, 2440, 6144, 2384, 2409, 5305, 5908, 3269, 5800, 3305, 3287, 6171, 5942, 5521, 3299, 6126, 2418, 5743, 2392, 6155, 5880, 2372, 2434, 5949, 6176, 6127, 6098, 5959, 3304, 2331, 6161, 2364, 2426, 315, 2325, 2408, 3298, 3094, 6099, 2378, 5689, 140, 2433, 6168, 5939, 3286, 6123, 5740, 5927, 306, 5661, 5844, 6140, 2425, 3213, 2320, 130, 6095, 3279, 2328, 6062, 6158, 2355, 5515, 2417, 2388, 6146, 5085, 5304, 2267, 5799, 3297, 6063, 3149, 6170, 6135, 274, 2432, 5953, 5924, 5523, 6017, 3247, 2371, 2345, 5625, 2407, 5505, 2416, 2383, 3285, 2424, 3278, 6018, 5906, 2314, 6059, 5742, 3159, 5935, 6160, 2363, 6119, 5734, 2387, 6143, 5943, 3237, 3284, 296, 5878, 5580, 6167, 2406, 3256, 6091, 3017, 5520, 2324, 6125, 6014, 5957, 6154, 3083, 3296, 6114, 5724, 2382, 314, 5490, 5903, 2415, 6097, 5739, 2377, 139, 6157, 3295, 2354, 5920, 6086, 6145, 5084, 2319, 5738, 2423, 129, 3093, 5928, 2307, 3283, 5875, 5842, 3212, 3277, 6122, 2405, 2266, 6055, 3203, 3246, 313, 2344, 2299, 305, 6139, 5915, 2203, 6108, 3282, 5709, 6094, 2376, 5522, 3158, 5797, 138, 6061, 3255, 3294, 5514, 6010, 6142, 3276, 5951, 6050, 3193, 5303, 5469, 6080, 284, 2414, 2370, 2313, 5839, 4865, 2381, 6134, 262, 5899, 2263, 5733, 6124, 5956, 6016, 6153, 3236, 5441, 5907, 2413, 3254, 2362, 3293, 2290, 5504, 6005, 5732, 5941, 5301, 5871, 2404, 3006, 6096, 5519, 5794, 6058, 2330, 6166, 304, 5879, 6118, 5894, 5948, 5723, 2929, 3092, 3275, 5688, 2403, 2369, 6044, 2280, 5722, 6090, 6121, 2375, 3016, 5866, 137, 3202, 6013, 5737, 6073, 4645, 5660, 6156, 2306, 5405, 2361, 6138, 312, 2353, 6113, 5729, 5938, 3253, 5081, 5489, 6093, 5999, 2265, 5835, 2327, 5926, 6060, 3211, 2830, 2298, 5843, 2259, 6085, 5950, 2374, 5083, 3226, 136, 273, 128, 5888, 5360, 5708, 2402, 4864, 2343, 6133, 5295, 5719, 5513, 5790, 6054, 6015, 5707, 5830, 3192, 5302, 3157, 3274, 5860, 3210, 6037, 5798, 5624, 2352, 3148, 2254, 6141, 5940, 2137, 2202, 2368, 6107, 2262, 311, 5923, 6057, 3268,