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