N,S,K=map(int,input().split()) S-=K*N*(N-1)//2-1 if S==0: print(1) exit() m=10**9+7 r=range D=[[0]*(S+1) for i in r(N+1)] D[0][0]=1 for i in r(N): for j in r(S): k=j while k<=S: D[i+1][k]=D[i][j]+D[i+1][k]%m k+=i+1 print(D[-1][S-1]%m)