#include<bits/stdc++.h>
using namespace std;
int n,s,a,b;
int apples[5005][4];
int can;
int main()
{
scanf("%d %d",&n,&s);
scanf("%d %d",&a,&b);
for(int i = 1;i <= n;i++)
{
scanf("%d %d",&apples[i][1],&apples[i][2]);
if(apples[i][1] < (a + b))
{
apples[i][3] = -1;
}
}
for (int i = 1; i < n; i++) {
bool swapped = false;
for (int j = 1; j < n - i; j++) {
if ((apples[j][1] > apples[j + 1][1]) && apples[j][3] == 0 && apples[j + 1][3] == 0)
{
swap(apples[j][1],apples[j + 1][1]);
swap(apples[j][2],apples[j + 1][2]);
swap(apples[j][3],apples[j + 1][3]);
swapped = true;
}
}
if (swapped == false)
break;
}
for(int i = 1;i <= n;i++)
{
if((apples[i][1] <= (a + b)) && (apples[i][2] <= s) && apples[i][3] == 0)
{
can++;
s -= apples[i][2];
}
if(apples[i][2] < s)
{
break;
}
}
printf("%d",can);
return 0;
}