N,S,K = map(int,input().split()); MOD = pow(10,9)+7 base = (N-1)*N//2*K #print(base) if base > S: print(0);exit() S -= base #区別できないSをN人で分ける。並べ方は必ず昇順となるので組み合わせを出せば十分。 dp = [[0]*(S+1) for _ in range(N+1)] #dp[i][j]: j個をi分割する。どちらも1index dp[0][0] = 1 for i in range(N + 1): for j in range(S + 1): if j - i >= 0: dp[i][j] = (dp[i-1][j] + dp[i][j-i]) % MOD else: dp[i][j] = dp[i-1][j] #print(dp) ans = dp[N][S] print(ans)