#include<cstdio>
#include<cstring>
#include<string.h>
#include<stdio.h>
#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<vector>
#include<set>
#include<cmath>
#include<math.h>
using namespace std;
#define inf 0x3f3f3f3f
#define ll __int64
#define N 1010
multiset<int> f;
int t[4];
int main()
{
int n,i,j,k;
while(scanf("%d",&n)!=EOF)
{
f.clear();
scanf("%d%d%d%d",&t[0],&t[1],&t[2],&t[3]);
for(i=0;i<n;i++)
{
scanf("%d",&k);
f.insert(k);
}
int flag=0;
set<int>::iterator it;
for(i=0;i<4;i++)
{
int h=t[i];
while(1)
{
if(f.size()==0)
{
flag=1;
break;
}
it=f.lower_bound(h);
if(it!=f.end())
{
f.erase(it);
break;
}
else
{
it=f.end();
it--;
h-=*it;
f.erase(it);
}
}
if(flag==1)
break;
}
if(flag==1)
{
printf("NO\n");
}
else
{
int sum=0;
for(it=f.begin();it!=f.end();it++)
sum+=*it;
printf("YES %d\n",sum);
}
}
}