#define George_Plover
#include <set>
#include <map>
#include <list>
#include <cmath>
#include <queue>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <vector>
#include <iostream>
#include <iomanip>
#include <algorithm>
#define MAXN 200001
#define MAXM 200001
#define MOD 100000007
#define EPS (1e-8)
#define AC ('A'+'C')
#define AB ('A'+'B')
#define BC ('B'+'C')
#define LL long long
using namespace std;
int a[MAXN],n,A,B,C;
char ans[MAXN];
int main()
{
    scanf("%d%d%d%d",&n,&A,&B,&C);
    for(int i=1;i<=n;i++)
    {
        char s[10];
        scanf("%s",s);
        a[i]=s[0]+s[1];
    }
    bool flag=1;
    for(int i=1;i<=n;i++)
    {
        
        if(a[i]==AB)
        {
            if(A!=B)
            {
                if(A>B)
                {
                    ans[i]='B';
                    A--;
                    B++;
                }
                else
                {
                    ans[i]='A';
                    A++;
                    B--;
                }
            }
            else if(A==B)
            {
                if(A>1||(A==1&&C!=0))
                {
                    ans[i]='B';
                    A--;
                    B++;
                }
                else if(A==1)
                {
                    if(a[i+1]==AC)
                    {
                        ans[i]='A';
                        A++;
                        B--;
                    }
                    else
                    {
                        ans[i]='B';
                        A--;
                        B++;
                    }
                }
                else
                {
                    flag=0;
                    break;
                }
            }
        }
        
        if(a[i]==AC)
        {
            if(A!=C)
            {
                if(A>C)
                {
                    ans[i]='C';
                    A--;
                    C++;
                }
                else
                {
                    ans[i]='A';
                    A++;
                    C--;
                }
            }
            else if(A==C)
            {
                if(A>1||(A==1&&B!=0))
                {
                    ans[i]='C';
                    A--;
                    C++;
                }
                else if(A==1)
                {
                    if(a[i+1]==AB)
                    {
                        ans[i]='A';
                        A++;
                        C--;
                    }
                    else
                    {
                        ans[i]='C';
                        A--;
                        C++;
                    }
                }
                else
                {
                    flag=0;
                    break;
                }
            }
        }
        
        if(a[i]==BC)
        {
            if(C!=B)
            {
                if(C>B)
                {
                    ans[i]='B';
                    C--;
                    B++;
                }
                else
                {
                    ans[i]='C';
                    C++;
                    B--;
                }
            }
            else if(C==B)
            {
                if(C>1||(C==1&&A!=0))
                {
                    ans[i]='B';
                    C--;
                    B++;
                }
                else if(C==1)
                {
                    if(a[i+1]==AC)
                    {
                        ans[i]='C';
                        C++;
                        B--;
                    }
                    else
                    {
                        ans[i]='B';
                        C--;
                        B++;
                    }
                }
                else
                {
                    flag=0;
                    break;
                }
            }
        }
    }
    if(flag)
    {
        printf("Yes\n");
        for(int i=1;i<=n;i++)
        {
            putchar(ans[i]);
            putchar('\n');
        }
    }
    else
    {
        printf("No\n");
    }
    
    return 0;
}


Measured memory_bytes: 4256