#include using namespace std; using ll = long long; using ull = unsigned long long; using P = pair; const int INF = INT_MAX; const ll LINF = LLONG_MAX; #define rep(i, s, n) for (int i = (s); i < (int)(n); ++i) #define repl(i, s, n) for (ll i = (s); i < (ll)(n); ++i) #define repr(i, s, n) for (int i = (s)-1; i >= (int)(n); --i) #define vec(type,name,size) vectorname(size) #define vecini(type,name,size,ini) vectorname(size,ini) #define vv(type,name,h,w) vector>name(h,vector(w)) #define vvini(type,name,h,w,ini) vector>name(h,vector(w,ini)) #define all(x) (x).begin(),(x).end() #define allr(x) (x).rbegin(),(x).rend() #define sz(x) ((int)(x).size()) template bool chmin(T& a, T b){ if(a > b) { a = b; return true; } return false; } template bool chmax(T& a, T b){ if(a < b) { a = b; return true; } return false; } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int n, a, b, x, y; cin >> n >> a >> b >> x >> y; vector v(n); rep(i, 0, n) { cin >> v[i]; } int idx = 0; while((a > 0 || b > 0) && idx < n) { // spell A if((v[idx] < x && a > 0) || b == 0) { v[idx] -= x; --a; if(v[idx] <= 0) ++idx; } // spell B else { int damage = y; while(damage > 0 && idx < n) { int dec = min(v[idx], damage); v[idx] -= dec; damage -= dec; if(v[idx] <= 0) ++idx; } --b; } } rep(i, 0, n) { if(v[i] > 0) {cout << "No" << endl; return 0;} } cout << "Yes" << endl; return 0; }