#include using namespace std; #define rep(i,n) for (int i = 0; i < (int)(n); ++i) #define rrep(i,n) for (int i = (int)(n-1); i >= 0; --i) #define Rep(i,a,b) for (int i = a; i < b; ++i) #define rRep(i,a,b) for (int i = a; i > b; --i) #define fore(i,a) for(auto &i:a) #define all(x) (x).begin(),(x).end() #define rall(x) (x).rbegin(),(x).rend() #define Bit(x,i) (((x)>>(i))&1) using ll = long long; using vi = vector; using vll = vector; using vvi = vector; using vvll = vector; using vb = vector; using vs = vector; using pii = pair; using pll = pair; templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b que; int main() { ll N, X, Y, Z; cin >> N >> X >> Y >> Z; rep(i, N) { ll A; cin >> A; que.push(A); } while(!que.empty() && Z > 0) { ll nw = que.top(); que.pop(); ll p = min(Z, nw/10000 + 1); Z -= p; nw -= p * 10000; if(nw >= 0) que.push(nw); } while(!que.empty() && Y > 0) { ll nw = que.top(); que.pop(); ll p = min(Y, nw/5000 + 1); Y -= p; nw -= p * 5000; if(nw >= 0) que.push(nw); } while(!que.empty() && X > 0) { ll nw = que.top(); que.pop(); ll p = min(X, nw/1000 + 1); X -= p; nw -= p * 1000; if(nw >= 0) que.push(nw); } if(que.empty()) cout << "Yes" << endl; else cout << "No" << endl; }