#include<iostream>
#include<queue>
using namespace std;
int main(){
    int N,A,B,C;
    cin>>N>>A>>B>>C;
    priority_queue<int>que;
    while(N--){
        int v;
        cin>>v;
        que.push(v);
    }
    int best=C,prise=A;
    while(que.size()){
        int v=que.top();que.pop();
        double bfr=1.0*best/prise,aft=1.0*(best+v)/(prise+B);
        if(bfr<aft){
            best+=v;prise+=B;
        }
        else break;
    }
    cout<<best/prise<<endl;

}