#include<bits/stdc++.h>
using namespace std;
inline void rd(int &x){
  int k, m=0;
  x=0;
  for(;;){
    k = getchar_unlocked();
    if(k=='-'){
      m=1;
      break;
    }
    if('0'<=k&&k<='9'){
      x=k-'0';
      break;
    }
  }
  for(;;){
    k = getchar_unlocked();
    if(k<'0'||k>'9'){
      break;
    }
    x=x*10+k-'0';
  }
  if(m){
    x=-x;
  }
}
inline void wt_L(char a){
  putchar_unlocked(a);
}
inline void wt_L(const char c[]){
  int i=0;
  for(i=0;c[i]!='\0';i++){
    putchar_unlocked(c[i]);
  }
}
int A;
int B;
int C;
int D;
int E;
int F;
int G;
int main(){
  rd(A);
  rd(B);
  rd(C);
  rd(D);
  rd(E);
  rd(F);
  rd(G);
  while(G >= 500 && A > 0){
    G -= 500;
    A--;
  }
  while(G >= 100 && B > 0){
    G -= 100;
    B--;
  }
  while(G >=  50 && C > 0){
    G -=  50;
    C--;
  }
  while(G >=  10 && D > 0){
    G -=  10;
    D--;
  }
  while(G >=   5 && E > 0){
    G -=   5;
    E--;
  }
  while(G >=   1 && F > 0){
    G -=   1;
    F--;
  }
  if(G==0){
    wt_L("YES");
    wt_L('\n');
  }
  else{
    wt_L("NO");
    wt_L('\n');
  }
  return 0;
}
// cLay varsion 20190626-1

// --- original code ---
// int A, B, C, D, E, F, G;
// {
//   rd(A,B,C,D,E,F,G);
//   while(G >= 500 && A > 0) G -= 500, A--;
//   while(G >= 100 && B > 0) G -= 100, B--;
//   while(G >=  50 && C > 0) G -=  50, C--;
//   while(G >=  10 && D > 0) G -=  10, D--;
//   while(G >=   5 && E > 0) G -=   5, E--;
//   while(G >=   1 && F > 0) G -=   1, F--;
//   wt(if[G==0, "YES", "NO"]);
// }