#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
// dp[i][j][t]: số tập hợp chọn từ 1..i có j phần tử và tổng = t
int dp[21][11][156] = {0};
dp[0][0][0] = 1;
for (int i = 1; i <= 20; ++i) {
for (int j = 0; j <= 10; ++j) {
for (int t = 0; t <= 155; ++t) {
dp[i][j][t] = dp[i-1][j][t];
if (j > 0 && t >= i)
dp[i][j][t] += dp[i-1][j-1][t - i];
}
}
}
while (true) {
int n, k, s;
cin >> n >> k >> s;
if (n == 0 && k == 0 && s == 0) break;
cout << dp[n][k][s] << "\n";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CgogICAgLy8gZHBbaV1bal1bdF06IHPhu5EgdOG6rXAgaOG7o3AgY2jhu41uIHThu6sgMS4uaSBjw7MgaiBwaOG6p24gdOG7rSB2w6AgdOG7lW5nID0gdAogICAgaW50IGRwWzIxXVsxMV1bMTU2XSA9IHswfTsKICAgIGRwWzBdWzBdWzBdID0gMTsKCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSAyMDsgKytpKSB7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPD0gMTA7ICsraikgewogICAgICAgICAgICBmb3IgKGludCB0ID0gMDsgdCA8PSAxNTU7ICsrdCkgewogICAgICAgICAgICAgICAgZHBbaV1bal1bdF0gPSBkcFtpLTFdW2pdW3RdOwogICAgICAgICAgICAgICAgaWYgKGogPiAwICYmIHQgPj0gaSkKICAgICAgICAgICAgICAgICAgICBkcFtpXVtqXVt0XSArPSBkcFtpLTFdW2otMV1bdCAtIGldOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgaW50IG4sIGssIHM7CiAgICAgICAgY2luID4+IG4gPj4gayA+PiBzOwogICAgICAgIGlmIChuID09IDAgJiYgayA9PSAwICYmIHMgPT0gMCkgYnJlYWs7CiAgICAgICAgY291dCA8PCBkcFtuXVtrXVtzXSA8PCAiXG4iOwogICAgfQoKICAgIHJldHVybiAwOwp9