#include #include #include static const unsigned divs[432][10] = { { 0, }, { 0, }, { 2 }, { 3 }, { 2,2 }, { 5 }, { 2,3 }, { 7 }, { 2,2,2 }, { 3,3 }, { 2,5 }, { 11 }, { 2,2,3 }, { 13 }, { 2,7 }, { 3,5 }, { 2,2,2,2 }, { 17 }, { 2,3,3 }, { 19 }, { 2,2,5 }, { 3,7 }, { 2,11 }, { 23 }, { 2,2,2,3 }, { 5,5 }, { 2,13 }, { 3,3,3 }, { 2,2,7 }, { 29 }, { 2,3,5 }, { 31 }, { 2,2,2,2,2 }, { 3,11 }, { 2,17 }, { 5,7 }, { 2,2,3,3 }, { 37 }, { 2,19 }, { 3,13 }, { 2,2,2,5 }, { 41 }, { 2,3,7 }, { 43 }, { 2,2,11 }, { 3,3,5 }, { 2,23 }, { 47 }, { 2,2,2,2,3 }, { 7,7 }, { 2,5,5 }, { 3,17 }, { 2,2,13 }, { 53 }, { 2,3,3,3 }, { 5,11 }, { 2,2,2,7 }, { 3,19 }, { 2,29 }, { 59 }, { 2,2,3,5 }, { 61 }, { 2,31 }, { 3,3,7 }, { 2,2,2,2,2,2 }, { 5,13 }, { 2,3,11 }, { 67 }, { 2,2,17 }, { 3,23 }, { 2,5,7 }, { 71 }, { 2,2,2,3,3 }, { 73 }, { 2,37 }, { 3,5,5 }, { 2,2,19 }, { 7,11 }, { 2,3,13 }, { 79 }, { 2,2,2,2,5 }, { 3,3,3,3 }, { 2,41 }, { 83 }, { 2,2,3,7 }, { 5,17 }, { 2,43 }, { 3,29 }, { 2,2,2,11 }, { 89 }, { 2,3,3,5 }, { 7,13 }, { 2,2,23 }, { 3,31 }, { 2,47 }, { 5,19 }, { 2,2,2,2,2,3 }, { 97 }, { 2,7,7 }, { 3,3,11 }, { 2,2,5,5 }, { 101 }, { 2,3,17 }, { 103 }, { 2,2,2,13 }, { 3,5,7 }, { 2,53 }, { 107 }, { 2,2,3,3,3 }, { 109 }, { 2,5,11 }, { 3,37 }, { 2,2,2,2,7 }, { 113 }, { 2,3,19 }, { 5,23 }, { 2,2,29 }, { 3,3,13 }, { 2,59 }, { 7,17 }, { 2,2,2,3,5 }, { 11,11 }, { 2,61 }, { 3,41 }, { 2,2,31 }, { 5,5,5 }, { 2,3,3,7 }, { 127 }, { 2,2,2,2,2,2,2 }, { 3,43 }, { 2,5,13 }, { 131 }, { 2,2,3,11 }, { 7,19 }, { 2,67 }, { 3,3,3,5 }, { 2,2,2,17 }, { 137 }, { 2,3,23 }, { 139 }, { 2,2,5,7 }, { 3,47 }, { 2,71 }, { 11,13 }, { 2,2,2,2,3,3 }, { 5,29 }, { 2,73 }, { 3,7,7 }, { 2,2,37 }, { 149 }, { 2,3,5,5 }, { 151 }, { 2,2,2,19 }, { 3,3,17 }, { 2,7,11 }, { 5,31 }, { 2,2,3,13 }, { 157 }, { 2,79 }, { 3,53 }, { 2,2,2,2,2,5 }, { 7,23 }, { 2,3,3,3,3 }, { 163 }, { 2,2,41 }, { 3,5,11 }, { 2,83 }, { 167 }, { 2,2,2,3,7 }, { 13,13 }, { 2,5,17 }, { 3,3,19 }, { 2,2,43 }, { 173 }, { 2,3,29 }, { 5,5,7 }, { 2,2,2,2,11 }, { 3,59 }, { 2,89 }, { 179 }, { 2,2,3,3,5 }, { 181 }, { 2,7,13 }, { 3,61 }, { 2,2,2,23 }, { 5,37 }, { 2,3,31 }, { 11,17 }, { 2,2,47 }, { 3,3,3,7 }, { 2,5,19 }, { 191 }, { 2,2,2,2,2,2,3 }, { 193 }, { 2,97 }, { 3,5,13 }, { 2,2,7,7 }, { 197 }, { 2,3,3,11 }, { 199 }, { 2,2,2,5,5 }, { 3,67 }, { 2,101 }, { 7,29 }, { 2,2,3,17 }, { 5,41 }, { 2,103 }, { 3,3,23 }, { 2,2,2,2,13 }, { 11,19 }, { 2,3,5,7 }, { 211 }, { 2,2,53 }, { 3,71 }, { 2,107 }, { 5,43 }, { 2,2,2,3,3,3 }, { 7,31 }, { 2,109 }, { 3,73 }, { 2,2,5,11 }, { 13,17 }, { 2,3,37 }, { 223 }, { 2,2,2,2,2,7 }, { 3,3,5,5 }, { 2,113 }, { 227 }, { 2,2,3,19 }, { 229 }, { 2,5,23 }, { 3,7,11 }, { 2,2,2,29 }, { 233 }, { 2,3,3,13 }, { 5,47 }, { 2,2,59 }, { 3,79 }, { 2,7,17 }, { 239 }, { 2,2,2,2,3,5 }, { 241 }, { 2,11,11 }, { 3,3,3,3,3 }, { 2,2,61 }, { 5,7,7 }, { 2,3,41 }, { 13,19 }, { 2,2,2,31 }, { 3,83 }, { 2,5,5,5 }, { 251 }, { 2,2,3,3,7 }, { 11,23 }, { 2,127 }, { 3,5,17 }, { 2,2,2,2,2,2,2,2 }, { 257 }, { 2,3,43 }, { 7,37 }, { 2,2,5,13 }, { 3,3,29 }, { 2,131 }, { 263 }, { 2,2,2,3,11 }, { 5,53 }, { 2,7,19 }, { 3,89 }, { 2,2,67 }, { 269 }, { 2,3,3,3,5 }, { 271 }, { 2,2,2,2,17 }, { 3,7,13 }, { 2,137 }, { 5,5,11 }, { 2,2,3,23 }, { 277 }, { 2,139 }, { 3,3,31 }, { 2,2,2,5,7 }, { 281 }, { 2,3,47 }, { 283 }, { 2,2,71 }, { 3,5,19 }, { 2,11,13 }, { 7,41 }, { 2,2,2,2,2,3,3 }, { 17,17 }, { 2,5,29 }, { 3,97 }, { 2,2,73 }, { 293 }, { 2,3,7,7 }, { 5,59 }, { 2,2,2,37 }, { 3,3,3,11 }, { 2,149 }, { 13,23 }, { 2,2,3,5,5 }, { 7,43 }, { 2,151 }, { 3,101 }, { 2,2,2,2,19 }, { 5,61 }, { 2,3,3,17 }, { 307 }, { 2,2,7,11 }, { 3,103 }, { 2,5,31 }, { 311 }, { 2,2,2,3,13 }, { 313 }, { 2,157 }, { 3,3,5,7 }, { 2,2,79 }, { 317 }, { 2,3,53 }, { 11,29 }, { 2,2,2,2,2,2,5 }, { 3,107 }, { 2,7,23 }, { 17,19 }, { 2,2,3,3,3,3 }, { 5,5,13 }, { 2,163 }, { 3,109 }, { 2,2,2,41 }, { 7,47 }, { 2,3,5,11 }, { 331 }, { 2,2,83 }, { 3,3,37 }, { 2,167 }, { 5,67 }, { 2,2,2,2,3,7 }, { 337 }, { 2,13,13 }, { 3,113 }, { 2,2,5,17 }, { 11,31 }, { 2,3,3,19 }, { 7,7,7 }, { 2,2,2,43 }, { 3,5,23 }, { 2,173 }, { 347 }, { 2,2,3,29 }, { 349 }, { 2,5,5,7 }, { 3,3,3,13 }, { 2,2,2,2,2,11 }, { 353 }, { 2,3,59 }, { 5,71 }, { 2,2,89 }, { 3,7,17 }, { 2,179 }, { 359 }, { 2,2,2,3,3,5 }, { 19,19 }, { 2,181 }, { 3,11,11 }, { 2,2,7,13 }, { 5,73 }, { 2,3,61 }, { 367 }, { 2,2,2,2,23 }, { 3,3,41 }, { 2,5,37 }, { 7,53 }, { 2,2,3,31 }, { 373 }, { 2,11,17 }, { 3,5,5,5 }, { 2,2,2,47 }, { 13,29 }, { 2,3,3,3,7 }, { 379 }, { 2,2,5,19 }, { 3,127 }, { 2,191 }, { 383 }, { 2,2,2,2,2,2,2,3 }, { 5,7,11 }, { 2,193 }, { 3,3,43 }, { 2,2,97 }, { 389 }, { 2,3,5,13 }, { 17,23 }, { 2,2,2,7,7 }, { 3,131 }, { 2,197 }, { 5,79 }, { 2,2,3,3,11 }, { 397 }, { 2,199 }, { 3,7,19 }, { 2,2,2,2,5,5 }, { 401 }, { 2,3,67 }, { 13,31 }, { 2,2,101 }, { 3,3,3,3,5 }, { 2,7,29 }, { 11,37 }, { 2,2,2,3,17 }, { 409 }, { 2,5,41 }, { 3,137 }, { 2,2,103 }, { 7,59 }, { 2,3,3,23 }, { 5,83 }, { 2,2,2,2,2,13 }, { 3,139 }, { 2,11,19 }, { 419 }, { 2,2,3,5,7 }, { 421 }, { 2,211 }, { 3,3,47 }, { 2,2,2,53 }, { 5,5,17 }, { 2,3,71 }, { 7,61 }, { 2,2,107 }, { 3,11,13 }, { 2,5,43 }, { 431 }, }; static unsigned cnts[432]; static void fact (unsigned n, int sign) { while (n > 1) { size_t i; for (i = 0; divs[n][i] != 0; i++) cnts[divs[n][i]] += sign; n--; } } int main (void) { unsigned n, k; while (scanf ("%u%u", &n, &k) == 2) { unsigned long long val; size_t i; memset (cnts, 0, sizeof (cnts)); fact (n, 1); fact (k, -1); fact (n - k, -1); val = 1; for (i = 0; i < sizeof (cnts) / sizeof (*cnts); i++) val *= cnts[i] + 1; printf ("%llu\n", val); } return EXIT_SUCCESS; }