A Alice and Bob 博弈论
题目大意
有两堆石子,每次可以从一堆中取走 i i i个从另一堆中取走 k i ki ki个, i > 0 , k > = 0 i>0, k>=0 i>0,k>=0,两个人轮流取,谁不能取谁就输了
解法
打表找出所有必败态,我们知道必败态的前一个状态一定是必胜态,我们把所有必败态的前一个状态都标位1, s g [ i ] [ j ] sg[i][j] sg[i][j]表示第一堆石子还剩 i i i 个第二堆石子还剩 j j j 个时先手所面临的状态,1必胜态,0是必败态
Code
#include <bits/stdc++.h>
#define ll long long
#define qc ios::sync_with_stdio(false); cin.tie(0);cout.tie(0)
#define fi first
#define se second
#define PII pair<int, int>
#define PLL pair<ll, ll>
#define pb push_back
using namespace std;
const int MAXN = 5007;
const int inf = 0x3f3f3f3f;
const ll INF = 0x3f3f3f3f3f3f3f3f;
const ll mod = 1e9 + 7;
inline int read()
{
int x=0,f=1;char ch=getchar();
while (!isdigit(ch)){if (ch=='-') f=-1;ch=getchar();}
while (isdigit(ch)){x=x*10+ch-48;ch=getchar();}
return x*f;
}
int sg[MAXN][MAXN];
int l[2725] = {0, 2, 3, 5, 7, 9, 11, 12, 14, 15, 17, 19, 20, 22, 24, 26, 28, 29, 31, 32, 33, 35, 37, 38, 40, 42, 44, 45, 47, 49, 50, 52, 53, 55, 57, 58, 60, 62, 64, 65, 67, 68, 70, 72, 74, 75, 77, 79, 81, 82, 83, 85, 86, 87, 89, 90, 92, 94, 95, 97, 99, 101, 103, 105, 106, 108, 110, 112, 113, 115, 116, 118, 120, 122, 123, 125, 126, 127, 129, 131, 132, 133, 135, 136, 138, 139, 141, 142, 143, 145, 146, 148, 149, 151, 152, 154, 156, 158, 160, 161, 163, 164, 166, 168, 170, 171, 172, 174, 176, 177, 179, 180, 182, 184, 185, 186, 188, 189, 190, 192, 194, 195, 197, 198, 199, 201, 203, 205, 207, 208, 210, 212, 213, 214, 215, 217, 218, 220, 221, 223, 224, 226, 228, 229, 231, 232, 234, 236, 238, 239, 241, 243, 244, 245, 246, 248, 250, 252, 253, 255, 256, 258, 259, 261, 263, 264, 266, 268, 270, 271, 273, 274, 276, 278, 280, 281, 283, 285, 286, 288, 289, 291, 293, 295, 296, 298, 300, 301, 303, 305, 306, 307, 309, 311, 312, 313, 315, 317, 319, 321, 322, 324, 325, 327, 329, 331, 332, 334, 336, 337, 338, 339, 340, 342, 343, 345, 346, 348, 349, 350, 352, 354, 355, 356, 357, 358, 359, 361, 362, 364, 366, 367, 369, 370, 372, 374, 375, 377, 379, 381, 382, 384, 386, 388, 390, 391, 393, 395, 397, 399, 400, 402, 404, 405, 407, 408, 410, 411, 413, 415, 417, 419, 420, 421, 423, 425, 427, 429, 430, 431, 432, 434, 435, 437, 439, 440, 442, 443, 445, 446, 448, 449, 451, 452, 453, 454, 456, 458, 459, 460, 461, 463, 464, 466, 467, 469, 470, 472, 473, 474, 476, 477, 478, 479, 481, 483, 485, 487, 489, 491, 492, 494, 496, 498, 499, 501, 503, 504, 505, 507, 508, 509, 511, 513, 514, 515, 516, 518, 520, 521, 523, 525, 527, 529, 530, 531, 532, 534, 535, 537, 539, 540, 541, 543, 545, 547, 548, 549, 551, 553, 555, 556, 557, 558, 560, 562, 563, 564, 565, 567, 568, 570, 572, 574, 576, 577, 579, 580, 582, 583, 585, 586, 588, 590, 592, 593, 594, 595, 596, 598, 599, 600, 601, 603, 605, 606, 607, 609, 610, 612, 614, 616, 617, 619, 620, 622, 624, 626, 628, 630, 632, 634, 635, 637, 639, 641, 643, 644, 646, 648, 649, 651, 653, 655, 656, 657, 658, 660, 661, 663, 664, 666, 668, 669, 671, 673, 675, 676, 678, 679, 680, 682, 683, 685, 687, 689, 691, 693, 695, 697, 699, 700, 702, 704, 706, 708, 710, 711, 713, 714, 716, 718, 719, 721, 722, 723, 725, 726, 728, 730, 732, 734, 735, 737, 739, 740, 742, 743, 744, 746, 747, 748, 750, 751, 752, 754, 756, 757, 759, 760, 761, 763, 765, 766, 768, 770, 771, 772, 774, 776, 778, 780, 782, 784, 785, 787, 788, 790, 791, 793, 794, 796, 797, 799, 800, 802, 803, 805, 807, 808, 810, 811, 813, 814, 815, 816, 818, 820, 822, 824, 825, 827, 828, 830, 831, 833, 835, 836, 838, 839, 841, 842, 844, 845, 847, 848, 849, 851, 852, 853, 855, 857, 859, 861, 862, 863, 864, 866, 868, 869, 870, 871, 873, 874, 875, 876, 877, 879, 881, 882, 883, 885, 886, 888, 890, 892, 893, 895, 896, 898, 899, 901, 902, 904, 906, 908, 909, 910, 912, 914, 915, 917, 918, 920, 922, 923, 924, 926, 927, 929, 931, 933, 935, 937, 939, 940, 942, 943, 944, 946, 948, 950, 952, 954, 956, 957, 959, 960, 962, 963, 964, 966, 967, 969, 971, 972, 973, 975, 976, 978, 980, 981, 982, 984, 985, 986, 988, 989, 991, 993, 994, 995, 996, 998, 999, 1000, 1002, 1004, 1005, 1006, 1007, 1009, 1010, 1012, 1013, 1015, 1016, 1017, 1019, 1020, 1022, 1023, 1025, 1027, 1029, 1031, 1032, 1034, 1035, 1036, 1038, 1040, 1042, 1043, 1045, 1046, 1048, 1050, 1051, 1053, 1055, 1057, 1058, 1060, 1061, 1062, 1064, 1065, 1067, 1068, 1069, 1070, 1072, 1074, 1075, 1076, 1078, 1079, 1081, 1082, 1084, 1085, 1087, 1088, 1089, 1090, 1092, 1094, 1096, 1098, 1100, 1102, 1104, 1106, 1107, 1109, 1110, 1112, 1113, 1115, 1116, 1117, 1118, 1120, 1122, 1124, 1125, 1127, 1129, 1130, 1131, 1133, 1134, 1136, 1137, 1139, 1140, 1142, 1143, 1144, 1145, 1147, 1148, 1149, 1150, 1152, 1153, 1155, 1156, 1158, 1159, 1161, 1163, 1164, 1165, 1167, 1169, 1171, 1173, 1174, 1175, 1177, 1178, 1180, 1182, 1183, 1185, 1186, 1188, 1190, 1192, 1194, 1196, 1197, 1199, 1200, 1201, 1202, 1204, 1206, 1208, 1210, 1211, 1212, 1214, 1216, 1217, 1219, 1221, 1223, 1224, 1225, 1227, 1229, 1231, 1233, 1235, 1236, 1237, 1238, 1239, 1241, 1243, 1245, 1247, 1248, 1250, 1251, 1253, 1254, 1256, 1257, 1258, 1260, 1261, 1263, 1264, 1265, 1267, 1268, 1269, 1271, 1272, 1274, 1276, 1278, 1279, 1281, 1283, 1284, 1285, 1287, 1289, 1290, 1292, 1294, 1295, 1297, 1299, 1300, 1301, 1302, 1304, 1305, 1307, 1309, 1310, 1311, 1313, 1314, 1316, 1317, 1319, 1320, 1322, 1324, 1325, 1327, 1329, 1331, 1333, 1334, 1336, 1337, 1339, 1340, 1342, 1343, 1344, 1346, 1348, 1350, 1351, 1352, 1354, 1356, 1357, 1358, 1360, 1361, 1363, 1365, 1366, 1368, 1369, 1370, 1371, 1372, 1374, 1375, 1376, 1378, 1380, 1381, 1383, 1384, 1386, 1387, 1389, 1390, 1392, 1394, 1396, 1397, 1399, 1400, 1402, 1403, 1405, 1407, 1408, 1410, 1412, 1413, 1414, 1416, 1418, 1419, 1420, 1422, 1424, 1425, 1427, 1428, 1430, 1432, 1434, 1436, 1437, 1438, 1440, 1441, 1442, 1443, 1445, 1446, 1448, 1449, 1451, 1453, 1455, 1457, 1458, 1460, 1461, 1463, 1464, 1465, 1467, 1468, 1470, 1472, 1474, 1475, 1477, 1479, 1480, 1481, 1483, 1484, 1486, 1487, 1489, 1490, 1491, 1492, 1494, 1495, 1497, 1499, 1501, 1502, 1504, 1505, 1507, 1508, 1509, 1510, 1512, 1513, 1514, 1516, 1518, 1520, 1521, 1523, 1524, 1525, 1527, 1529, 1531, 1532, 1534, 1536, 1537, 1539, 1541, 1543, 1545, 1546, 1547, 1549, 1550, 1551, 1553, 1554, 1555, 1557, 1559, 1560, 1561, 1563, 1565, 1566, 1568, 1569, 1571, 1573, 1574, 1575, 1577, 1579, 1580, 1581, 1583, 1584, 1586, 1587, 1588, 1589, 1590, 1592, 1594, 1596, 1597, 1599, 1601, 1603, 1604, 1605, 1606, 1608, 1609, 1610, 1611, 1612, 1614, 1616, 1617, 1619, 1621, 1622, 1624, 1625, 1626, 1628, 1630, 1632, 1633, 1635, 1636, 1638, 1640, 1642, 1643, 1645, 1646, 1647, 1648, 1650, 1651, 1653, 1655, 1657, 1659, 1661, 1663, 1664, 1665, 1667, 1668, 1669, 1670, 1672, 1673, 1674, 1676, 1678, 1679, 1681, 1682, 1684, 1686, 1687, 1689, 1690, 1691, 1692, 1694, 1695, 1697, 1698, 1699, 1700, 1701, 1702, 1704, 1706, 1707, 1708, 1710, 1712, 1713, 1715, 1716, 1717, 1719, 1721, 1723, 1724, 1726, 1728, 1729, 1730, 1732, 1734, 1735, 1736, 1738, 1740, 1741, 1743, 1744, 1745, 1746, 1748, 1749, 1751, 1753, 1754, 1756, 1758, 1760, 1761, 1762, 1764, 1765, 1767, 1769, 1771, 1772, 1774, 1776, 1777, 1779, 1780, 1781, 1782, 1784, 1785, 1787, 1789, 1790, 1792, 1794, 1795, 1797, 1798, 1799, 1801, 1802, 1804, 1805, 1807, 1808, 1810, 1811, 1812, 1814, 1816, 1817, 1818, 1820, 1822, 1824, 1825, 1827, 1828, 1830, 1831, 1832, 1834, 1835, 1837, 1838, 1840, 1841, 1842, 1844, 1845, 1847, 1849, 1850, 1852, 1854, 1856, 1857, 1858, 1859, 1861, 1862, 1863, 1865, 1866, 1868, 1869, 1871, 1873, 1875, 1876, 1877, 1878, 1879, 1881, 1882, 1884, 1886, 1888, 1890, 1891, 1893, 1894, 1896, 1897, 1899, 1900, 1901, 1903, 1904, 1906, 1908, 1909, 1911, 1913, 1914, 1916, 1917, 1919, 1921, 1922, 1923, 1925, 1926, 1927, 1929, 1931, 1932, 1933, 1934, 1935, 1937, 1938, 1940, 1941, 1942, 1944, 1947, 1949, 1951, 1952, 1953, 1955, 1956, 1958, 1959, 1961, 1963, 1964, 1966, 1968, 1969, 1970, 1972, 1974, 1975, 1977, 1978, 1980, 1981, 1983, 1985, 1986, 1988, 1989, 1991, 1992, 1994, 1996, 1997, 1999, 2001, 2003, 2004, 2006, 2007, 2009, 2011, 2013, 2015, 2016, 2018, 2020, 2021, 2023, 2025, 2026, 2028, 2029, 2030, 2031, 2033, 2035, 2036, 2038, 2039, 2040, 2042, 2044, 2045, 2047, 2048, 2050, 2051, 2053, 2055, 2056, 2058, 2059, 2061, 2062, 2064, 2066, 2067, 2069, 2070, 2072, 2074, 2076, 2077, 2079, 2080, 2082, 2083, 2084, 2085, 2087, 2088, 2090, 2091, 2092, 2094, 2096, 2098, 2100, 2102, 2103, 2105, 2107, 2109, 2110, 2111, 2113, 2114, 2116, 2118, 2119, 2121, 2122, 2124, 2125, 2126, 2128, 2129, 2131, 2132, 2134, 2137, 2139, 2140, 2142, 2144, 2145, 2147, 2148, 2150, 2151, 2152, 2154, 2155, 2157, 2158, 2160, 2161, 2163, 2165, 2167, 2168, 2170, 2172, 2173, 2174, 2176, 2178, 2179, 2180, 2182, 2184, 2186, 2187, 2189, 2191, 2193, 2194, 2195, 2197, 2198, 2200, 2202, 2203, 2205, 2207, 2208, 2209, 2211, 2212, 2214, 2215, 2217, 2219, 2221, 2222, 2224, 2226, 2227, 2228, 2229, 2230, 2232, 2233, 2234, 2236, 2237, 2239, 2241, 2242, 2244, 2246, 2248, 2249, 2251, 2252, 2253, 2254, 2255, 2256, 2258, 2259, 2260, 2261, 2263, 2265, 2267, 2268, 2270, 2271, 2273, 2274, 2275, 2276, 2279, 2280, 2281, 2283, 2285, 2287, 2288, 2290, 2292, 2293, 2295, 2297, 2298, 2300, 2301, 2302, 2304, 2305, 2306, 2308, 2310, 2312, 2314, 2316, 2317, 2318, 2320, 2321, 2322, 2324, 2326, 2328, 2329, 2331, 2332, 2334, 2335, 2338, 2340, 2341, 2343, 2344, 2345, 2347, 2349, 2350, 2352, 2353, 2354, 2356, 2358, 2360, 2361, 2362, 2364, 2365, 2366, 2368, 2369, 2371, 2372, 2373, 2374, 2375, 2376, 2378, 2379, 2380, 2381, 2383, 2384, 2385, 2387, 2388, 2390, 2392, 2393, 2395, 2397, 2398, 2400, 2402, 2404, 2406, 2408, 2409, 2411, 2413, 2415, 2417, 2419, 2420, 2421, 2423, 2425, 2426, 2427, 2429, 2431, 2433, 2434, 2435, 2437, 2439, 2441, 2442, 2443, 2444, 2446, 2448, 2449, 2451, 2452, 2453, 2455, 2457, 2459, 2461, 2462, 2465, 2467, 2469, 2472, 2473, 2475, 2477, 2478, 2479, 2481, 2482, 2484, 2485, 2487, 2488, 2489, 2490, 2492, 2493, 2495, 2497, 2498, 2499, 2501, 2502, 2504, 2505, 2507, 2508, 2509, 2511, 2513, 2515, 2516, 2518, 2519, 2520, 2521, 2523, 2525, 2527, 2529, 2530, 2532, 2533, 2535, 2537, 2538, 2540, 2541, 2542, 2543, 2544, 2546, 2548, 2549, 2550, 2551, 2553, 2554, 2555, 2556, 2557, 2559, 2560, 2561, 2563, 2564, 2566, 2567, 2569, 2570, 2572, 2574, 2575, 2576, 2578, 2579, 2580, 2581, 2582, 2584, 2585, 2586, 2587, 2590, 2592, 2594, 2595, 2597, 2599, 2600, 2602, 2604, 2606, 2607, 2609, 2611, 2613, 2615, 2616, 2618, 2619, 2620, 2621, 2623, 2625, 2626, 2627, 2629, 2630, 2632, 2634, 2636, 2637, 2638, 2640, 2642, 2644, 2645, 2647, 2649, 2650, 2651, 2652, 2654, 2656, 2657, 2659, 2661, 2663, 2664, 2665, 2667, 2668, 2669, 2671, 2673, 2675, 2677, 2678, 2679, 2680, 2682, 2684, 2687, 2689, 2691, 2693, 2694, 2696, 2698, 2699, 2700, 2702, 2704, 2706, 2707, 2708, 2709, 2711, 2712, 2714, 2715, 2717, 2718, 2720, 2722, 2723, 2725, 2726, 2728, 2729, 2731, 2732, 2733, 2735, 2736, 2737, 2738, 2740, 2741, 2742, 2743, 2745, 2746, 2747, 2749, 2751, 2753, 2754, 2756, 2757, 2758, 2759, 2761, 2763, 2765, 2767, 2768, 2770, 2771, 2773, 2775, 2777, 2778, 2779, 2780, 2782, 2784, 2785, 2787, 2788, 2789, 2791, 2792, 2794, 2795, 2797, 2798, 2800, 2801, 2802, 2804, 2806, 2808, 2809, 2810, 2812, 2813, 2814, 2816, 2818, 2820, 2823, 2825, 2826, 2828, 2829, 2830, 2832, 2834, 2836, 2838, 2839, 2840, 2842, 2843, 2845, 2846, 2848, 2849, 2850, 2852, 2853, 2855, 2856, 2858, 2859, 2860, 2861, 2862, 2864, 2866, 2867, 2869, 2871, 2872, 2873, 2875, 2876, 2878, 2879, 2881, 2882, 2883, 2886, 2889, 2891, 2893, 2895, 2897, 2898, 2899, 2901, 2902, 2904, 2905, 2907, 2909, 2910, 2912, 2914, 2915, 2917, 2919, 2921, 2923, 2924, 2925, 2927, 2929, 2930, 2931, 2933, 2934, 2936, 2938, 2940, 2941, 2943, 2945, 2946, 2948, 2950, 2952, 2953, 2954, 2956, 2957, 2959, 2960, 2962, 2963, 2964, 2966, 2967, 2968, 2970, 2972, 2974, 2976, 2977, 2978, 2979, 2981, 2983, 2985, 2986, 2988, 2989, 2990, 2991, 2993, 2995, 2996, 2997, 2999, 3000, 3001, 3003, 3004, 3006, 3007, 3009, 3010, 3011, 3012, 3014, 3015, 3017, 3019, 3020, 3023, 3024, 3026, 3028, 3029, 3030, 3031, 3032, 3034, 3035, 3036, 3037, 3039, 3041, 3043, 3045, 3046, 3048, 3050, 3051, 3053, 3055, 3057, 3059, 3060, 3061, 3063, 3064, 3066, 3067, 3069, 3072, 3074, 3076, 3078, 3080, 3081, 3082, 3084, 3086, 3087, 3089, 3091, 3092, 3093, 3094, 3096, 3097, 3099, 3101, 3103, 3105, 3106, 3108, 3110, 3112, 3113, 3115, 3116, 3117, 3118, 3119, 3121, 3123, 3125, 3127, 3128, 3130, 3132, 3133, 3136, 3137, 3138, 3140, 3143, 3145, 3147, 3148, 3150, 3152, 3153, 3156, 3158, 3159, 3162, 3163, 3165, 3167, 3168, 3169, 3171, 3172, 3174, 3175, 3177, 3179, 3181, 3182, 3184, 3187, 3189, 3190, 3192, 3193, 3195, 3197, 3199, 3201, 3202, 3204, 3206, 3207, 3209, 3211, 3212, 3213, 3215, 3216, 3217, 3218, 3220, 3221, 3223, 3224, 3225, 3227, 3228, 3229, 3231, 3232, 3234, 3235, 3237, 3239, 3241, 3243, 3244, 3246, 3247, 3249, 3250, 3252, 3254, 3256, 3257, 3258, 3260, 3261, 3264, 3265, 3268, 3269, 3271, 3272, 3273, 3275, 3277, 3278, 3280, 3281, 3283, 3285, 3286, 3287, 3289, 3291, 3293, 3294, 3296, 3297, 3299, 3301, 3302, 3303, 3306, 3308, 3309, 3310, 3312, 3314, 3316, 3317, 3320, 3322, 3323, 3325, 3327, 3329, 3331, 3333, 3334, 3335, 3337, 3338, 3341, 3343, 3345, 3347, 3348, 3349, 3350, 3351, 3354, 3355, 3357, 3358, 3359, 3361, 3364, 3366, 3367, 3368, 3370, 3371, 3372, 3374, 3377, 3379, 3381, 3383, 3384, 3385, 3387, 3389, 3390, 3391, 3393, 3395, 3396, 3398, 3399, 3400, 3402, 3404, 3405, 3407, 3409, 3411, 3412, 3413, 3415, 3417, 3418, 3421, 3422, 3423, 3425, 3427, 3428, 3429, 3430, 3432, 3433, 3435, 3436, 3438, 3440, 3441, 3443, 3446, 3447, 3448, 3449, 3452, 3453, 3454, 3457, 3458, 3459, 3460, 3462, 3463, 3464, 3466, 3467, 3469, 3471, 3473, 3474, 3475, 3477, 3478, 3480, 3482, 3483, 3485, 3486, 3488, 3490, 3491, 3492, 3494, 3495, 3497, 3498, 3500, 3502, 3505, 3506, 3508, 3510, 3512, 3514, 3515, 3517, 3518, 3519, 3521, 3524, 3525, 3527, 3528, 3529, 3531, 3532, 3534, 3536, 3538, 3540, 3542, 3544, 3547, 3549, 3551, 3552, 3554, 3555, 3557, 3558, 3560, 3562, 3565, 3567, 3568, 3569, 3570, 3574, 3576, 3577, 3578, 3580, 3582, 3583, 3584, 3585, 3588, 3589, 3591, 3592, 3594, 3595, 3596, 3598, 3600, 3601, 3603, 3605, 3607, 3609, 3612, 3613, 3614, 3616, 3617, 3619, 3621, 3623, 3625, 3628, 3631, 3633, 3634, 3635, 3637, 3638, 3640, 3642, 3643, 3645, 3647, 3650, 3651, 3654, 3655, 3656, 3658, 3661, 3662, 3663, 3665, 3667, 3669, 3671, 3673, 3675, 3676, 3680, 3681, 3684, 3686, 3689, 3692, 3693, 3698, 3699, 3704, 3705, 3709, 3712, 3714, 3717, 3719, 3720, 3722, 3724, 3726, 3727, 3731, 3733, 3737, 3739, 3742, 3743, 3748, 3750, 3753, 3756, 3759, 3762, 3763, 3767, 3769, 3771, 3772, 3776, 3777, 3781, 3787, 3793, 3795, 3798, 3801, 3809, 3810, 3811, 3814, 3817, 3821, 3822, 3824, 3825, 3832, 3835, 3838, 3841, 3844, 3848, 3852, 3854, 3859, 3862, 3864, 3872, 3877, 3880, 3882, 3886, 3888, 3890, 3896, 3898, 3900, 3907, 3908, 3914, 3916, 3917, 3921, 3923, 3924, 3927, 3932, 3935, 3941, 3944, 3948, 3952, 3955, 3957, 3961, 3965, 3966, 3971, 3974, 3977, 3982, 3991, 3995, 3998, 3999, 4010, 4011, 4012, 4016, 4017, 4018, 4026, 4027, 4030, 4033, 4037, 4038, 4044, 4049, 4051, 4052, 4055, 4057, 4060, 4068, 4070, 4074, 4075, 4079, 4081, 4082, 4089, 4097, 4100, 4103, 4107, 4109, 4111, 4119, 4120, 4121, 4125, 4128, 4135, 4138, 4140, 4141, 4146, 4150, 4151, 4152, 4154, 4160, 4162, 4165, 4169, 4172, 4173, 4176, 4181, 4182, 4184, 4186, 4192, 4195, 4197, 4199, 4209, 4210, 4219, 4222, 4223, 4231, 4234, 4237, 4240, 4243, 4247, 4249, 4253, 4261, 4262, 4263, 4270, 4271, 4272, 4277, 4278, 4288, 4290, 4291, 4296, 4298, 4300, 4302, 4305, 4307, 4310, 4314, 4317, 4319, 4324, 4330, 4336, 4338, 4341, 4343, 4345, 4348, 4356, 4361, 4363, 4372, 4373, 4375, 4383, 4384, 4390, 4395, 4398, 4399, 4416, 4425, 4428, 4429, 4434, 4437, 4438, 4442, 4443, 4446, 4447, 4449, 4452, 4453, 4454, 4466, 4468, 4471, 4473, 4478, 4479, 4487, 4489, 4493, 4495, 4503, 4506, 4507, 4511, 4519, 4522, 4523, 4525, 4526, 4528, 4532, 4539, 4543, 4546, 4547, 4549, 4550, 4552, 4559, 4563, 4567, 4571, 4572, 4578, 4579, 4581, 4586, 4593, 4595, 4599, 4601, 4605, 4608, 4610, 4619, 4621, 4622, 4628, 4631, 4635, 4644, 4650, 4652, 4657, 4660, 4663, 4670, 4674, 4675, 4678, 4681, 4683, 4690, 4691, 4700, 4705, 4706, 4708, 4712, 4717, 4722, 4725, 4732, 4733, 4740, 4742, 4744, 4745, 4751, 4761, 4763, 4765, 4768, 4771, 4772, 4773, 4775, 4778, 4779, 4782, 4786, 4789, 4801, 4803, 4805, 4807, 4809, 4810, 4814, 4815, 4818, 4821, 4832, 4836, 4839, 4845, 4847, 4850, 4856, 4865, 4871, 4876, 4878, 4882, 4888, 4889, 4892, 4897, 4903, 4907, 4914, 4921, 4926, 4928, 4932, 4935, 4939, 4941, 4945, 4948, 4953, 4956, 4959, 4967, 4969, 4972, 4977, 4979, 4992, 5000, 5002, 5004, 5006};
int r[2725] = {0, 3, 2, 7, 5, 12, 15, 9, 20, 11, 22, 33, 14, 17, 32, 35, 58, 40, 38, 24, 19, 26, 53, 31, 29, 52, 75, 60, 65, 70, 62, 42, 37, 68, 79, 28, 45, 50, 87, 47, 86, 55, 49, 92, 99, 44, 101, 57, 174, 118, 110, 113, 67, 64, 123, 116, 72, 129, 127, 126, 74, 77, 136, 199, 146, 145, 83, 166, 85, 246, 90, 82, 161, 160, 89, 164, 97, 95, 94, 309, 182, 177, 198, 103, 180, 156, 239, 190, 186, 108, 106, 203, 195, 340, 197, 232, 139, 218, 122, 120, 229, 125, 112, 215, 286, 228, 224, 81, 350, 133, 298, 138, 132, 253, 236, 143, 268, 259, 142, 241, 256, 149, 152, 135, 105, 266, 148, 281, 274, 264, 271, 322, 317, 278, 168, 289, 158, 327, 280, 315, 172, 301, 171, 163, 332, 154, 307, 185, 372, 141, 192, 391, 325, 313, 115, 306, 321, 305, 184, 339, 194, 565, 189, 346, 359, 208, 201, 188, 375, 210, 521, 207, 358, 214, 221, 205, 370, 362, 170, 379, 217, 456, 367, 390, 386, 179, 432, 226, 415, 252, 248, 234, 131, 464, 411, 245, 223, 213, 408, 250, 212, 501, 244, 220, 435, 702, 231, 454, 545, 489, 449, 255, 151, 496, 446, 445, 261, 558, 467, 176, 461, 590, 577, 532, 479, 276, 263, 478, 285, 494, 527, 293, 520, 283, 238, 509, 270, 505, 288, 639, 553, 470, 296, 485, 295, 243, 518, 474, 511, 487, 483, 588, 601, 531, 530, 319, 568, 312, 537, 303, 586, 557, 541, 529, 525, 580, 560, 719, 624, 570, 300, 549, 329, 574, 603, 600, 683, 556, 345, 343, 614, 338, 871, 651, 620, 334, 291, 772, 671, 596, 352, 661, 311, 666, 349, 610, 384, 761, 632, 395, 760, 691, 361, 357, 660, 400, 388, 399, 337, 726, 635, 364, 342, 673, 646, 324, 653, 649, 377, 788, 648, 374, 397, 776, 716, 664, 658, 393, 369, 273, 740, 423, 366, 421, 407, 405, 356, 893, 855, 413, 752, 735, 420, 723, 336, 825, 800, 434, 697, 382, 711, 443, 419, 348, 427, 1202, 771, 693, 258, 737, 410, 431, 744, 437, 766, 355, 780, 425, 986, 768, 748, 417, 402, 354, 877, 811, 805, 722, 460, 1599, 828, 440, 404, 439, 866, 845, 810, 849, 469, 842, 448, 831, 822, 787, 453, 818, 430, 799, 785, 836, 473, 778, 492, 879, 381, 886, 899, 827, 499, 508, 504, 452, 503, 1046, 918, 876, 516, 481, 463, 870, 515, 466, 989, 929, 459, 498, 985, 857, 912, 904, 896, 1107, 442, 869, 964, 920, 477, 564, 883, 551, 946, 937, 331, 948, 910, 957, 892, 555, 996, 935, 514, 969, 429, 976, 595, 543, 1358, 491, 1010, 917, 924, 1167, 540, 567, 1062, 523, 1036, 1007, 572, 1065, 1000, 585, 982, 944, 539, 1020, 1013, 995, 1854, 476, 472, 991, 1038, 576, 583, 1150, 563, 458, 1017, 513, 634, 579, 1032, 1085, 628, 619, 507, 1082, 1061, 1090, 956, 1029, 1023, 626, 548, 1777, 1072, 594, 1081, 1079, 607, 593, 1118, 1117, 1110, 1040, 622, 1131, 617, 1070, 547, 644, 599, 1098, 616, 1053, 1122, 630, 1201, 1165, 1322, 612, 1241, 606, 1225, 1120, 609, 1190, 1106, 1076, 535, 676, 1145, 1206, 1180, 1130, 1055, 605, 1156, 685, 663, 451, 1384, 1212, 1102, 657, 592, 637, 1194, 1175, 695, 1164, 641, 1192, 1186, 710, 534, 1285, 680, 1227, 643, 2018, 1211, 679, 1208, 1261, 1231, 706, 678, 1245, 1214, 730, 656, 689, 1394, 1269, 732, 1363, 1243, 669, 1274, 1307, 714, 700, 1405, 1268, 1381, 1219, 751, 699, 704, 1265, 1314, 1254, 794, 708, 1311, 1297, 1420, 1295, 687, 1390, 1279, 718, 1337, 1302, 1248, 3859, 721, 1284, 1547, 1348, 750, 1317, 675, 582, 1451, 668, 763, 1378, 1329, 757, 713, 1812, 1372, 747, 1336, 1461, 1400, 1346, 743, 1366, 728, 1361, 756, 1465, 1432, 774, 1419, 754, 1477, 797, 1376, 1292, 796, 1633, 782, 1389, 1371, 742, 765, 816, 1527, 1334, 1387, 655, 1458, 2369, 1331, 833, 864, 1695, 1414, 1408, 791, 739, 1446, 746, 1543, 1521, 1413, 824, 803, 1514, 1492, 853, 1428, 808, 807, 790, 1687, 784, 1499, 1457, 1397, 793, 1468, 1455, 1443, 830, 1425, 875, 1464, 852, 682, 1481, 815, 1606, 1539, 1758, 1484, 814, 813, 848, 835, 1510, 1449, 1626, 1516, 863, 820, 1575, 1509, 1532, 1502, 1537, 1438, 1563, 1470, 1403, 859, 2604, 1674, 1581, 770, 1541, 1536, 1534, 868, 1569, 1529, 1525, 1592, 885, 839, 734, 1561, 1612, 1619, 1491, 882, 2077, 1577, 862, 2623, 1560, 1665, 890, 1611, 851, 888, 881, 1906, 1590, 1653, 1636, 838, 562, 1679, 861, 906, 2455, 902, 874, 915, 1736, 1625, 943, 1640, 1929, 1717, 847, 898, 1617, 909, 1730, 1678, 1651, 1643, 1622, 1580, 844, 927, 914, 1605, 973, 1820, 1746, 1721, 954, 2215, 1799, 1661, 1708, 908, 1769, 1713, 950, 1795, 940, 923, 2004, 1707, 931, 1694, 1692, 967, 1682, 1664, 978, 895, 1882, 1702, 1684, 1027, 1866, 963, 960, 1845, 1756, 1710, 972, 1825, 1765, 933, 1832, 1774, 959, 2810, 952, 1767, 984, 1811, 1754, 841, 2388, 1787, 1729, 994, 1051, 2140, 1043, 1002, 971, 1822, 1785, 1850, 1802, 1782, 1006, 981, 2840, 2288, 1842, 1831, 1888, 1762, 725, 1838, 1012, 926, 1879, 1009, 1884, 1878, 1859, 1035, 999, 2836, 2036, 1025, 993, 1824, 942, 1919, 873, 1904, 1045, 1034, 966, 1863, 922, 1901, 1089, 1978, 1005, 1966, 1144, 939, 1914, 1060, 1877, 2042, 1069, 1058, 1847, 1772, 1019, 962, 1935, 2040, 1100, 2981, 1078, 1837, 1016, 1975, 1953, 1923, 1140, 2051, 1994, 1869, 1096, 2209, 1064, 1949, 1125, 988, 2007, 1094, 1088, 1048, 1947, 1004, 2011, 1104, 1015, 2230, 1092, 1143, 1942, 2205, 1922, 1022, 2031, 1941, 1109, 2134, 1116, 2657, 2026, 2107, 2030, 1174, 1075, 1992, 1964, 1997, 1087, 2098, 1137, 1986, 1970, 2003, 1981, 1134, 1124, 2191, 2088, 1074, 1129, 2096, 1972, 1068, 3303, 2059, 1161, 1042, 1159, 2076, 1136, 1155, 1153, 1139, 1113, 1152, 1067, 2390, 2056, 980, 2421, 2094, 2070, 2129, 2033, 2029, 2116, 3159, 1183, 1169, 1142, 2067, 2050, 2105, 1158, 2001, 2256, 2161, 1133, 1178, 2103, 1239, 1149, 2338, 2180, 2148, 2137, 2100, 2080, 1197, 1163, 2168, 3385, 2085, 598, 2195, 2152, 2142, 1247, 1112, 2329, 2281, 2203, 1188, 1171, 2198, 2176, 1229, 1173, 2184, 1238, 2669, 1217, 1127, 2194, 2145, 3560, 1031, 2302, 1200, 2229, 1221, 2224, 1237, 2954, 2298, 2276, 2255, 2239, 1236, 1199, 2310, 2182, 2217, 1258, 2193, 1283, 1185, 2640, 2366, 2356, 2174, 2293, 2202, 1148, 2347, 1235, 1204, 2271, 1281, 1290, 3335, 1084, 2437, 2237, 2222, 1278, 1276, 1057, 4572, 2297, 2268, 2261, 2234, 1289, 2132, 2287, 1272, 1260, 1301, 2246, 1264, 2607, 2439, 1224, 2341, 1253, 2368, 2322, 2335, 2283, 1327, 1233, 2376, 3235, 2495, 1216, 2427, 2490, 2163, 2362, 2350, 2318, 1251, 3156, 2453, 2254, 2345, 1320, 1300, 1115, 2426, 2317, 1357, 2406, 1305, 1316, 1263, 2538, 1418, 1310, 2381, 802, 2557, 2411, 2385, 1344, 2449, 1340, 1325, 2402, 2358, 2393, 2404, 1267, 2910, 2375, 1257, 3252, 1343, 2516, 2332, 2435, 2420, 2473, 1319, 998, 2365, 3712, 2400, 2398, 1250, 1339, 1380, 1304, 2957, 2469, 2415, 1354, 1309, 2634, 2459, 1430, 1360, 2751, 2523, 1352, 2493, 1299, 1416, 2485, 1342, 2879, 759, 2720, 2551, 2444, 1370, 3273, 2613, 1392, 2513, 1294, 3991, 1442, 2505, 2395, 2830, 2502, 1410, 1369, 1365, 2576, 1287, 1368, 2773, 1356, 2525, 2462, 2743, 2572, 2709, 2511, 2600, 2515, 1396, 2567, 1386, 1196, 4079, 2509, 2564, 2530, 1407, 2592, 2575, 1383, 2708, 1475, 1437, 2550, 2549, 2492, 1223, 4030, 2700, 2665, 2642, 1422, 2597, 2570, 2548, 1480, 1472, 2661, 1460, 1448, 2789, 2689, 1436, 2675, 2647, 2632, 2616, 2931, 2761, 1495, 1402, 2953, 2691, 1505, 1520, 2611, 1434, 2673, 1399, 2986, 1508, 2645, 2738, 1504, 2687, 2546, 2707, 1494, 1441, 2780, 1497, 2704, 1571, 1507, 1271, 3078, 1453, 2682, 1463, 2556, 2729, 2684, 901, 2938, 2702, 2779, 2671, 1487, 3048, 1555, 1490, 1479, 1554, 4593, 1375, 2832, 2627, 1424, 1412, 3121, 2785, 2749, 2668, 1566, 1440, 4805, 2747, 1546, 2733, 1524, 3037, 2759, 2806, 2754, 1565, 2902, 1551, 2816, 2809, 1531, 1177, 2850, 1589, 3254, 3207, 2856, 1597, 2798, 1513, 2956, 2768, 2746, 1550, 1518, 1501, 1588, 2891, 1579, 1568, 1489, 3138, 2864, 2758, 2883, 2804, 1557, 4706, 2788, 2925, 2921, 2899, 2834, 2826, 2778, 1553, 3334, 1704, 1483, 1587, 2882, 1333, 1604, 3811, 1630, 2881, 1586, 3039, 2869, 1603, 2970, 2862, 4055, 2814, 2919, 1574, 1741, 2792, 2943, 1594, 2873, 3020, 2843, 1670, 1616, 2927, 2917, 1584, 1657, 1621, 3478, 2846, 2985, 1512, 1663, 1628, 1601, 3244, 1614, 2915, 1673, 1610, 1474, 3067, 3036, 1445, 3908, 2905, 3024, 1256, 1659, 2946, 3261, 1691, 1642, 3229, 3015, 2997, 1638, 1467, 3064, 2972, 1701, 2960, 1690, 1650, 3061, 3007, 2974, 1712, 3119, 3001, 3148, 3089, 3026, 1751, 1648, 1573, 3110, 3099, 2979, 1700, 3433, 2993, 3046, 1699, 3006, 1681, 3338, 3032, 3004, 1647, 3589, 3097, 1609, 1728, 3031, 1706, 1351, 3172, 3333, 1672, 3057, 1698, 1646, 3193, 3084, 1635, 3460, 3163, 3125, 3130, 1655, 3118, 3425, 3128, 1761, 1745, 3218, 3082, 1724, 3117, 3250, 3012, 1608, 3113, 1805, 3202, 1726, 1583, 3570, 1719, 3396, 3145, 1753, 1676, 3763, 1744, 3519, 3197, 3101, 1669, 1790, 3423, 3217, 1743, 4038, 1814, 1668, 1723, 1050, 3585, 3289, 3247, 3177, 1798, 1732, 3731, 3213, 3106, 1776, 3201, 3169, 1781, 3314, 1324, 1545, 3182, 1792, 1873, 3810, 1818, 1817, 1789, 1794, 1764, 3359, 3190, 1780, 3179, 1830, 3103, 3512, 1808, 1549, 3258, 4507, 1760, 1738, 3393, 3116, 3341, 3225, 1807, 1689, 1716, 3327, 3317, 3302, 1858, 3269, 4240, 1784, 3281, 3232, 1749, 1210, 3351, 1835, 3552, 1891, 3206, 3413, 1828, 3246, 1810, 3299, 3864, 3598, 3287, 3500, 3345, 3286, 1849, 3498, 3297, 3294, 1740, 1927, 1844, 1735, 4154, 3495, 3325, 3384, 1876, 3941, 1871, 3358, 3355, 1909, 1897, 1865, 1900, 1804, 3441, 3381, 3374, 3350, 1841, 1890, 3471, 3368, 1913, 3412, 3379, 3534, 3323, 1771, 3838, 3693, 3544, 3488, 3405, 1989, 1940, 1926, 1925, 1857, 3924, 3395, 3391, 2013, 1779, 3592, 3538, 3241, 3510, 1911, 3502, 1903, 3422, 1938, 1894, 3699, 1917, 1881, 3536, 3467, 3459, 3454, 3377, 3684, 3475, 3343, 3312, 3722, 1916, 3409, 3372, 1937, 3466, 1899, 3558, 1147, 3518, 1715, 3464, 1974, 1862, 4125, 1959, 3628, 3605, 3601, 3525, 1182, 3739, 3418, 2039, 3578, 3508, 1958, 1834, 3667, 3480, 3463, 1667, 1934, 3621, 1983, 1956, 4089, 3671, 3547, 3449, 3367, 3584, 1486, 3569, 1944, 4619, 3506, 1933, 3772, 2048, 1624, 2025, 1977, 1955, 3748, 3720, 3658, 3529, 2009, 2016, 1988, 1952, 1969, 4018, 3614, 3565, 3844, 3638, 1932, 2021, 1999, 3640, 1991, 1921, 1896, 3977, 3619, 4162, 3665, 3643, 3549, 1856, 4815, 3600, 4479, 3635, 3814, 2015, 3852, 3727, 2058, 3759, 3689, 3651, 1985, 3832, 3676, 3647, 1893, 3898, 2092, 2055, 2047, 1840, 3917, 2066, 3719, 3673, 2111, 2062, 1963, 4052, 3698, 3825, 2091, 3974, 3709, 1886, 3705, 4012, 2128, 2023, 1996, 3681, 3890, 2045, 4608, 2119, 1951, 3656, 2165, 3862, 3714, 3957, 2087, 3762, 3733, 3704, 2114, 2064, 3769, 2074, 1313, 3848, 3787, 2158, 2072, 3743, 3854, 3771, 3756, 2126, 4075, 3724, 1875, 2038, 2125, 1374, 3999, 3793, 1350, 4745, 2173, 3888, 2187, 3932, 3886, 2079, 4550, 3824, 3777, 2084, 3955, 3882, 3781, 3776, 2155, 2110, 3809, 3737, 2151, 4390, 4186, 2170, 3907, 3767, 4044, 1852, 2147, 2139, 2113, 3900, 3880, 2102, 4011, 3835, 4782, 3801, 2124, 3995, 2069, 4336, 2212, 3935, 3822, 1797, 3916, 3971, 2200, 2179, 2160, 2122, 4197, 4109, 2121, 2178, 3927, 3872, 1961, 4192, 4135, 3923, 2020, 3841, 3798, 2167, 4152, 2219, 3948, 3944, 4027, 1968, 1645, 2090, 1827, 4138, 2236, 4199, 4160, 3921, 4082, 3896, 3795, 2154, 2233, 2244, 4151, 3982, 3966, 2260, 1427, 3998, 2189, 1980, 4779, 4231, 4121, 4081, 2265, 4074, 3965, 2228, 4363, 4060, 2249, 4302, 2275, 2270, 2242, 4237, 4017, 3952, 2328, 4443, 2227, 4010, 4037, 2172, 4103, 2214, 2253, 4176, 4141, 3914, 2285, 2274, 4107, 4070, 2208, 2061, 2150, 4111, 4051, 4128, 2267, 2028, 4249, 4016, 4097, 3961, 2295, 4700, 4049, 2241, 4330, 2232, 3877, 2207, 4278, 4150, 4057, 3821, 2006, 4263, 4033, 2321, 2301, 4140, 4100, 2252, 4447, 4234, 4219, 4120, 4223, 2280, 2259, 2354, 2417, 4324, 2380, 4449, 2258, 4503, 2331, 4222, 2431, 2324, 2312, 2248, 2044, 4119, 2306, 4173, 2316, 2308, 4429, 4184, 4195, 4146, 2109, 4262, 4210, 2344, 4209, 2251, 4026, 4253, 4169, 1748, 4243, 1559, 4272, 2305, 4182, 4563, 4361, 2384, 4543, 2290, 4683, 4271, 2374, 2413, 4300, 2392, 4395, 4068, 4291, 2409, 4296, 2300, 4247, 2353, 4348, 2383, 2334, 4307, 2465, 2083, 4338, 4261, 4172, 2379, 4314, 4277, 2361, 2320, 4343, 4319, 4992, 4506, 2434, 4495, 4446, 2226, 4425, 2452, 4373, 1734, 4375, 4305, 2561, 4528, 2197, 2472, 2373, 4454, 2326, 1801, 2082, 4471, 4345, 2423, 4610, 2221, 4581, 4290, 4547, 2446, 4549, 4310, 1861, 4356, 4539, 4270, 4165, 2451, 4526, 4341, 2484, 2479, 2372, 4493, 4473, 2489, 4546, 2488, 2475, 4678, 2443, 1523, 4453, 4452, 4442, 4384, 2587, 2387, 4466, 2442, 4288, 4511, 2537, 2499, 2441, 4416, 4298, 2292, 2131, 1686, 4317, 2273, 2433, 2586, 2482, 4663, 4635, 4523, 2521, 2457, 4744, 2508, 4519, 2507, 2408, 4383, 4522, 4525, 2654, 2529, 4650, 4552, 2595, 2520, 2582, 2533, 2519, 4438, 2501, 1596, 4399, 4914, 4622, 2555, 2429, 2554, 2343, 4532, 4468, 4372, 4559, 4434, 2544, 4489, 2594, 4579, 2532, 2467, 4810, 4725, 2626, 4631, 2569, 2360, 2314, 4897, 4691, 4605, 4478, 4398, 2263, 4690, 4601, 4487, 4712, 2518, 4571, 4675, 4670, 4599, 2652, 4567, 4437, 2581, 4803, 4595, 2580, 2304, 4945, 2638, 2609, 2599, 2579, 4578, 2527, 4892, 4856, 2585, 4708, 2186, 2637, 4660, 4628, 4733, 4621, 2543, 4882, 4717, 4674, 4809, 2498, 4681, 2487, 2481, 2566, 4847, 2664, 2630, 2563, 2419, 4836, 4742, 4751, 2606, 2352, 4657, 4763, 2621, 4876, 4761, 2680, 4969, 4722, 2535, 2578, 2560, 4789, 4181, 2542, 2651, 2718, 4773, 2461, 5006, 4850, 4832, 2602, 1632, 4705, 2696, 4941, 4644, 2659, 2340, 4786, 4921, 4740, 2629, 4768, 4979, 4778, 2656, 2371, 4967, 2279, 4928, 2559, 4818, 4772, 4586, 2478, 2723, 2620, 4839, 2619, 4428, 4801, 4889, 4652, 2694, 4939, 4871, 2712, 2644, 4821, 4765, 2618, 4935, 4926, 4807, 2726, 4845, 2699, 2706, 4977, 2717, 4814, 2742, 5002, 2737, 4959, 4907, 2791, 2679, 4972, 4878, 4771, 2715, 2636, 4865, 2650, 2757, 4888, 2741, 4956, 2782, 2584, 4775, 2736, 4948, 2541, 2765, 2574, 2802, 2775, 2771, 1816, 2795, 4903, 2756, 2678, 2590, 2829, 4932, 2732, 2378, 2801, 2867, 2625, 5000, 2818, 2677, 4732, 4953, 2825, 2735, 2800, 2349, 2876, 2808, 2823, 2667, 2861, 2855, 2860, 2813, 2839, 2968, 2941, 2898, 2866, 2397, 2144, 2728, 5004, 3076, 2909, 2853, 2767, 2740, 2895, 2540, 2940, 2698, 2812, 2731, 2820, 975, 2794, 2477, 2930, 3066, 2889, 2859, 2849, 2845, 2784, 2967, 2745, 2886, 2875, 2211, 3030, 2912, 2753, 2964, 2936, 2553, 2929, 2848, 2907, 2504, 2950, 2948, 3011, 2858, 2797, 3055, 2996, 2978, 2914, 2770, 2711, 2977, 1868, 2901, 2983, 2838, 3017, 2893, 2777, 3051, 3010, 2693, 3150, 2952, 1931, 3081, 3019, 2364, 2878, 3060, 3043, 2763, 2157, 3074, 3000, 3187, 3035, 2995, 2828, 1908, 2991, 2966, 2649, 3053, 3087, 3023, 3034, 2924, 3041, 3123, 3094, 2990, 2615, 3045, 2934, 2959, 3086, 3029, 3137, 3072, 2976, 2945, 2497, 2963, 2714, 3280, 3153, 3212, 3127, 3028, 3542, 3165, 3133, 2872, 2933, 3136, 2923, 2962, 3147, 3143, 3093, 3115, 3096, 2989, 3092, 3009, 2448, 3158, 3195, 3050, 3152, 3211, 3140, 3080, 3278, 3175, 3162, 3216, 3069, 3320, 3265, 3189, 3192, 3331, 3181, 3003, 3239, 3204, 3272, 3215, 3337, 3221, 3105, 3063, 2904, 3209, 3285, 3220, 3257, 3199, 3275, 3168, 2999, 3400, 3234, 3237, 3361, 3310, 2871, 3184, 3432, 3387, 3329, 3231, 3607, 3132, 3404, 3453, 3383, 3309, 3014, 3228, 3091, 3108, 3308, 3306, 3249, 3316, 3399, 3256, 3293, 3430, 2725, 3438, 3407, 3291, 3227, 3112, 3224, 2425, 3322, 3357, 3364, 3349, 3366, 3283, 3243, 3398, 3277, 3171, 3296, 3268, 3271, 2852, 3371, 3402, 3167, 3452, 3443, 1697, 3469, 3411, 3264, 3596, 2035, 3458, 3448, 3436, 3429, 2787, 3260, 2663, 3486, 3390, 3483, 3421, 3348, 3568, 3370, 3613, 3521, 3482, 3347, 3447, 3492, 3446, 3301, 3497, 3174, 3435, 3428, 3059, 3562, 2118, 3477, 3440, 3491, 3532, 3417, 3750, 3485, 3577, 3515, 3354, 2842, 3517, 3528, 3524, 3625, 3580, 3663, 3595, 3551, 3686, 3583, 2988, 2897, 3574, 3540, 3609, 3457, 2053, 3634, 3494, 3415, 3645, 2722, 3594, 3623, 3557, 3514, 3603, 3637, 3505, 3555, 3474, 3669, 3617, 3527, 3662, 3490, 3675, 3612, 3473, 3427, 3717, 3655, 3389, 3576, 3633, 3591, 3726, 3631, 3616, 3567, 3462, 3692, 3753, 3680, 3654, 3588, 3531, 3661, 3642, 3582, 3223, 3742, 3650, 3817, 3554};
int n, m;
void solve(){
cin >> n >> m;
for(int i = 0; i < 2725; i++){
if(l[i] == n && r[i] == m){
cout << "Bob\n";
return ;
}
}
cout << "Alice\n";
}
int main()
{
#ifdef ONLINE_JUDGE
#else
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
#endif
qc;
int T;
cin >> T;
// 打表代码
// T = 1;
// for(int i = 0; i < MAXN; i++){
// for(int j = 0; j < MAXN; j++){
// if(sg[i][j] == 0){
// for(int p = 1; p + i < MAXN; p++){
// for(int k = 0; k * p + j < MAXN; k++){
// sg[i+p][j + k * p] = 1;
// }
// }
// for(int p = 1; p + j < MAXN; p++){
// for(int k = 0; k * p + i < MAXN; k++){
// sg[i + k * p][j + p] = 1;
// }
// }
// }
// }
// }
// vector<int> v1, v2;
// int cnt = 0;
// for(int i = 0; i < MAXN; i++)
// for(int j = 0; j < MAXN; j++)
// if(sg[i][j] == 0){
// v1.pb(i);
// v2.pb(j);
// cnt++;
// }
// cout << cnt << endl;
// for(int i : v1)
// cout << i << ", ";
// cout << endl << endl;
// for(int i : v2)
// cout << i << ", ";
// cout << endl;
while(T--){
solve();
}
return 0;
}