/*   @JUDGE_ID:   1705PZ   530   C */
#include <stdio.h>

long long gcd(long long x, long long y)
{
	while( x && y ) {
		if( x > y ) {
			x %= y;
		} else {
			y %= x;
		}
	}

	return x | y;
}

int main()
{
	long long n, r;
	long long i, g, p, q, p1, q1;

	while(1){
		scanf("%lld %lld", &n, &r);

		if(n == 0 && r == 0) {
			break;
		}

		if( 2 * r > n ) {
			r = n - r;
		}

		for(i = 0, p = 1, q = 1; i < r; i++) {
			p1 = n - i;
			q1 = r - i;

			g = gcd(p1, q1);
			p1 /= g;
			q1 /= g;

			g = gcd(p, q1);
			p /= g;
			q1 /= g;

			g = gcd(q, p1);
			q /= g;
			p1 /= g;

			p *= p1;
			q *= q1;
		}

		printf("%lld\n", p);
	}

	return 0;
}

