mod=10**9+7
n,d,k=map(int,input().split())
dp=[[0]*(k+1) for _ in range(n+1)]
dp[0][0]=1
for i in range(n):
    acum=[0]
    for l in range(k):
        acum.append((acum[-1]+dp[i][l])%mod)
    for j in range(1,k+1):
        dp[i+1][j]=acum[j]-acum[max(0,j-d)]
        dp[i+1][j]%=mod
print(dp[n][k])