#include <iostream>
using namespace std;
const int MOD = 1e9 + 7;
const int MAXN = 1e5 + 5;
int dp[MAXN];
int main() {
int n, k;
cin >> n >> k;
dp[1] = 1;
for (int i = 2; i <= n; i++) {
for (int j = 1; j <= k && i - j >= 1; j++) {
dp[i] = (dp[i] + dp[i - j]) % MOD;
}
}
cout << dp[n] << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IE1PRCA9IDFlOSArIDc7CmNvbnN0IGludCBNQVhOID0gMWU1ICsgNTsKCmludCBkcFtNQVhOXTsKCmludCBtYWluKCkgewogICAgaW50IG4sIGs7CiAgICBjaW4gPj4gbiA+PiBrOwoKICAgIGRwWzFdID0gMTsKCiAgICBmb3IgKGludCBpID0gMjsgaSA8PSBuOyBpKyspIHsKICAgICAgICBmb3IgKGludCBqID0gMTsgaiA8PSBrICYmIGkgLSBqID49IDE7IGorKykgewogICAgICAgICAgICBkcFtpXSA9IChkcFtpXSArIGRwW2kgLSBqXSkgJSBNT0Q7CiAgICAgICAgfQogICAgfQoKICAgIGNvdXQgPDwgZHBbbl0gPDwgZW5kbDsKICAgIHJldHVybiAwOwp9Cg==