N, A, B = map(int, input().split()) dp = [[1 << 60] * (A + 1) for i in range(N + 1)] dp[0][0] = 0 for _ in range(N): X, Y = map(int, input().split()) for i in range(N - 1, -1 , -1): for a in range(A + 1 - X): dp[i + 1][a + X] = min(dp[i + 1][a + X], dp[i][a] + Y) print(max(i for i in range(N + 1) if any(dp[i][a] <= B for a in range(A + 1))))