#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int LL; typedef pair P; typedef pair LP; const int INF=1<<30; const LL MAX=1e9+7; void array_show(int *array,int array_n,char middle=' '){ for(int i=0;i &vec_s,int vec_n=-1,char middle=' '){ if(vec_n==-1)vec_n=vec_s.size(); for(int i=0;i &vec_s,int vec_n=-1,char middle=' '){ if(vec_n==-1)vec_n=vec_s.size(); for(int i=0;i q1; int main(){ int n,m; int i,j,k; int a,b,c; int x,y,z; cin>>n>>x>>y>>z; for(i=0;i>a; q1.push(a); } while(!q1.empty()){ a=q1.top(),q1.pop(); if(z){ b=min(z,a/10000); if(b==0)b=1; a-=b*10000,z-=b; if(a<0)continue; q1.push(a); }else if(y){ b=min(y,a/5000); if(b==0)b=1; a-=b*5000,y-=b; if(a<0)continue; q1.push(a); }else if(x){ b=min(x,a/1000); if(b==0)b=1; a-=b*1000,x-=b; if(a<0)continue; q1.push(a); }else{ q1.push(a); break; } } if(q1.empty())cout<<"Yes"<