/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
public class Main {
static int mod = 1000000007;
static int tileStackingProblem(int n, int m, int k) {
if(m<0 || n<0)
return 0;
if(n==0)
return 1;
int res = 0;
for(int i=0;i<=k;i++){
res+=tileStackingProblem(n-i,m-1,k);
}
return res;
}
public static void main
(String[] args
) { Scanner in
= new Scanner
(System.
in); int n = in.nextInt();
int m = in.nextInt();
int k = in.nextInt();
int result = tileStackingProblem(n, m, k);
in.close();
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpwdWJsaWMgY2xhc3MgTWFpbiB7CgogICAgc3RhdGljIGludCBtb2QgPSAxMDAwMDAwMDA3OwogICAgCiAgICBzdGF0aWMgaW50IHRpbGVTdGFja2luZ1Byb2JsZW0oaW50IG4sIGludCBtLCBpbnQgaykgewogICAgICAgIGlmKG08MCB8fCBuPDApCiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIGlmKG49PTApCiAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgIGludCByZXMgPSAwOwogICAgICAgIGZvcihpbnQgaT0wO2k8PWs7aSsrKXsKICAgICAgICAgICAgcmVzKz10aWxlU3RhY2tpbmdQcm9ibGVtKG4taSxtLTEsayk7CiAgICAgICAgfQogICAgICAgIHJldHVybiByZXM7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIFNjYW5uZXIgaW4gPSBuZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwogICAgICAgIGludCBuID0gaW4ubmV4dEludCgpOwogICAgICAgIGludCBtID0gaW4ubmV4dEludCgpOwogICAgICAgIGludCBrID0gaW4ubmV4dEludCgpOwogICAgICAgIGludCByZXN1bHQgPSB0aWxlU3RhY2tpbmdQcm9ibGVtKG4sIG0sIGspOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihyZXN1bHQpOwogICAgICAgIGluLmNsb3NlKCk7CiAgICB9Cn0K