n,d,k = map(int, input().split()) dp1=[0]*(d*n+1) dp2=[0]*(d*n+1) dp1[0]=1 for cnt in range(n): if cnt%2==0: dp2=[0]*(d*n+1) else: dp1=[0]*(d*n+1) for i in range(len(dp1)): if cnt%2==0: for j in range(1,d+1): if i+j < len(dp1): dp2[i+j] += dp1[i] dp2[i+j] %= 10**9+7 else: for j in range(1,d+1): if i+j < len(dp1): dp1[i+j] += dp2[i] dp1[i+j] %= 10**9+7 if n%2==0: print(dp1[k]) else: print(dp2[k])