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