#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define pb push_back
#define mp make_pair
#define SZ(x) ((int)(x).size())
#define all(x) x.begin(),x.end()
#define mem0(s) memset(s,0,sizeof(s))
#define meminf(s) memset(s,0x3f,sizeof(s))
#define mp_insert(a,b,c) mp.insert(map<pair<int,int>,int>::value_type(make_pair(a,b),c))
double pi=acos(-1);
typedef long long ll;
typedef unsigned long long ull;
inline ll lowbit(ll x){return x&(-x);}
inline ll min(ll a,ll b){return a<b?a:b;}
inline ll max(ll a,ll b){return a>b?a:b;}
const int INF=0x3f3f3f3f,max_n=100005,mod=998244353;
inline ll gcd(ll a,ll b){return b==0?a:gcd(b,a%b);}
inline ll pow(ll a,ll b,ll mod){ll res=1;a%=mod;assert(b>=0);for(;b;b>>=1){if(b&1)res=res*a%mod;a=a*a%mod;}return res;}
string s[max_n];
string ss;
int main()
{
	int n;cin>>n;
	ll a,b,c;cin>>a>>b>>c;
	ll sum=a+b+c;
	for(int i=1;i<=n;i++)
	{
		cin>>s[i];
	}
	if(sum==0)
	{
		cout<<"No";return 0;
	}
	else if(sum==1)
	{
		for(int i=1;i<=n;i++)
		{
			if(s[i]=="AB")
			{
				if(a==0&&b==0)
				{
					cout<<"No";return 0;
				}
				else
				{
					if(a>b)
					{
						a--;
						b++;
						ss+='B';
					}
					else
					{
						a++;
						b--;
						ss+='A';
					}
				}
			}
			else if(s[i]=="AC")
			{
				if(a==0&&c==0)
				{
					cout<<"No";return 0;
				}
				else
				{
					if(a>c)
					{
						a--;
						c++;
						ss+='C';
					}
					else
					{
						a++;
						c--;
						ss+='A';
					}
				}
			}
			else if(s[i]=="BC")
			{
				if(b==0&&c==0)
				{
					cout<<"No";return 0;
				}
				else
				{
					if(b>c)
					{
						b--;
						c++;
						ss+='C';
					}
					else
					{
						b++;
						c--;
						ss+='B';
					}
				}
			}
		}
		cout<<"Yes"<<endl;
		for(int i=0;i<ss.size();i++)
		{
			cout<<ss[i]<<endl;
		}
	}
	else if(sum>2)
	{
		if(s[1]=="AB"&&a==0&&b==0)
		{
			cout<<"No";return 0;
		}
		else if(s[1]=="AC"&&a==0&&c==0)
		{
			cout<<"No";return 0;
		}
		else if(s[1]=="BC"&&b==0&&c==0)
		{
			cout<<"No";return 0;
		}
		for(int i=1;i<=n;i++)
		{
			if(s[i]=="AB")
			{
				if(a==0&&b==0)
				{
					cout<<"No";return 0;
				}
				else if(a>b)
				{
					a--;
					b++;
					ss+='B';
				}
				else if(a<=b)
				{
					a++;
					b--;
					ss+='A';
				}
			}
			else if(s[i]=="AC")
			{
				if(a==0&&c==0)
				{
					cout<<"No";return 0;
				}
				else if(a>c)
				{
					a--;
					c++;
					ss+='C';
				}
				else if(a<=c)
				{
					a++;
					c--;
					ss+='A';
				}
			}
			else if(s[i]=="BC")
			{
				if(b==0&&c==0)
				{
					cout<<"No";return 0;
				}
				else if(b>c)
				{
					b--;
					c++;
					ss+='C';
				}
				else if(b<=c)
				{
					b++;
					c--;
					ss+='B';
				}
			}
		}
		cout<<"Yes"<<endl;
		for(int i=0;i<ss.size();i++)
		{
			cout<<ss[i]<<endl;
		}
	}
	else if(sum==2)
	{
		if(s[1]=="AB"&&a==0&&b==0)
		{
			cout<<"No";return 0;
		}
		else if(s[1]=="AC"&&a==0&&c==0)
		{
			cout<<"No";return 0;
		}
		else if(s[1]=="BC"&&b==0&&c==0)
		{
			cout<<"No";return 0;
		}
		for(int i=1;i<=n;i++)
		{
			if(s[i]=="AB")
			{
				if(a==0&&b==0)
				{
					cout<<"No";return 0;
				}
				else if(a>b)
				{
					a--;
					b++;
					ss+='B';
				}
				else if(a<b)
				{
					a++;
					b--;
					ss+='A';
				}
				else if(a==b&&a==1)//here
				{
					if(i==n)
					{
						a++;
						b--;
						ss+='A';
					}
					else if(s[i]!=s[i+1])
					{
						if(s[i+1]=="AC")
						{
							a++;
							b--;
							ss+='A';
						}
						else if(s[i+1]=="BC")
						{
							b++;
							a--;
							ss+='B';
						}
					}
					else if(s[i]==s[i+1])
					{
						a++;
						b--;
						ss+='A';
					}
				}
			}
			else if(s[i]=="AC")
			{
				if(a==0&&c==0)
				{
					cout<<"No";return 0;
				}
				else if(a>c)
				{
					a--;
					c++;
					ss+='C';
				}
				else if(a<c)
				{
					a++;
					c--;
					ss+='A';
				}
				else if(a==c&&a==1)//here
				{
					if(i==n)
					{
						a++;
						c--;
						ss+='A';
					}
					else if(s[i]!=s[i+1])
					{
						if(s[i+1]=="AB")
						{
							a++;
							c--;
							ss+='A';
						}
						else if(s[i+1]=="BC")
						{
							c++;
							a--;
							ss+='C';
						}
					}
					else if(s[i]==s[i+1])
					{
						a++;
						c--;
						ss+='A';
					}
				}
			}
			else if(s[i]=="BC")
			{
				if(b==0&&c==0)
				{
					cout<<"No";return 0;
				}
				else if(b>c)
				{
					b--;
					c++;
					ss+='C';
				}
				else if(b<c)
				{
					b++;
					c--;
					ss+='B';
				}
				else if(b==c&&b==1)//here
				{
					if(i==n)
					{
						b++;
						c--;
						ss+='B';
					}
					else if(s[i]!=s[i+1])
					{
						if(s[i+1]=="AB")
						{
							b++;
							c--;
							ss+='B';
						}
						else if(s[i+1]=="AC")
						{
							c++;
							b--;
							ss+='C';
						}
					}
					else if(s[i]==s[i+1])
					{
						b++;
						c--;
						ss+='B';
					}
				}
			}
		}
		cout<<"Yes"<<endl;
		for(int i=0;i<ss.size();i++)
		{
			cout<<ss[i]<<endl;
		}
	}
    return 0;
}


Measured memory_bytes: 6888