#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; template string in_v_to_str (const pair v); template string v_to_str (const pair v); string in_v_to_str (const char v) { return "'" + string{v} + "'"; } string in_v_to_str (const char* v) { return '"' + v + '"'; } string in_v_to_str (const string v) { return '"' + v + '"'; } template string in_v_to_str (const T v) { stringstream ss; ss << v; return ss.str(); } template string v_to_str (const T v) { stringstream ss; ss << v; return ss.str(); } template string v_to_str (const array& v) { stringstream ss; if (v.size() > 0) { ss << "["; for (int i = 0; i < v.size() - 1; ++i) { ss << in_v_to_str(v[i]) << ", "; } ss << in_v_to_str(v[v.size() - 1]) << "]"; } else { ss << "[]"; } return ss.str(); } template string v_to_str (const array< array, N >& v) { stringstream ss; if (v.size() > 0) { ss << "["; for (int i = 0; i < v.size() - 1; ++i) { ss << v_to_str(v[i]) << ", "; } ss << v_to_str(v[v.size() - 1]) << "]"; } else { ss << "[-]"; } return ss.str(); } template string v_to_str (const vector& v) { stringstream ss; if (v.size() > 0) { ss << "["; for (int i = 0; i < v.size() - 1; ++i) { ss << in_v_to_str(v[i]) << ", "; } ss << in_v_to_str(v[v.size() - 1]) << "]"; } else { ss << "[]"; } return ss.str(); } template string v_to_str (const vector< vector >& v) { stringstream ss; if (v.size() > 0) { ss << "["; for (int i = 0; i < v.size() - 1; ++i) { ss << v_to_str(v[i]) << ", "; } ss << v_to_str(v[v.size() - 1]) << "]"; } else { ss << "[-]"; } return ss.str(); } template string v_to_str (const set& v) { stringstream ss; int len = v.size(); ss << (v.size() > 0 ? "{" : "{}"); for (auto& i : v) { ss << in_v_to_str(i) << (len-- > 1 ? ", " : "}"); } return ss.str(); } template string v_to_str (const map& v) { stringstream ss; int len = v.size(); ss << (v.size() > 0 ? "{" : "{}"); for (auto& i : v) { ss << in_v_to_str(i.first) << " : " << in_v_to_str(i.second) << (len-- > 1 ? ", " : "}"); } return ss.str(); } template string v_to_str (const unordered_set& v) { stringstream ss; int len = v.size(); ss << (v.size() > 0 ? "{" : "{}"); for (auto& i : v) { ss << in_v_to_str(i) << (len-- > 1 ? ", " : "}"); } return ss.str(); } template string v_to_str (const unordered_map& v) { stringstream ss; int len = v.size(); ss << (v.size() > 0 ? "{" : "{}"); for (auto& i : v) { ss << in_v_to_str(i.first) << " : " << in_v_to_str(i.second) << (len-- > 1 ? ", " : "}"); } return ss.str(); } template string in_v_to_str (const pair v) { stringstream ss; ss << "<" << v_to_str(v.first) << ", " << v_to_str(v.second) << ">"; return ss.str(); } template string v_to_str (const pair v) { stringstream ss; ss << "<" << v_to_str(v.first) << ", " << v_to_str(v.second) << ">"; return ss.str(); } string print () { return ""; } template string print (const F& f, const R& ...r) { stringstream ss; ss << v_to_str(f); if (sizeof...(r) > 0) { ss << " " << print(r...); } return ss.str(); } template void pdebug (const F& f, const R& ...r) { stringstream ss; ss << v_to_str(f); if (sizeof...(r) > 0) { ss << " " << print(r...); } cerr << "" << ss.str() << "" << endl; } template void fdebug (const F& f, const R& ...r) { stringstream ss; ss << v_to_str(f); if (sizeof...(r) > 0) { ss << " " << print(r...); } cerr << "" << ss.str() << "" << endl; } bool isSatSun (string s) { return s == "Sat" || s == "Sun"; } int main () { cin.tie(0); ios::sync_with_stdio(false); int a, b, c, d, e, f, g; cin >> a >> b >> c >> d >> e >> f >> g; for (int v1 = 0; v1 <= a; ++v1) { for (int v2 = 0; v2 <= b; ++v2) { for (int v3 = 0; v3 <= c; ++v3) { for (int v4 = 0; v4 <= d; ++v4) { for (int v5 = 0; v5 <= e; ++v5) { for (int v6 = 0; v6 <= f; ++v6) { if (v1*500 + v2*100 + v3*50 + v4*10 + v5*5 + v6 == g) { cout << "YES" << endl; return 0; } } } } } } } cout << "NO" << endl; return 0; }