N, S, K = [int(x) for x in input().split()] mod = 10**9 + 7 M = S - K * N * (N - 1) // 2 if M < 0: print(0) exit() dp = [[0]*(M + 1) for _ in range(N + 1)] dp[0][0] = 1 for i in range(1, N + 1): for j in range(M + 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[N][M])