N,S,K=map(int,raw_input().split()) S-=K*N*(N-1)/2 if S < 0: print 0 exit() dp=[[-1 for i in range(S+1)] for k in range(N+1)] mod=1000000007 def rec(N,S): if S<0: return 0 if dp[N][S]!=-1: return dp[N][S] if N==1: dp[N][S]=1 return dp[N][S] dp[N][S]=rec(N,S-N)+rec(N-1,S) dp[N][S]%=mod #print N,S,dp[N][S] return dp[N][S] print rec(N,S)