#include <iostream>
#include <vector>
using namespace std;
// Using long long to handle values up to 10^17
typedef long long ll;
ll nCr[31][31];
// Precompute combinations using Pascal's Triangle
void precompute() {
for (int i = 0; i <= 30; i++) {
nCr[i][0] = 1; // nC0 is always 1
for (int j = 1; j <= i; j++) {
nCr[i][j] = nCr[i - 1][j - 1] + nCr[i - 1][j];
}
}
}
// Calculate P(n, k) = n! / (n-k)!
ll nPk(int n, int k) {
ll res = 1;
for (int i = 0; i < k; i++) {
res *= (n - i);
}
return res;
}
int main() {
precompute();
int T;
if (!(cin >> T)) return 0;
for (int t = 1; t <= T; t++) {
int n, k;
cin >> n >> k;
ll ans = 0;
// If k > n, it's impossible to place rooks without attacking
if (k <= n) {
ans = nCr[n][k] * nPk(n, k);
}
cout << "Case " << t << ": " << ans << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIFVzaW5nIGxvbmcgbG9uZyB0byBoYW5kbGUgdmFsdWVzIHVwIHRvIDEwXjE3CnR5cGVkZWYgbG9uZyBsb25nIGxsOwoKbGwgbkNyWzMxXVszMV07CgovLyBQcmVjb21wdXRlIGNvbWJpbmF0aW9ucyB1c2luZyBQYXNjYWwncyBUcmlhbmdsZQp2b2lkIHByZWNvbXB1dGUoKSB7CiAgICBmb3IgKGludCBpID0gMDsgaSA8PSAzMDsgaSsrKSB7CiAgICAgICAgbkNyW2ldWzBdID0gMTsgLy8gbkMwIGlzIGFsd2F5cyAxCiAgICAgICAgZm9yIChpbnQgaiA9IDE7IGogPD0gaTsgaisrKSB7CiAgICAgICAgICAgIG5DcltpXVtqXSA9IG5DcltpIC0gMV1baiAtIDFdICsgbkNyW2kgLSAxXVtqXTsKICAgICAgICB9CiAgICB9Cn0KCi8vIENhbGN1bGF0ZSBQKG4sIGspID0gbiEgLyAobi1rKSEKbGwgblBrKGludCBuLCBpbnQgaykgewogICAgbGwgcmVzID0gMTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgazsgaSsrKSB7CiAgICAgICAgcmVzICo9IChuIC0gaSk7CiAgICB9CiAgICByZXR1cm4gcmVzOwp9CgppbnQgbWFpbigpIHsKICAgIHByZWNvbXB1dGUoKTsKICAgIAogICAgaW50IFQ7CiAgICBpZiAoIShjaW4gPj4gVCkpIHJldHVybiAwOwogICAgCiAgICBmb3IgKGludCB0ID0gMTsgdCA8PSBUOyB0KyspIHsKICAgICAgICBpbnQgbiwgazsKICAgICAgICBjaW4gPj4gbiA+PiBrOwogICAgICAgIAogICAgICAgIGxsIGFucyA9IDA7CiAgICAgICAgLy8gSWYgayA+IG4sIGl0J3MgaW1wb3NzaWJsZSB0byBwbGFjZSByb29rcyB3aXRob3V0IGF0dGFja2luZwogICAgICAgIGlmIChrIDw9IG4pIHsKICAgICAgICAgICAgYW5zID0gbkNyW25dW2tdICogblBrKG4sIGspOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBjb3V0IDw8ICJDYXNlICIgPDwgdCA8PCAiOiAiIDw8IGFucyA8PCBlbmRsOwogICAgfQogICAgCiAgICByZXR1cm4gMDsKfQ==