#include<bits/stdc++.h>
using namespace std;
#define FOR(i,l,r) for(long long i=(l);i<(r);++i)
#define REP(i,n) FOR(i,0,n)
#define REPS(i,n) FOR(i,0,n+1)
#define int long long
#define mp make_pair
#define pb push_back
#define eb emplace_back
const int MOD=1e9+7;
const int INF=1e18;
 
signed main(){
    int N,A,B,C;cin>>N>>A>>B>>C;
    char ans[N];
    bool ok=true;
    string S[N];
    REP(i,N){
        cin>>S[i];
    }
    REP(i,N){
        if(S[i]=="AB"){
            if(A<B){
                A++;B--;
                ans[i]='A';
              	continue;
            }
            if(A>B){
                A--;B++;
                ans[i]='B';
              	continue;
            }
            if(A==B){
                if(i==N-1||S[i+1]=="AB"){
                    A++;B--;
                if(B<0){
                    ok=false;
                    break;
                }
                ans[i]='A';
                }
                else{
                    if(S[i+1]=="AC"){
                        A++;B--;
                        if(B<0){
                            ok=false;
                            break;
                        }
                        ans[i]='A';
                    }
                    else{
                        A--;B++;
                        if(A<0){
                        ok=false;
                        break;
                        }
                        ans[i]='B';
                    }

                }
            }
        }
        if(S[i]=="AC"){
            if(A<C){
                A++;C--;
                ans[i]='A';
              	continue;
            }
            if(A>C){
                A--;C++;
                ans[i]='C';
              	continue;
            }
            if(A==C){
                if(i==N-1||S[i+1]=="AC"){
                    A++;C--;
                if(C<0){
                    ok=false;
                    break;
                }
                ans[i]='A';
                }
                else{
                    if(S[i+1]=="AB"){
                        A++;C--;
                        if(C<0){
                            ok=false;
                            break;
                        }
                        ans[i]='A';
                    }
                    else{
                        A--;C++;
                        if(A<0){
                        ok=false;
                        break;
                        }
                        ans[i]='C';
                    }

                }
            }
        }
        if(S[i]=="BC"){
            if(B<C){
                B++;C--;
                ans[i]='B';
              	continue;
            }
            if(B>C){
                B--;C++;
                ans[i]='C';
              	continue;
            }
            if(B==C){
                if(i==N-1||S[i+1]=="BC"){
                    B++;C--;
                if(C<0){
                    ok=false;
                    break;
                }
                ans[i]='B';
                }
                else{
                    if(S[i+1]=="AB"){
                        B++;C--;
                        if(C<0){
                            ok=false;
                            break;
                        }
                        ans[i]='B';
                    }
                    else{
                        B--;C++;
                        if(B<0){
                        ok=false;
                        break;
                        }
                        ans[i]='C';
                    }

                }
            }
        }
    }
    if(ok){
        cout<<"Yes"<<endl;
        REP(i,N){
            cout<<ans[i]<<endl;
        }
    }
    else cout<<"No"<<endl;
}

Measured memory_bytes: 6852