#include<bits/stdc++.h>
using namespace std;
#define max3(a,b,c) max(max(a,b),c)
#define min3(a,b,c) min(min(a,b),c)
#define PI acos(-1.0)
#define LL long long
#define INF_MAX 2147483647
#define INF_MIN -2147483647
#define MX 1000005
#define MOD 1000000007
int main()
{
//freopen("a.in", "r", stdin);
//freopen("a.out", "w", stdout);
LL n,r,temp1,temp2,res;
while(scanf("%lld%lld",&n,&r))
{
if(n==0 && r==0) break;
temp1=n;
temp2=r;
if(n-r<r) r=n-r;
res=1;
for(int i=1;i<=r;i++)
{
res=res*n;
res=res/i;
n--;
}
printf("%lld things taken %lld at a time is %lld exactly.\n",temp1,temp2,res);
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBtYXgzKGEsYixjKSBtYXgobWF4KGEsYiksYykKI2RlZmluZSBtaW4zKGEsYixjKSBtaW4obWluKGEsYiksYykKI2RlZmluZSBQSSBhY29zKC0xLjApCiNkZWZpbmUgTEwgbG9uZyBsb25nCiNkZWZpbmUgSU5GX01BWCAyMTQ3NDgzNjQ3CiNkZWZpbmUgSU5GX01JTiAtMjE0NzQ4MzY0NwojZGVmaW5lIE1YIDEwMDAwMDUKI2RlZmluZSBNT0QgMTAwMDAwMDAwNwppbnQgbWFpbigpCnsKICAgLy9mcmVvcGVuKCJhLmluIiwgInIiLCBzdGRpbik7CiAgICAvL2ZyZW9wZW4oImEub3V0IiwgInciLCBzdGRvdXQpOwogICAgTEwgbixyLHRlbXAxLHRlbXAyLHJlczsKICAgIHdoaWxlKHNjYW5mKCIlbGxkJWxsZCIsJm4sJnIpKQogICAgewogICAgICAgIGlmKG49PTAgJiYgcj09MCkgYnJlYWs7CiAgICAgICAgdGVtcDE9bjsKICAgICAgICB0ZW1wMj1yOwogICAgICAgIGlmKG4tcjxyKSByPW4tcjsKICAgICAgICByZXM9MTsKICAgICAgICBmb3IoaW50IGk9MTtpPD1yO2krKykKICAgICAgICB7CiAgICAgICAgICAgIHJlcz1yZXMqbjsKICAgICAgICAgICAgcmVzPXJlcy9pOwogICAgICAgICAgICBuLS07CiAgICAgICAgfQogICAgICAgIHByaW50ZigiJWxsZCB0aGluZ3MgdGFrZW4gJWxsZCBhdCBhIHRpbWUgaXMgJWxsZCBleGFjdGx5LlxuIix0ZW1wMSx0ZW1wMixyZXMpOwogICAgfQp9Cg==