N,S,K=map(int,raw_input().split()) S-=K*N*(N-1)/2 if S < 0: print 0 exit() dp=[[[0 for i in range(S+1)] for j in range(S+1)] for k in range(2)] mod=1000000007 dp[0][0][0]=1 for ni in range(1,N+1): for cur in range(S+1): for tot in range(S+1): if cur>tot: dp[ni%2][cur][tot]=0 continue dp[ni%2][cur][tot]=dp[1-(ni%2)][cur][tot-cur] if cur >0: dp[ni%2][cur][tot] += dp[ni%2][cur-1][tot-1] dp[ni%2][cur][tot]%=mod #if dp[ni%2][cur][tot]!=0: # print ni, cur, tot, ":", dp[ni%2][cur][tot] ans=0 for i in range(S+1): #print i, dp[N%2][i][S] ans+=dp[N%2][i][S] ans%=mod print ans