#include <bits/stdc++.h>
#define ll long long
using namespace std;
string pl(string a, string b){
int x = a.size(), y = b.size();
int r = 0;
string ans;
for(int i = 0; i < max(x, y); i++){
if(a.size() == b.size()) break;
if(a.size() < b.size()) a = '0' + a;
else b = '0' + b;
}
x = a.size(); y = b.size();
ans = a;
for(int i = x - 1; i >= 0; i--){
int c = ans[i] + b[i] - 2 * (int)'0' + r;
r = c/10;
c %= 10;
ans[i] = char('0' + c);
}
if(r > 0) ans = char('0' + r) + ans;
return ans;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
ll n, d, k;
cin >> n >> d >> k;
n -= (d * k);
if(n < 0) cout << 0;
else{
string c[1003][503];
for(int i = 0; i <= 1000; i++){
for(int j = 0; j <= 500; j++){
if(i < j) c[i][j] = "0";
else if(j == 0 || j == i) c[i][j] = "1";
else c[i][j] = pl(c[i - 1][j], c[i - 1][j - 1]);
}
}
cout << c[n + d - 1][d - 1];
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJpbmcgcGwoc3RyaW5nIGEsIHN0cmluZyBiKXsKICAgIGludCB4ID0gYS5zaXplKCksIHkgPSBiLnNpemUoKTsKICAgIGludCByID0gMDsKICAgIHN0cmluZyBhbnM7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgbWF4KHgsIHkpOyBpKyspewogICAgICAgIGlmKGEuc2l6ZSgpID09IGIuc2l6ZSgpKSBicmVhazsKICAgICAgICBpZihhLnNpemUoKSA8IGIuc2l6ZSgpKSBhID0gJzAnICsgYTsKICAgICAgICBlbHNlIGIgPSAnMCcgKyBiOwogICAgfQogICAgeCA9IGEuc2l6ZSgpOyB5ID0gYi5zaXplKCk7CiAgICBhbnMgPSBhOwogICAgZm9yKGludCBpID0geCAtIDE7IGkgPj0gMDsgaS0tKXsKICAgICAgICBpbnQgYyA9IGFuc1tpXSArIGJbaV0gLSAyICogKGludCknMCcgKyByOwogICAgICAgIHIgPSBjLzEwOwogICAgICAgIGMgJT0gMTA7CiAgICAgICAgYW5zW2ldID0gY2hhcignMCcgKyBjKTsKICAgIH0KICAgIGlmKHIgPiAwKSBhbnMgPSBjaGFyKCcwJyArIHIpICsgYW5zOwogICAgcmV0dXJuIGFuczsKfQppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiAgICBsbCBuLCBkLCBrOwogICAgY2luID4+IG4gPj4gZCA+PiBrOwogICAgbiAtPSAoZCAqIGspOwogICAgaWYobiA8IDApIGNvdXQgPDwgMDsKICAgIGVsc2V7CiAgICAgICAgc3RyaW5nIGNbMTAwM11bNTAzXTsKICAgICAgICBmb3IoaW50IGkgPSAwOyBpIDw9IDEwMDA7IGkrKyl7CiAgICAgICAgICAgIGZvcihpbnQgaiA9IDA7IGogPD0gNTAwOyBqKyspewogICAgICAgICAgICAgICAgaWYoaSA8IGopIGNbaV1bal0gPSAiMCI7CiAgICAgICAgICAgICAgICBlbHNlIGlmKGogPT0gMCB8fCBqID09IGkpIGNbaV1bal0gPSAiMSI7CiAgICAgICAgICAgICAgICBlbHNlIGNbaV1bal0gPSBwbChjW2kgLSAxXVtqXSwgY1tpIC0gMV1baiAtIDFdKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjb3V0IDw8IGNbbiArIGQgLSAxXVtkIC0gMV07CiAgICB9CiAgICByZXR1cm4gMDsKfQo=