import numpy as np N, D, K = map(int, input().split()) MOD = 10 ** 9 + 7 dp = np.zeros(K + 1, dtype=np.int64) dp[0] = 1 for _ in range(N): new_dp = np.zeros(K + 1, dtype=np.int64) new_dp[1:] += dp[:-1] new_dp[D + 1:] -= dp[:-D - 1] new_dp %= MOD dp = np.cumsum(new_dp) % MOD print(dp[K])