// competitive-verifier: PROBLEM https://yukicoder.me/problems/no/1015 #include #include #include int main(void) { int n; std::vector x(3); std::cin >> n >> x[0] >> x[1] >> x[2]; std::vector a(n); for (auto &e : a) std::cin >> e, ++e; std::vector y = {1000, 5000, 10000}; for (int k = 2; k >= 0; --k) { for (int i = 0; i < n; ++i) { int t = std::min(x[k], a[i] / y[k]); x[k] -= t; a[i] -= t * y[k]; } std::sort(a.begin(), a.end(), std::greater<>()); for (int i = 0; i < std::min(n, x[k]); ++i) a[i] = 0; } if (*std::max_element(a.begin(), a.end()) == 0) { std::cout << "Yes\n"; } else { std::cout << "No\n"; } return 0; }