A Alice and Bob
# include <bits/stdc++.h>
# define inf 0x7fffffff
# define ll long long
# define int long long
# define re int
# define eps 1e-8
# define ls ( p) p<< 1
# define rs ( p) p<< 1 | 1
# define pi acos ( - 1.0 )
# define pb push_back
# define mk make_pair
# define P pair < int , int >
using namespace std;
const int mod= 1e9 + 7 ;
int a[ ] = { 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 , 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 , 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 , 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 } ;
int b[ ] = { 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 , 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 , 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 , 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 } ;
map < P , int > p;
void init ( )
{
for ( re i= 0 ; i< 2719 ; i++ ) p[ mk ( a[ i] , b[ i] ) ] = 1 ;
}
void solve ( )
{
int n, m;
cin>> n>> m;
if ( p[ mk ( n, m) ] ) puts ( "Bob" ) ;
else puts ( "Alice" ) ;
}
signed main ( )
{
int T= 1 ;
init ( ) ;
cin>> T;
for ( int index= 1 ; index<= T; index++ )
{
solve ( ) ;
}
return 0 ;
}
B Ball Dropping
# include <bits/stdc++.h>
# define inf 0x7fffffff
# define ll long long
# define int long long
# define re int
# define eps 1e-8
# define ls ( p) p<< 1
# define rs ( p) p<< 1 | 1
# define pi acos ( - 1.0 )
# define pb push_back
# define mk make_pair
# define P pair < int , int >
using namespace std;
const int mod= 1e9 + 7 ;
void solve ( )
{
double r, a, b, h;
cin>> r>> a>> b>> h;
if ( 2 * r< b) {
cout<< "Drop" << endl;
return ;
}
cout<< "Stuck" << endl;
printf ( "%.7lf" , r* sqrt ( h* h* 4 / ( a- b) / ( a- b) + 1 ) - b* h/ ( a- b) ) ;
}
signed main ( )
{
int T= 1 ;
ios:: sync_with_stdio ( false ) ;
for ( int index= 1 ; index<= T; index++ )
{
solve ( ) ;
}
return 0 ;
}
D Determine the Photo Position
# include <bits/stdc++.h>
# define inf 0x7fffffff
# define ll long long
# define int long long
# define re int
# define eps 1e-8
# define ls ( p) p<< 1
# define rs ( p) p<< 1 | 1
# define pi acos ( - 1.0 )
# define pb push_back
# define mk make_pair
# define P pair < int , int >
using namespace std;
const int mod= 1e9 + 7 ;
const int M= 1e8 ;
const int N= 1e5 + 5 ;
int a[ 2005 ] [ 2005 ] , b[ N] , sum[ N] ;
int n, m;
int ans;
void solve ( )
{
cin>> n>> m;
for ( re i= 1 ; i<= n; i++ ) for ( re j= 1 ; j<= n; j++ ) scanf ( "%1lld" , & a[ i] [ j] ) ;
for ( re j= 1 ; j<= m; j++ ) scanf ( "%1lld" , & b[ j] ) ;
for ( re i= 1 ; i<= n; i++ )
{
sum[ 0 ] = 0 ;
for ( re j= 1 ; j<= n; j++ ) sum[ j] = sum[ j- 1 ] + a[ i] [ j] ;
for ( re j= 1 ; j+ m- 1 <= n; j++ ) if ( ! a[ i] [ j] && ! a[ i] [ j+ m- 1 ] && sum[ j] == sum[ j+ m- 1 ] ) ans++ ;
}
cout<< ans<< endl;
}
signed main ( )
{
int T= 1 ;
for ( int index= 1 ; index<= T; index++ )
{
solve ( ) ;
}
return 0 ;
}
F Find 3-friendly Integers
# include <bits/stdc++.h>
# define inf 0x7fffffff
# define ll long long
# define int long long
# define re int
# define eps 1e-8
# define ls ( p) p<< 1
# define rs ( p) p<< 1 | 1
# define pi acos ( - 1.0 )
# define pb push_back
# define mk make_pair
# define P pair < int , int >
using namespace std;
const int mod= 1e9 + 7 ;
const int M= 1e8 ;
const int N= 5e6 + 5 ;
int a[ N] , n, sum[ N] ;
int b[ N] , s[ N] ;
int divide ( int x)
{
n= 0 ;
while ( x)
{
a[ ++ n] = x% 10 ;
x/= 10 ;
}
for ( re i= 1 ; i<= n; i++ ) sum[ i] = sum[ i- 1 ] + a[ i] ;
for ( re i= 1 ; i<= n; i++ ) for ( re j= i; j<= n; j++ ) if ( ( sum[ j] - sum[ i- 1 ] ) % 3 == 0 ) return 1 ;
return 0 ;
}
void init ( )
{
for ( re i= 1 ; i<= 2e5 ; i++ ) b[ i] = divide ( i) , s[ i] = s[ i- 1 ] + b[ i] ;
}
void solve ( )
{
int l, r;
cin>> l>> r;
if ( l> 2e2 && r> 2e2 ) cout<< r- l+ 1 << endl;
else if ( l<= 2e2 && r> 2e2 ) cout<< r- 200 + s[ 200 ] - s[ l- 1 ] << endl;
else cout<< s[ r] - s[ l- 1 ] << endl;
}
signed main ( )
{
init ( ) ;
int T= 1 ;
cin>> T;
for ( int index= 1 ; index<= T; index++ )
{
solve ( ) ;
}
return 0 ;
}
G Game of Swapping Numbers
# include <bits/stdc++.h>
# define inf 0x7fffffff
# define ll long long
# define int long long
# define re int
# define eps 1e-8
# define ls ( p) p<< 1
# define rs ( p) p<< 1 | 1
# define pi acos ( - 1.0 )
# define pb push_back
# define mk make_pair
# define P pair < int , int >
using namespace std;
const int mod= 1e9 + 7 ;
const int M= 1e8 ;
const int N= 5e6 + 5 ;
int n, k;
int a[ N] , b[ N] ;
int d[ N] , c[ N] ;
int ans;
void solve ( )
{
cin>> n>> k;
for ( re i= 1 ; i<= n; i++ ) scanf ( "%lld" , & a[ i] ) ;
for ( re i= 1 ; i<= n; i++ ) scanf ( "%lld" , & b[ i] ) ;
if ( n== 2 )
{
if ( k& 1 ) swap ( a[ 1 ] , a[ 2 ] ) ;
for ( re i= 1 ; i<= n; i++ ) ans+= abs ( a[ i] - b[ i] ) ;
}
else
{
for ( re i= 1 ; i<= n; i++ ) d[ i] = - 2 * max ( a[ i] , b[ i] ) , c[ i] = 2 * min ( a[ i] , b[ i] ) , ans+= abs ( a[ i] - b[ i] ) ;
sort ( d+ 1 , d+ n+ 1 ) ; sort ( c+ 1 , c+ n+ 1 ) ;
for ( re i= n; i>= max ( n- k+ 1 , ( int ) 1 ) && c[ i] + d[ i] > 0 ; i-- ) ans+= ( d[ i] + c[ i] ) ;
}
cout<< ans<< endl;
}
signed main ( )
{
int T= 1 ;
for ( int index= 1 ; index<= T; index++ )
{
solve ( ) ;
}
return 0 ;
}
K Knowledge Test about Match
# pragma GCC optimize ( 2 )
# pragma GCC optimize ( 3 , "Ofast" , "inline" )
# include <bits/stdc++.h>
# define inf 0x7fffffff
# define int long long
# define re int
# define void inline void
# define eps 1e-8
# define ls ( p) p<< 1
# define rs ( p) p<< 1 | 1
# define pi acos ( - 1.0 )
# define pb push_back
# define P pair < int , int >
# define mk make_pair
using namespace std;
const int mod= 1e9 + 7 ;
const int M= 1e8 + 5 ;
const int N= 5e5 + 5 ;
int a[ N] ;
double b[ N] ;
int n;
void init ( )
{
for ( re i= 1 ; i< N; i++ ) b[ i] = sqrt ( i* 1.0 ) ;
}
void solve ( )
{
cin>> n;
for ( re i= 0 ; i< n; i++ ) scanf ( "%lld" , & a[ i] ) ;
for ( re k= 1 ; k<= 5 ; k++ ) for ( re i= 0 ; i< n; i++ ) for ( re j= i+ 1 ; j< n; j++ ) if ( b[ abs ( i- a[ i] ) ] + b[ abs ( j- a[ j] ) ] > b[ abs ( j- a[ i] ) ] + b[ abs ( i- a[ j] ) ] ) swap ( a[ i] , a[ j] ) ;
for ( re i= 0 ; i< n; i++ ) printf ( "%lld " , a[ i] ) ; puts ( "" ) ;
}
signed main ( )
{
init ( ) ;
int T= 1 ;
cin>> T;
for ( int index= 1 ; index<= T; index++ )
{
solve ( ) ;
}
return 0 ;
}