#include using namespace std; int main() { const int64_t mod = 1000000007; int n, d, k; cin >> n >> d >> k; vector> dp(k + 1, vector(n + 1)); dp.at(0).at(0) = 1; for (int i = 1; i <= k; i++) { for (int j = 1; j <= n; j++) { dp.at(i).at(j) += dp.at(i - 1).at(j) + dp.at(i - 1).at(j - 1); if (i - d - 1 >= 0) { dp.at(i).at(j) += mod - dp.at(i - d - 1).at(j - 1); } dp.at(i).at(j) %= mod; } } cout << dp.at(k).at(n) << endl; }