#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;
}
