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 = dp[:i] for j in range(i, S): tmp_dp.append((dp[j] + tmp_dp[j-i]) % m) dp = tmp_dp print(dp[-1]) solve()