import itertools N,d,K = map(int,input().split()) mod = 10**9+7 DP = [0]*((N+2)*d) DP[0] = 1 lenDP = len(DP) for _ in range(N): TEMP = [0]*(lenDP) for i in range(lenDP): if DP[i]>=1: TEMP[i+1]+=DP[i] TEMP[i+d+1]-=DP[i] DP = list(itertools.accumulate(TEMP)) for i in range(lenDP): DP[i]=DP[i]%mod print(DP[K])