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