P = 10**9 + 7 N, S, K = map(int, input().split()) S -= N*(N - 1)*K // 2 if S < 0: print(0) exit() dp = [[0]*(N + 1) for _ in range(S + 1)] dp[0][0] = 1 for s in range(S + 1): for n in range(1, N + 1): if s >= n: dp[s][n] = (dp[s][n - 1] + dp[s - n][n]) % P else: dp[s][n] = dp[s][n - 1] ans = dp[S][N] print(ans)