#include <bits/stdc++.h>
using namespace std;
using ll=long long;
#define MOD 1000000007

int main(){
  ll N,A,B,C;
  cin>>N>>A>>B>>C;
  vector<string> s(N);
  for(int i=0;i<N;i++){
    cin>>s.at(i);
  }
  ll sum=A+B+C;

  int zero=0;
  if(A==0){
    zero++;
  }
  if(B==0){
    zero++;
  }
  if(C==0){
    zero++;
  }

  if(zero==0){
    cout<<"Yes"<<endl;
    for(int i=0;i<N;i++){
      if(s.at(i)=="AB"){
        if(A>B){
          A--;
          B++;
          cout<<"B"<<endl;
        }else{
          A++;
          B--;
          cout<<"A"<<endl;
        }
      }else if(s.at(i)=="BC"){
        if(B>C){
          B--;
          C++;
          cout<<"C"<<endl;
        }else{
          B++;
          C--;
          cout<<"B"<<endl;
        }
      }else{
        if(A>C){
          A--;
          C++;
          cout<<"C"<<endl;
        }else{
          A++;
          C--;
          cout<<"A"<<endl;
        }
      }
    }
  }else if(sum==1){
    bool flag=true;
    vector<char> ans(N);
    for(int i=0;i<N;i++){
      if(s.at(i)=="AB"){
        if(A==1){
          A--;
          B++;
          ans.at(i)='B';
        }else if(B==1){
          A++;
          B--;
          ans.at(i)='A';
        }else{
          flag=false;
          break;
        }
      }else if(s.at(i)=="BC"){
        if(B==1){
          B--;
          C++;
          ans.at(i)='C';
        }else if(C==1){
          B++;
          C--;
          ans.at(i)='B';
        }else{
          flag=false;
          break;
        }
      }else if(s.at(i)=="AC"){
        if(A==1){
          A--;
          C++;
          ans.at(i)='C';
        }else if(C==1){
          A++;
          C--;
          ans.at(i)='A';
        }else{
          flag=false;
          break;
        }
      }
    }
    if(flag){
      cout<<"Yes"<<endl;
      for(int i=0;i<N;i++){
        cout<<ans.at(i)<<endl;
      }
    }else{
      cout<<"No"<<endl;
    }
  }else if(sum==0){
    cout<<"No"<<endl;
  }else if(sum==2){
    bool flag=true;
    vector<char> ans(N);
    if(sum==2){
      for(int i=0;i<N;i++){
        if(s.at(i)=="AB"){
          if(A==0&&B==0){
            flag=false;
            break;
          }else if(A>B){
            A--;
            B++;
            ans.at(i)='B';
          }else if(A<B){
            A++;
            B--;
            ans.at(i)='A';
          }else{
            if(i==N-1){
              ans.at(i)='A';
            }else{
              if(s.at(i+1)=="AC"){
                A++;
                B--;
                ans.at(i)='A';
              }else{
                A--;
                B++;
                ans.at(i)='B';
              }
            }
          }
        }else if(s.at(i)=="BC"){
          if(B==0&&C==0){
            flag=false;
            break;
          }else if(C>B){
            C--;
            B++;
            ans.at(i)='B';
          }else if(C<B){
            C++;
            B--;
            ans.at(i)='C';
          }else{
            if(i==N-1){
              ans.at(i)='B';
            }else{
              if(s.at(i+1)=="AC"){
                C++;
                B--;
                ans.at(i)='C';
              }else{
                C--;
                B++;
                ans.at(i)='B';
              }
            }
          }
        }else if(s.at(i)=="AC"){
          if(A==0&&C==0){
            flag=false;
            break;
          }else if(A>C){
            A--;
            C++;
            ans.at(i)='C';
          }else if(A<C){
            A++;
            C--;
            ans.at(i)='A';
          }else{
            if(i==N-1){
              ans.at(i)='A';
            }else{
              if(s.at(i+1)=="AB"){
                A++;
                C--;
                ans.at(i)='A';
              }else{
                A--;
                C++;
                ans.at(i)='C';
              }
            }
          }
        }
      }
    }
    if(flag){
      cout<<"Yes"<<endl;
      for(int i=0;i<N;i++){
        cout<<ans.at(i)<<endl;
      }
    }else{
      cout<<"No"<<endl;
    }
  }else{
    bool flag=true;
    if(s.at(0)=="AB"){
      if(A==0&&B==0){
        flag=false;
      }
    }else if(s.at(0)=="BC"){
      if(B==0&&C==0){
        flag=false;
      }
    }else if(s.at(0)=="AC"){
      if(A==0&&C==0){
        flag=false;
      }
    }
    if(!flag){
      cout<<"No"<<endl;
    }else{
      cout<<"Yes"<<endl;
      for(int i=0;i<N;i++){
        if(s.at(i)=="AB"){
          if(A>B){
            A--;
            B++;
            cout<<"B"<<endl;
          }else{
            A++;
            B--;
            cout<<"A"<<endl;
          }
        }else if(s.at(i)=="BC"){
          if(B>C){
            B--;
            C++;
            cout<<"C"<<endl;
          }else{
            B++;
            C--;
            cout<<"B"<<endl;
          }
        }else{
          if(A>C){
            A--;
            C++;
            cout<<"C"<<endl;
          }else{
            A++;
            C--;
            cout<<"A"<<endl;
          }
        }
      }

    }
  }
}


Measured memory_bytes: 6432