#include<stack>#include<cstdio>#include<string>#include<cstring>#include<iostream>#include<algorithm>#define INF 0x3f3f3f3f#define MAX 5010usingnamespace std;struct Node
{int x, y;}T[5010];boolcmp(Node &A, Node &B){return A.y < B.y;}int n, s, a, b;intmain(){
cin >> n >> s;
cin >> a >> b;int j =0;for(int i =0; i < n; i++){int aa, bb; cin >> aa >> bb;if(aa > a + b)continue;
T[j++]={aa, bb};}sort(T, T + j, cmp);int nes =0, res =0;for(int i =0; i < j; i++){
nes += T[i].y; res++;if(nes > s){nes -= T[i].y; res--;}}
cout << res << endl;return0;}