N,d,K=map(int,input().split()) mod=10**9+7 DP=[0]*(K*2+1) DP[0]=1 for tests in range(N): NDP=[0]*(K*2+1) for i in range(K+1): for j in range(d): NDP[i+j+1]+=DP[i] NDP[i+j+1]%=mod DP=NDP print(DP[K])