#include<iostream>
#include<queue>
using namespace std;
struct cuntomcomparator{
bool operator()(const pair<int,int> &a,const pair<int,int> &b) const{
return a.second < b.second;
}
};
int main()
{
priority_queue<pair<int,int>,vector<pair<int,int>>,cuntomcomparator> p;
int n,s;
cin>>n>>s;
int a,b;
cin>>a>>b;
int k=a+b;
int ans=0;
for(int i=1;i<=n;++i)
{
int x,y;
cin>>x>>y;
p.push({x,y});
}
for(int i=1;i<=n;++i)
{
auto t=p.top();
p.pop();
if(s>=t.second&&k<=t.first)
{
ans++;
s-=t.second;
}
}
cout<<ans;
}