#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define llint long long #define inf 1e18 #define rep(x, s, t) for(llint (x) = (s); (x) < (t); (x)++) #define Rep(x, s, t) for(llint (x) = (s); (x) <= (t); (x)++) #define chmin(x, y) (x) = min((x), (y)) #define chmax(x, y) (x) = max((x), (y)) using namespace std; typedef pair P; llint n, x, y, z; llint a[100005]; vector

vec; int main(void) { ios::sync_with_stdio(0); cin.tie(0); cin >> n >> x >> y >> z; for(int i = 1; i <= n; i++) cin >> a[i], a[i] = (a[i]+1000) / 1000; for(int i = 1; i <= n; i++) vec.push_back(P(a[i]%5, i)); sort(vec.begin(), vec.end()); for(int i = 0; i < vec.size(); i++){ llint id = vec[i].second; if(vec[i].first > x) a[id] = (a[id]+4)/5*5; else x -= vec[i].first, a[id] -= vec[i].first; } y += x / 5; for(int i = 1; i <= n; i++) a[i] /= 5; vec.clear(); for(int i = 1; i <= n; i++) vec.push_back(P(a[i]%2, i)); sort(vec.begin(), vec.end()); for(int i = 0; i < vec.size(); i++){ llint id = vec[i].second; if(vec[i].first > y) a[id] = (a[id]+1)/2*2; else y -= vec[i].first, a[id] -= vec[i].first; } z += y / 2; for(int i = 1; i <= n; i++) a[i] /= 2; for(int i = 1; i <= n; i++) z -= a[i]; if(z >= 0) cout << "Yes" << endl; else cout << "No" << endl; return 0; }