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