def pnk(S,N): mod = 10**9+7 dp = [ [1]*(S+1) for _ in range(N+1) ] for i in range(2, N+1): for j in range(S+1): if j >= i: dp[i][j] = (dp[i-1][j]+dp[i][j-i]) % mod else: dp[i][j] = dp[i-1][j] % mod return dp[-1][-1] N,S,K = map(int,input().split()) S = S - (N*(N-1)//2)*K if S < 0: print(0) else: print(pnk(S,N))