#include #include #include #define MAX 431 int n,k; int divis[MAX+5]; int primes[MAX+1]; int primes_len; void f(int num,int delta) { int i=0; while (num>1) { while ((num%primes[i]) == 0) { divis[primes[i]]+=delta; num/=primes[i]; } i++; } } int main(void) { primes[0]=2; primes_len=1; int p=3; while (p<=MAX) { int i; for (i=0;i=primes_len) primes[primes_len++]=p; p+=2; } while (n=-1, scanf("%d %d",&n, &k), n!=-1) { memset(divis,0,sizeof(divis)); if (k>n/2) k=n-k; for (int i=n;i>=n-k+1;i--) f(i,1); for (int i=1;i<=k;i++) f(i,-1); unsigned long long sum=1; for (int i=0;i