#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, pv, tv, pc;
  cin >> n;
  int tc[n];
  cin >> pv >> tv >> pc;
  for (int i = 0; i < n; i++) {
    cin >> tc[i];
  }
  int max = 0, sum = 0, cou = 0;
  int best;
  int can[n];
  for (int i = 0; i < n; i++) can[i] = 0;
  sum += pc;
  best = floor((double)sum / pv);
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      if (tc[max] < tc[j] && can[j] == 0) max = j;
    }
    sum += tc[max];
    can[max] = 1;
    cou++;
    max = 0;
    if (floor((double)sum / (pv + tv * cou)) > best) {
      best = floor((double)sum / (pv + tv * cou));
    }
  }
  cout << best << endl;
}
