#ifndef LOCAL #include using namespace std; #define debug(...) (void(0)) #else #include "algo/debug.h" #endif #include using mint = atcoder::modint1000000007; void solve() { int N, L; cin >> N >> L; vector dp(N + 1); dp[0] = 1; mint sum = 1; for (int i = 1; i <= N; i++) { if (i > L) sum -= dp[i - L - 1]; dp[i] = sum; sum += dp[i]; } cout << dp.back().val() << endl; } int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int tt = 1; // std::cin >> tt; while (tt--) { solve(); } }