#include <bits/stdc++.h>
using namespace std;
int a, b, c, d[100], n;
double dfs(int i, int m, int k, bool f) {
  if (i == n - 1) {
    if (f)
      return ((double)k + (double)d[i]) / ((double)m + (double)b);
    else
      return (double)k / (double)m;
  }
  if (f)
    return (double)max(dfs(i + 1, m + b, k + d[i], true),
                       dfs(i + 1, m + b, k + d[i], false));
  else
    return (double)max(dfs(i + 1, m, k, true), dfs(i + 1, m, k, false));
}
int main() {
  int i;
  cin >> n >> a >> b >> c;
  for (i = 0; i < n; i++) cin >> d[i];
  cout << (int)max(dfs(0, a, c, true), dfs(0, a, c, false)) << endl;
}
