#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> P;
#define rep(i,m,n) for(int i=m;i<n;i++)
ll mod=1e9+7;


int main(){
  int n;
  ll a,b,c;
  cin>>n>>a>>b>>c;
  if(a+b+c==0){
    cout<<"No"<<endl;
  }
  else if(a+b+c==1){
    bool p=true;
    char d[n];
    rep(i,0,n){
      string s;
      cin>>s;
      if(s=="AB"){
        if(a==1 && b==0){
          a=0;
          b=1;
          d[i]='B';
        }
        else if(a==0 && b==1){
          a=1;
          b=0;
          d[i]='A';
        }
        else{
          p=false;
          break;
        }
      }
      else if(s=="BC"){
        if(b==1 && c==0){
          b=0;
          c=1;
          d[i]='C';
        }
        else if(b==0 && c==1){
          b=1;
          c=0;
          d[i]='B';
        }
        else{
          p=false;
          break;
        }
      }
      else{
        if(c==1 && a==0){
          c=0;
          a=1;
          d[i]='A';
        }
        else if(c==0 && a==1){
          c=1;
          a=0;
          d[i]='C';
        }
        else{
          p=false;
          break;
        }
      }
    }
    if(p){
      cout<<"Yes"<<endl;
      rep(i,0,n){
        cout<<d[i]<<endl;
      }
    }
    else{
      cout<<"No"<<endl;
    }
  }
  else if(a+b+c==2){
    string s[n];
    rep(i,0,n){
      cin>>s[i];
    }
    bool p=true;
    char d[n];
    rep(i,0,n){
      if(s[i]=="AB"){
        if(a==0 && b==0){
          p=false;
          break;
        }
        else if(a==1 && b==0){
          a=0;
          b=1;
          d[i]='B';
        }
        else if(a==0 && b==1){
          a=1;
          b=0;
          d[i]='A';
        }
        else if(a==2 && b==0){
          a=1;
          b=1;
          d[i]='B';
        }
        else if(a==0 && b==2){
          a=1;
          b=1;
          d[i]='A';
        }
        else{
          if(i+1!=n && s[i+1]=="BC"){
            a=0;
            b=2;
            d[i]='B';
          }
          else{
            a=2;
            b=0;
            d[i]='A';
          }
        }
      }
      else if(s[i]=="BC"){
        if(b==0 && c==0){
          p=false;
          break;
        }
        else if(b==1 && c==0){
          b=0;
          c=1;
          d[i]='C';
        }
        else if(b==0 && c==1){
          b=1;
          c=0;
          d[i]='B';
        }
        else if(b==2 && c==0){
          b=1;
          c=1;
          d[i]='C';
        }
        else if(b==0 && c==2){
          b=1;
          c=1;
          d[i]='B';
        }
        else{
          if(i+1!=n && s[i+1]=="AC"){
            b=0;
            c=2;
            d[i]='C';
          }
          else{
            b=2;
            c=0;
            d[i]='B';
          }
        }
      }
      else{
        if(c==0 && a==0){
          p=false;
          break;
        }
        else if(c==1 && a==0){
          c=0;
          a=1;
          d[i]='A';
        }
        else if(c==0 && a==1){
          c=1;
          a=0;
          d[i]='C';
        }
        else if(c==2 && a==0){
          c=1;
          a=1;
          d[i]='A';
        }
        else if(c==0 && a==2){
          c=1;
          a=1;
          d[i]='C';
        }
        else{
          if(i+1!=n && s[i+1]=="AB"){
            c=0;
            a=2;
            d[i]='A';
          }
          else{
            c=2;
            a=0;
            d[i]='C';
          }
        }
      }
    }
    if(p){
      cout<<"Yes"<<endl;
      rep(i,0,n){
        cout<<d[i]<<endl;
      }
    }
    else{
      cout<<"No"<<endl;
    }
  }
  else{
    string s[n];
    rep(i,0,n){
      cin>>s[i];
    }
    bool p=true;
    char d[n];
    rep(i,0,n){
      if(s[i]=="AB"){
        if(a==0 && b==0){
          p=false;
          break;
        }
        else{
          if(a>b){
            a--;
            b++;
            d[i]='B';
          }
          else{
            a++;
            b--;
            d[i]='A';
          }
        }
      }
      else if(s[i]=="BC"){
        if(b==0 && c==0){
          p=false;
          break;
        }
        else{
          if(b>c){
            b--;
            c++;
            d[i]='C';
          }
          else{
            b++;
            c--;
            d[i]='B';
          }
        }
      }
      else{
        if(c==0 && a==0){
          p=false;
          break;
        }
        else{
          if(c>a){
            c--;
            a++;
            d[i]='A';
          }
          else{
            c++;
            a--;
            d[i]='C';
          }
        }
      }
    }
    if(p){
      cout<<"Yes"<<endl;
      rep(i,0,n){
        cout<<d[i]<<endl;
      }
    }
    else{
      cout<<"No"<<endl;
    }
  }
}

Measured memory_bytes: 6716