#include <bits/stdc++.h>
using namespace std;

using ll = long long;

int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  
  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);
  
  if (a + b + c == 0) {
    cout << "No\n";
    return 0;
  }
  
  if ((a == 0 && b == 0 && c == 1) || (a == 0 && b == 1 && c == 0) || (a == 1 && b == 0 && c == 0)) {
    vector<char> ans;
    for (int i = 0; i < n; i++) {
      if (s.at(i) == "AB") {
        if (a == 0 && b == 0){
          cout << "No\n";
          return 0;
        }
        else {
          if (a > 0) {
            a--;
            b++;
            ans.emplace_back('B');
          }
          else {
            a++;
            b--;
            ans.emplace_back('A');
          }
        }
      }
      if (s.at(i) == "BC") {
        if (b == 0 && c == 0){
          cout << "No\n";
          return 0;
        }
        else {
          if (b > 0) {
            b--;
            c++;
            ans.emplace_back('C');
          }
          else {
            b++;
            c--;
            ans.emplace_back('B');
          }
        }
      }
      if (s.at(i) == "AC") {
        if (a == 0 && c == 0){
          cout << "No\n";
          return 0;
        }
        else {
          if (a > 0) {
            a--;
            c++;
            ans.emplace_back('C');
          }
          else {
            a++;
            c--;
            ans.emplace_back('A');
          }
        }
      }
    }
    cout << "Yes\n";
    for (int i = 0; i < ans.size(); i++) cout << ans.at(i) << '\n';
    return 0;
  }
  
  if ((a == 0 && b == 0) || (a == 0 && c == 0) || (b == 0 && c == 0)) {
    if (s.at(0) == "AB" && a == 0 && b == 0) {
      cout << "No\n";
      return 0;
    }
    if (s.at(0) == "AC" && a == 0 && c == 0) {
      cout << "No\n";
      return 0;
    }
    if (s.at(0) == "BC" && b == 0 && c == 0) {
      cout << "No\n";
      return 0;
    }
  }
  
  vector<char> ans;
  for (int i = 0; i < n; i++) {
    if (s.at(i) == "AB") {
      if (a == 0) {
        a++;
        b--;
        ans.emplace_back('A');
      }
      else if (b == 0) {
        b++;
        a--;
        ans.emplace_back('B');
      }
      else if (a > 1) {
        b++;
        a--;
        ans.emplace_back('B');
      }
      else if (b > 1) {
        a++;
        b--;
        ans.emplace_back('A');
      }
      else {
        if (i == n - 1) {
          a++;
          b--;
          ans.emplace_back('A');
        }
        else {
          if (s.at(i + 1) == "AB") {
            a++;
            b--;
            ans.emplace_back('A');
          }
          else if (s.at(i + 1) == "BC") {
            a--;
            b++;
            ans.emplace_back('B');
          }
          else {
            a++;
            b--;
            ans.emplace_back('A');
          }
        }
      }
    }
    else if (s.at(i) == "BC") {
      if (b == 0) {
        b++;
        c--;
        ans.emplace_back('B');
      }
      else if (c == 0) {
        c++;
        b--;
        ans.emplace_back('C');
      }
      else if (b > 1) {
        c++;
        b--;
        ans.emplace_back('C');
      }
      else if (c > 1) {
        b++;
        c--;
        ans.emplace_back('B');
      }
      else {
        if (i == n - 1) {
          b++;
          c--;
          ans.emplace_back('B');
        }
        else {
          if (s.at(i + 1) == "AB") {
            b++;
            c--;
            ans.emplace_back('B');
          }
          else if (s.at(i + 1) == "BC") {
            b--;
            c++;
            ans.emplace_back('C');
          }
          else {
            c++;
            b--;
            ans.emplace_back('C');
          }
        }
      }
    }
    else {
      if (a == 0) {
        a++;
        c--;
        ans.emplace_back('A');
      }
      else if (c == 0) {
        c++;
        a--;
        ans.emplace_back('C');
      }
      else if (a > 1) {
        c++;
        a--;
        ans.emplace_back('C');
      }
      else if (c > 1) {
        a++;
        c--;
        ans.emplace_back('A');
      }
      else {
        if (i == n - 1) {
          a++;
          c--;
          ans.emplace_back('A');
        }
        else {
          if (s.at(i + 1) == "AB") {
            a++;
            c--;
            ans.emplace_back('A');
          }
          else if (s.at(i + 1) == "BC") {
            a--;
            c++;
            ans.emplace_back('C');
          }
          else {
            a++;
            c--;
            ans.emplace_back('A');
          }
        }
      }
    }
  }
  
  cout << "Yes\n";
  for (int i = 0; i < ans.size(); i++) cout << ans.at(i) << '\n';
}

Measured memory_bytes: 6700