N,D,K=map(int,input().split()) K-=N D-=1 DP=[[0]*(K+1) for i in range(N+1)] DP[0][0]=1 mod=10**9+7 def f(x,y): global DP if y<0: return 0 else: return DP[x][y] for i in range(N): for j in range(K+1): DP[i+1][j]=(f(i+1,j-1)+DP[i][j]-f(i,j-1-D))%mod print(DP[N][K])