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