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