n,d,K = map(int,input().split()) dp = [0]*(K+1) dp[0] = 1 mod = 10**9+7 for i in range(n): ndp = [0]*(K+1) dr = [0]*(K+2) for j in range(K+1): dr[j+1] = dr[j]+dp[j] dr[j+1] %= mod for j in range(K+1): ndp[j] = dr[j]-dr[max(0,j-d)]+mod ndp[j] %= mod #print(dr,dp,ndp,"d") dp = ndp[:] print(dp[K])