#include <bits/stdc++.h>
using namespace std;
int sum_calorie(int x[], int cloth_cal, int cloth_val, int topping_val,
                int topping_num);
void quick_sort(int x[], int left, int right);
int main(void) {
  int topping_num, i;
  int cloth_val, topping_val;
  int cloth_cal;
  cin >> topping_num;
  cin >> cloth_val >> topping_val;
  cin >> cloth_cal;
  int topping_cal[topping_num + 1];
  topping_cal[0] = 0;
  for (i = 1; i < topping_num + 1; i++) cin >> topping_cal[i];
  quick_sort(topping_cal, 1, topping_num);
  cout << sum_calorie(topping_cal, cloth_cal, cloth_val, topping_val,
                      topping_num)
       << endl;
  return (0);
}
int sum_calorie(int x[], int cloth_cal, int cloth_val, int topping_val,
                int topping_num) {
  int sum_x[100 + 1];
  register int i;
  int ans = INT_MIN, count = 0;
  sum_x[0] = 0;
  for (i = 1; i < topping_num + 1; i++) {
    sum_x[i] = sum_x[i - 1] + x[i];
    count++;
    int calorie = sum_x[i] + cloth_cal;
    int value = cloth_val + (topping_val * count);
    int fin = (int)((double)calorie / value);
    if (fin > ans)
      ans = fin;
    else
      return (ans);
  }
  return (ans);
}
void quick_sort(int x[], int left, int right) {
  int i, j;
  int pivot;
  i = left;
  j = right;
  pivot = x[(left + right) / 2];
  while (1) {
    while (x[i] > pivot) i++;
    while (x[j] < pivot) j--;
    if (i >= j) break;
    do {
      int temp = x[i];
      x[i] = x[j];
      x[j] = temp;
    } while (0);
    ;
    i++;
    j--;
  }
  if (i - 1 > left) quick_sort(x, left, i - 1);
  if (j + 1 < right) quick_sort(x, j + 1, right);
}
