N,d,K=map(int,input().split()) L=[[0 for K in range(K)] for i in range(N)] for i in range(d): L[0][i]=1 for i in range(1,N): for j in range(K): L[i][j]=sum(L[i-1][max(j-d,0):j]) print(L[N-1][K-1]%(10**9+7))