# 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])