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