#include using namespace std; int main() { int64_t N, L; cin >> N >> L; const int64_t mod = 1000000007; vector dp(N + 1); dp[0] = 1; int64_t S = 1; int64_t count = 1; for(int64_t i = 1; i <= N; i++) { if(count != L) { dp[i] = S; S += dp[i]; S %= mod; count++; } else { dp[i] = S; S += dp[i]; S -= dp[i - L]; S += mod; S %= mod; } } cout << dp[N] << endl; return 0; }