#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, pv, tv, pc;
  while (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;
    double best;
    int can[n];
    for (int i = 0; i < n; i++) can[i] = 0;
    sum += pc;
    best = (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 ((double)sum / (pv + tv * cou) > best) {
        best = (double)sum / (pv + tv * cou);
      }
    }
    cout << floor(best) << endl;
  }
}
