#include<bits/stdc++.h>
using namespace std;
int n,a,s,b,x[100],y[100],max=0;
void dfs(int rest,int num,int sum){
if(num==n-1){
if(sum>max)max=sum;
return;
}
else{
if(x[i]>a+b)dfs(rest,num+1,sum);
else if(y[i]>s)dfs(rest,num+1,sum);
else{
dfs(rest,num+1,sum);
dfs(rest-b[i],num+1,)
}
}
}
int main(){
cin>>n>>s>>a>>b;
for(int i=0;i<n;i++)
cin>>x[i]>>y[i];
int max;
dfs(s,1,0);
cout<<max;
return 0;
}