#include <iostream>
#include <algorithm>
using namespace std;
int n,s;
int m,b;
struct make{
int x,y;
}a[5005];
int cmp (make i,make j)
{
if(i.y!=j.y) return i.y<j.y;//需花的力气小的放在前面
return i.x<j.x;//如果力气花的一样就看谁更矮
}
int main()
{
cin>>n>>s>>m>>b;
for(int i=1;i<=n;i++)
cin>>a[i].x>>a[i].y;
sort(a+1,a+n+1,cmp);//排序
int ans=0;
for(int i=1;i<=n;i++)
{
if(m+b>a[i].x&&s-a[i].y>=0)//他够得着并且力气不会花完
{
s-=a[i].y;//把要的力气减了
ans++;//答案+1
}
}
cout <<ans<<" "<< endl;
return 0;
}