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