#include <bits/stdc++.h>
using namespace std;
int main () {
int n, w1, w2, h1, h2;
cin >> n >> w1 >> w2 >> h1 >> h2;
vector <int> a(n);
vector <int> d(n);
for (int i = 0; i < n; i ++) {
cin >> a[i];
}
int cur = 0;
for (int x = 0; x < n; x ++) {
if (cur < h1) {
if (cur + (a[x]/pow(w1, 2)) > h1) {
a[x] = cur * pow(w1, 2) + a[x] - h1*pow(w1, 2);
d[x] = h1-cur;
cur = h1;
if (a[x] / pow(w2, 2) < h2) {
cur += a[x] / pow(w2, 2);
d[x] += a[x] / pow(w2, 2);
}
else {
d[x] += h2;
}
}
else {
cur += a[x] / pow(w1, 2);
d[x] = a[x] / pow(w1, 2);
}
}
else {
if (cur + a[x]/pow(w2, 2) < h1 + h2) {
cur += a[x] / pow(w2, 2);
d[x] = a[x] / pow(w2, 2);
}
else {
d[x] = h1+h2-cur;
cur = h1+h2;
}
}
}
int m = -1;
for (int i = 0; i < n; i ++) {
m = (m > d[i] ? m : d[i]);
}
cout << m << endl;
}