#include<bits/stdc++.h>
using namespace std;
struct pg
{
int x;
int y;
}m[5005];
int cmp(pg p,pg q)
{
return p.x<q.x;
}
int main()
{
int n,a,s,b,z=0;
cin>>n>>s>>a>>b;
for(int i=0;i<n;i++)
{
cin>>m[i].x>>m[i].y;
}
sort(m+0,m+n,cmp);
for(int i=0;i<n;i++)
{
if(s<0)
{
break;
}
if(m[i].x>b)
{
if(m[i].x>b+a)
{
continue;
}
else
{
z++;
s-=m[i].y;
}
}
else
{
z++;
}
}
cout<<z<<endl;
return 0;
}
看不懂为什么错