#include <bits/stdc++.h>
using namespace std;
#define P pair<int,int>;
int main(){
    int N;
    long long A,B,C;
    cin>>N>>A>>B>>C;
    long long Sum=A+B+C;
    if(Sum>=3){
        vector<char> ans(N);
        for(int i=0;i<N;i++){
            string S;
            cin>>S;
            if(S=="AB"){
                if(A>=B){
                    A--;
                    B++;
                    ans.at(i)='B';
                }
                else{
                    A++;
                    B--;
                    ans.at(i)='A';
                }
            }
            if(S=="AC"){
                if(A>=C){
                    A--;
                    C++;
                    ans.at(i)='C';
                }
                else{
                    A++;
                    C--;
                    ans.at(i)='A';
                }
            }
            if(S=="BC"){
                if(B>=C){
                    B--;
                    C++;
                    ans.at(i)='C';
                }
                else{
                    B++;
                    C--;
                    ans.at(i)='B';
                }
            }
            if(A<0 || B<0 || C<0){
                cout<<"No"<<endl;
                return 0;
            }
        }
        cout<<"Yes"<<endl;
        for(int i=0;i<N;i++){
            cout<<ans.at(i)<<endl;
        }
    }
    if(Sum==2){
        vector<char> ans(N);
        vector<string> vec(N);
        for(int i=0;i<N;i++){
            string S;
            cin>>S;
            vec.at(i)=S;
        }
        for(int i=0;i<N;i++){
            if(vec.at(i)=="AB"){
                if(A>B){
                    A--;
                    B++;
                    ans.at(i)='B';
                }
                else if(A==B && i<N-1){
                    if(vec.at(i+1)=="AB"){
                        A--;
                        B++;
                        ans.at(i)='B';
                    }
                    if(vec.at(i+1)=="AC"){
                        A++;
                        B--;
                        ans.at(i)='A';
                    }
                    if(vec.at(i+1)=="BC"){
                        A--;
                        B++;
                        ans.at(i)='B';
                    }
                }
                else{
                    A++;
                    B--;
                    ans.at(i)='A';
                }
            }
            if(vec.at(i)=="AC"){
                if(A>C){
                    A--;
                    C++;
                    ans.at(i)='C';
                }
                else if(A==C && i<N-1){
                    if(vec.at(i+1)=="AB"){
                        A++;
                        C--;
                        ans.at(i)='A';
                    }
                    if(vec.at(i+1)=="AC"){
                        A++;
                        C--;
                        ans.at(i)='A';
                    }
                    if(vec.at(i+1)=="BC"){
                        A--;
                        C++;
                        ans.at(i)='C';
                    }
                }
                else{
                    A++;
                    C--;
                    ans.at(i)='A';
                }
            }
            if(vec.at(i)=="BC"){
                if(B>C){
                    B--;
                    C++;
                    ans.at(i)='C';
                }
                else if(B==C && i<N-1){
                    if(vec.at(i+1)=="AB"){
                        B++;
                        C--;
                        ans.at(i)='B';
                    }
                    if(vec.at(i+1)=="AC"){
                        B--;
                        C++;
                        ans.at(i)='C';
                    }
                    if(vec.at(i+1)=="BC"){
                        B--;
                        C++;
                        ans.at(i)='C';
                    }
                }
                else{
                    B++;
                    C--;
                    ans.at(i)='B';
                }
            }
            //cout<<i<<" "<<vec.at(i)<<endl;
            //cout<<A<<" "<<B<<" "<<C<<endl;
            if(A<0 || B<0 || C<0){
                cout<<"No"<<endl;
                return 0;
            }
        }
        cout<<"Yes"<<endl;
        for(int i=0;i<N;i++){
            cout<<ans.at(i)<<endl;
        }
    }
    if(Sum==1){
        vector<char> ans(N);
        for(int i=0;i<N;i++){
            string S;
            cin>>S;
            if(S=="AB"){
                if(A>B){
                    A--;
                    B++;
                    ans.at(i)='B';
                }
                else{
                    A++;
                    B--;
                    ans.at(i)='A';
                }
            }
            if(S=="AC"){
                if(A>C){
                    A--;
                    C++;
                    ans.at(i)='C';
                }
                else{
                    A++;
                    C--;
                    ans.at(i)='A';
                }
            }
            if(S=="BC"){
                if(B>C){
                    B--;
                    C++;
                    ans.at(i)='C';
                }
                else{
                    B++;
                    C--;
                    ans.at(i)='B';
                }
            }
            if(A<0 || B<0 || C<0){
                cout<<"No"<<endl;
                return 0;
            }
        }
        cout<<"Yes"<<endl;
        for(int i=0;i<N;i++){
            cout<<ans.at(i)<<endl;
        }
    }
    if(Sum==0){
        cout<<"No"<<endl;
    }
}

Measured memory_bytes: 6336