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