/*   @JUDGE_ID:   1705PZ   530   C */
#include <stdio.h>
#include <stdlib.h>

long solve(long n,long m){
        long i;
	long *c;
	c = (long *)malloc(sizeof(long) * (m + 1));
        for(i = 0; i <= m; i++)
                c[i] = 1;
        while(n-- > m)
                for (i = 1; i <= m; i++)
                        c[i] += c[i-1];
        i = c[m];
        free(c);
        return i;
	}

int main(){
long n,k;
while(1){
	scanf("%ld %ld",&n,&k);
	if(n == 0 && k == 0)
		break;
	if(2 * k > n)
		printf("%ld\n",solve(n,n - k));
	else
		printf("%ld\n",solve(n,k));
	}
return 0;
}
@END_OF_SOURCE_CODE
