#include #include #include #include #include #include #include using namespace std; using ll = long long; constexpr int P = 1000000007; int main() { int n, d, k; cin >> n >> d >> k; int dp[90001] = {}; dp[0] = 1; for (int i = 0; i < n; i++) { ll t = 0; for (int j = k; j >= 0; j--) { if (j == k) { for (int h = max(j - d, 0); h < j; h++) { t += dp[h]; } } else { t -= dp[j]; if (j - d >= 0) t += dp[j - d]; } dp[j] = t % P; if (dp[j] < 0) dp[j] += P; } } cout << dp[k] << endl; return 0; }