# time complexity: O()
# space complexity: O()

MOD = 10**9 + 7
N, S, K = map(int, input().split())

min_donation = (N - 1) * K * N // 2
if min_donation > S:
    print(0)
    exit(0)
elif min_donation == S:
    print(1)
    exit(0)

S -= min_donation

dp = [1] * (S + 1)
for i in range(2, N + 1):
    for j in range(i, S + 1):
        dp[j] = dp[j - i] + dp[j]
        dp[j] %= MOD
print(dp[S])