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