package Week1;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.StringTokenizer;
//杨辉三角 DP
public class E_Combinations {
static int N,M;
static BigInteger C;
public static void main(String[] args) throws Exception{
System.setIn(new FileInputStream("Solution.txt"));
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BigInteger[] dp = new BigInteger[110];
dp[0] = BigInteger.ONE;
for (int i = 1; i <= 100; i++) {
dp[i]=dp[i-1].multiply(BigInteger.valueOf(i));//multiply意思就是dp[i-1]乘以i
}
while(true) {
StringTokenizer st = new StringTokenizer(br.readLine());
N = Integer.parseInt(st.nextToken());
M = Integer.parseInt(st.nextToken());
if(N==0 && M==0) {
break;
}
C = dp[N].divide(dp[M]).divide(dp[N-M]);//divide意思前边数除以后边数dp[N]除以dp[M]
System.out.println(N+" things taken "+M+" at a time is "+C+" exactly.");
}
}
}