#include<iostream>
#include<algorithm>
using namespace std;
int n,s,a,b,ans;
struct pos
{
int x,y;
}c[5005];
bool cmp(pos a,pos b)
{
a.y<b.y;
}
int main()
{
cin>>n>>s>>a>>b;
for(int i=1;i<=n;i++)
{
cin>>c[i].x>>c[i].y;
}
sort(c+1,c+n+1,cmp);
for(int i=1;i<=n;i++)
{
if(a+b>=c[i].x&&s>=c[i].y)
{
s-=c[i].y;
ans++;
}
else if(s<c[i].y)
{
break;
}
}
cout<<ans<<endl;
return 0;
}
不懂为什么TLE+MLE