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) dp[0]=1 for _ in range(n): s=0 ndp = [0] * (k + 1) for i in range(1,k+1): s+=dp[i-1] if i-1-d>=0:s-=dp[i-1-d] s%=md ndp[i]=s dp=ndp print(dp[k]) main()