N,d,K=map(int,input().split()) M=10**9+7 q=[0]*(K+1) q[0]=1 for _ in range(N): nq=[0]*(K+1) for i in range(K): nq[i+1]+=q[i] if i+d+1<=K: nq[i+d+1]-=q[i] for i in range(1,K+1): nq[i]+=nq[i-1] nq[i]%=M q=nq print(q[K]%M)