#include <iostream>
#include <algorithm>
using namespace std;
struct node {
int h, s;
}a[5010];
bool cmp(node x,node y){
return x.s < y.s;
}
int main() {
int n, st;
int benchHeight, armHeight;
cin >> n >> st;
cout<<n<<' '<<st<<endl;
cin >> benchHeight >> armHeight;
int sum = benchHeight + armHeight;
for (int i = 0; i < n; i++) {
cin >> a[i].h >> a[i].s;
}
sort(a, a + n, cmp);
int cnt = 0;
for (int i = 0; i < n && st > 0; i++) {
if (st <= a[i].s) {
if (sum < a[i].h){
continue;
}
else{
if (a[i].s != 0){
st -= a[i].s;
}
cnt++;
}
}
}
cout << cnt << endl;
return 0;
}