#include<iostream>
#include<algorithm>

using namespace std;

const int MAX_B = 1001;

typedef struct{
  int price;
  int cal;
}Top;

int numtop,price;
int maxave = 0;
Top base;
int item[MAX_B];

void solve(int num,Top T){
  if(T.cal/T.price > maxave) maxave = T.cal/T.price;
  for(int i = num+1; i <= numtop; i++){
    Top next = T;
    next.price += price;
    next.price += item[i];
    solve(i,next);
    solve(i,T);
  }
  cout << now.cal << " " << now.price << endl;
  return (int)(now.cal/now.price);
}

int main(){
  cin >> numtop;
  cin >> base.price >> price;
  cin >> base.cal;
  for(int i = 1; i <= numtop; i++){
    cin >> item[i];
  }
  solve(0,base);
  cout << maxave << endl;
  return 0;
}