N,d,K = map(int, input().split()) mod = 10**9+7 dp = [[0]*(K+1) for _ in range(N+1)] dp[0][0] = 1 for i in range(N): for j in range(K): if dp[i][j] == 0: continue dp[i+1][j+1] += dp[i][j] if j+d < K: dp[i+1][j+d+1] -= dp[i][j] for j in range(K): dp[i+1][j+1] += dp[i+1][j] dp[i+1][j+1] %= mod print(dp[N][K])