import sys input=sys.stdin.readline def I(): return int(input()) def MI(): return map(int, input().split()) def LI(): return list(map(int, input().split())) def main(): mod=10**9+7 N,d,K=MI() dp=[0]*(1+K) dp[0]=1 for i in range(N): S=[0]*(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[-1]) main()