#include <iostream>
using namespace std;
int dp[500][2];
int main() {
int n, k;
cin >> n >> k;
for(int i=0; i<k-1; ++i)
dp[i][0] = dp[i][1] = 1;
for(int i=0; i<n; ++i) {
dp[i][0] = dp[i-1][0] + dp[i-1][1];
dp[i][1] = dp[i-1][0];
if(i-k < 0) {
dp[i][1] += dp[i-1][1];
} else {
for(int j=2; j<k; ++j)
dp[i][1] += dp[i-j][1];
}
}
cout << dp[n-1][0] + dp[n-1][1] << "\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IGRwWzUwMF1bMl07CgppbnQgbWFpbigpIHsKCWludCBuLCBrOwoJY2luID4+IG4gPj4gazsKCWZvcihpbnQgaT0wOyBpPGstMTsgKytpKQoJCWRwW2ldWzBdID0gZHBbaV1bMV0gPSAxOwoJZm9yKGludCBpPTA7IGk8bjsgKytpKSB7CgkJZHBbaV1bMF0gPSBkcFtpLTFdWzBdICsgZHBbaS0xXVsxXTsKCQlkcFtpXVsxXSA9IGRwW2ktMV1bMF07CgkJaWYoaS1rIDwgMCkgewoJCQlkcFtpXVsxXSArPSBkcFtpLTFdWzFdOwoJCX0gZWxzZSB7CgkJCWZvcihpbnQgaj0yOyBqPGs7ICsraikKCQkJCWRwW2ldWzFdICs9IGRwW2ktal1bMV07CgkJfQoJfQoJY291dCA8PCBkcFtuLTFdWzBdICsgZHBbbi0xXVsxXSA8PCAiXG4iOwoJcmV0dXJuIDA7Cn0=