N,A,B = list(map(int,input().split())) INF = 10**18 now = [[INF for _ in range(A+1)] for _ in range(N+1)] now[0][0] = 0 for _ in range(N): x,y = list(map(int,input().split())) next = [[INF for _ in range(A+1)] for _ in range(N+1)] for i in range(N+1): for j in range(A+1): next[i][j] = min(next[i][j], now[i][j]) if(j+x <= A and i+1 <= N):next[i+1][j+x] = min(next[i+1][j+x], now[i][j] + y) now,next = next,now for i in range(N,-1,-1): if(min(now[i]) <= B): print(i) exit()