#include #include using namespace std; using namespace atcoder; using mint = modint1000000007; int main(){ int N, L; cin >> N >> L; vectordp(N+1, 0); dp[0] = 1; for(int i=1;i<=N;i++){ dp[i] = 2 * dp[i-1]; if(i > L) dp[i] -= dp[i-1-L]; } cout << (dp[N] - dp[N-1]).val() << endl; return 0; }