import sys def MI(): return map(int, sys.stdin.readline().split()) def main(): md=10**9+7 n,d,k=MI() dp=[[0]*(k+1) for _ in range(n+1)] dp[0][0]=1 for i in range(n): for j in range(k): pre=dp[i][j] if pre==0:continue for nj in range(j+1,j+1+d): if nj>k:break dp[i+1][nj]=(dp[i+1][nj]+pre)%md print(dp[n][k]) main()