#include<bits/stdc++.h>
using namespace std;
int main()
{
int n; cin>>n;
int w1,w2,h1,h2; cin>>w1>>w2>>h1>>h2;
int pour[n]; for(int i=0;i<n;i++) cin>>pour[i];
int v1=w1*w1*h1,v2=w2*w2*h2;
int highest=0,cur_height=0;
bool v1_full=false, v2_full=false;
for(int i=0;i<n;i++)
{
int delta_height;
if(!v1_full)
{
if(v1-pour[i] >= 0)
{
v1-=pour[i];
delta_height=pour[i]/(w1*w1);
cur_height+=pour[i]/(w1*w1);
}
else
{
if(v2-abs(v1-pour[i]) >= 0)
{
v2-=abs(v1-pour[i]);
delta_height=h1+abs(v1-pour[i])/(w2*w2)-cur_height;
cur_height=h1+abs(v1-pour[i])/(w2*w2);
}
else
{
v2=0;
delta_height=h1+h2-cur_height;
cur_height=h1+h2;
}
v1=0;
}
if(v1 == 0) v1_full=true;
if(v2 == 0) v2_full=true;
}
else if(!v2_full)
{
if(v2-pour[i] >= 0)
{
v2-=pour[i];
delta_height=pour[i]/(w2*w2);
cur_height+=pour[i]/(w2*w2);
}
else if(v2-pour[i] < 0)
{
v2=0;
delta_height=h1+h2-cur_height;
cur_height=h1+h2;
}
if(v2 == 0) v2_full=true;
}
highest=max(highest,delta_height);
}
cout<<highest;
return 0;
}