MOD = 10 ** 9 + 7 n, l = map(int, input().split()) dp = [0] * (n + 1) dp[0] = 1 cum = [0] * (n + 1) cum[0] = 1 for i in range(1, n + 1): dp[i] = cum[i - 1] if i - l >= 1: dp[i] -= cum[i - l - 1] dp[i] %= MOD cum[i] = cum[i - 1] + dp[i] cum[i] %= MOD print(dp[-1])