n, s, k = map(int, input().split()) mod = 10**9 + 7 m = s - k * n * (n - 1) // 2 if m < 0: print(0) exit() DP = [[0 for _ in range(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])