#include <cstdio>

typedef unsigned long long LL;

int n, k;
LL fact[21], C[21][21];

//1216451004088320000
//18446744073709551615

int main() {
	fact[0] = 1;
	for (int i = 1; i <= 20; ++i) {
		fact[i] = fact[i-1]*i;
	}
	C[0][0] = 1;
	for (int i = 1; i <= 20; ++i) {
		for (int j = 0; j <= i; ++j) {
			C[i][j] = C[i-1][j-1] + C[i-1][j];
		}
	}
	int T;
	scanf("%d",&T);
//	for (n = 1; n <= 20; ++n) for (k = 1; k <= n; ++k) {
	for (int cas; 3==scanf("%d%d%d",&cas,&n,&k); ) {
		LL ans = 0, tmp;
		if (k == 1) {
			ans = fact[n-1];
		} else {
			for (int i = 0; i <= k-2; ++i) {
//				if (ans + tmp <= ans) throw 0;
				ans += C[k-2][i]*fact[i+1]*fact[n-i-2];
			}
		}
		printf("%d %lld\n", cas, ans);
	}
}
