#include <iostream>
#include <fstream>
using namespace std;
int a, b, c, d[100], n;
//iツ氾板姪堋づ個トツッツピツδ督グツづーツ使ツつ、(f=true)/ツ使ツづュツづ按つ「(f=false)ツづつォ1ツドツδ仰督鳴つスツづィツづ個カツδ債δ環ーツ青板づーツ陛板つキ(kツづ債つサツづェツづ慊づづ個カツδ債δ環ーツづ個和,mツづ債つサツづェツづ慊づづ個値ツ段ツづ個和)
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;
	ifstream cin(argv[1]);

	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;
}