# https://yukicoder.me/problems/no/269 MOD = 10 ** 9 + 7 def main(): N, S, K = map(int, input().split()) dp = [0] * (S + 1) x = 0 while x <= S: dp[x] = 1 x += N for i in range(1, N): n = N - i new_dp = [0] * (S + 1) for x in range(S + 1): y = K while x + n * y <= S: new_dp[x + n * y] += dp[x] new_dp[x + n * y] %= MOD y += 1 dp = new_dp print(dp[S]) if __name__ == "__main__": main()