#include #include int n, k; unsigned long int number; unsigned long int faktorial(int f) { unsigned long int number = 1; for (int i = 1; i <= f; i++) { number *= i; } return number; } int del() { if (number == 0) return 0; if (number == 1) return 1; int found = 2; for (unsigned long int i = 2; i <= (unsigned long int)(number/2) ; i++) { if ((number % i) == 0) {found++; // printf("%ld %d\n", number, i); } } return found; } int main(void) { while (scanf("%d %d", &n, &k) == 2) { if (k > (int)(n /2)) { k = n-k; } number = 1; for (int i = 1; i <= k ; i++) { number *= n-i+1; } // printf("%d %d %ld\n", n, k, number); number = (unsigned long int)(number / faktorial(k)); // printf("n%d k%d k!%ld %lu\n", n, k, faktorial(k), number); // printf("%d %d %ld: %ld\n", n, k, number, del()); printf("%d\n", del()); } return 0; }