n, s, k = map(int, input().split()) p = 10**9+7 s = s - (n-1)*n//2 * k if s < 0: print("{}".format(0)) exit() dp = [[0 for i in range(s+1)] for i in range(n+1)] dp[0][0] = 1 for i in range(n): for j in range(s+1): kari = n-i if j >= kari: dp[i+1][j] = (dp[i][j] + dp[i+1][j-kari]) % p else: dp[i+1][j] = dp[i][j] ans = dp[n][s] print("{}".format(ans))