#include #define rep(i,a,b) for(int i=(int)(a);i<(int)(b);++i) #define rrep(i,a,b) for(int i=(int)(a);i>=(int)(b);--i) #define fore(i,a) for(auto &i:a) #define all(a) (a).begin(),(a).end() #define rall(a) (a).rbegin(),(a).rend() #define isin(i,a,b) ((a) <= (i) && (i) < (b)) #define uni(a) (a).erase(unique(all(a)),(a).end()) #define fi first #define se second #define pb push_back #define sz(a) (int)(a).size() #define v(T) vector #define vv(T) v(v(T)) using namespace std; using ll = long long; using unit= unsigned; using ull = unsigned long long; using P = pair; using vi = vector; using vl = vector; using vvi = vector; using vp = vector

; void _main(); int main(){ cin.tie(0); ios::sync_with_stdio(false); _main(); } templatevoid YES(T condition){ if(condition) cout << "YES" << endl; else cout << "NO" << endl; } templatevoid Yes(T condition){ if(condition) cout << "Yes" << endl; else cout << "No" << endl; } templatevoid POSS(T condition){ if(condition) cout << "POSSIBLE" << endl; else cout << "IMPOSSIBLE" << endl; } templatevoid Poss(T condition){ if(condition) cout << "Possible" << endl; else cout << "Impossible" << endl; } templatebool chmax(T &a, const T &b){ if (abool chmin(T &a, const T &b){ if (bT gcd(T a, T b){ if (b==0){ return a; }else{ return gcd(b, a%b); }} templateT lcm(T a, T b){ return a / gcd(a, b) * b; } constexpr double eps = 1e-10; constexpr int inf = INT_MAX / 2; constexpr ll infl = 1LL << 60; void _main() { vi coin { 500, 100, 50, 10, 5, 1 }; vi cnt(6); rep(i, 0, 6) cin >> cnt[i]; int G; cin >> G; rep(i, 0, 6) { while (cnt[i] != 0 && G >= coin[i]) { G -= coin[i]; --cnt[i]; } } YES(G == 0); }