#include <bits/stdc++.h>
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];
int solve() {
  Top now = base;
  int i = 0;
  sort(item, item + MAX_B);
  reverse(item, item + MAX_B);
  while (1) {
    if (now.cal / now.price < (now.cal + item[i]) / (now.price + price)) {
      now.cal += item[i];
      now.price += price;
    }
    i++;
    if (i == numtop) break;
  }
  return now.cal / now.price;
}
int main() {
  cin >> numtop;
  cin >> base.price >> price;
  cin >> base.cal;
  for (int i = 0; i < numtop; i++) {
    cin >> item[i];
  }
  cout << solve() << endl;
  return 0;
}
