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

int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);

  ll N; cin >> N;
  ll A; cin >> A;
  ll B; cin >> B;
  ll C; cin >> C;
  vector<string> S(N); for (ll i = 0; i < N; i++) cin >> S[i];
  vector<char> ans(N);
  if (A + B + C == 0) {
    cout << "No" << '\n';
    return 0;
  }
  if (A + B + C == 1) {
    for (ll i = 0; i < N; i++) {
      ll a = 0, b = 0, c = 0;
      if (S[i][0] == 'A' || S[i][1] == 'A') a = 1;
      if (S[i][0] == 'B' || S[i][1] == 'B') b = 1;
      if (S[i][0] == 'C' || S[i][1] == 'C') c = 1;

      if (a == 1 && A == 1) {
        A--;
        if (b > 0) { B++; ans[i] = 'B'; }
        if (c > 0) { C++; ans[i] = 'C'; }
      } else if (b == 1 && B == 1) {
        B--;
        if (c > 0) { C++; ans[i] = 'C'; }
        if (a > 0) { A++; ans[i] = 'A'; }
      } else if (c == 1 && C == 1) {
        C--;
        if (a > 0) { A++; ans[i] = 'A'; }
        if (b > 0) { B++; ans[i] = 'B'; }
      } else {
        cout << "No" << '\n';
        return 0;
      }
    }
    cout << "Yes" << '\n';
    for (ll i = 0; i < N; i++) {
      cout << ans[i] << '\n';
    }
    return 0;
  }

  for (ll i = 0; i < N; i++) {
    ll a = 0, b = 0, c = 0;
    if (S[i][0] == 'A' || S[i][1] == 'A') a = 1;
    if (S[i][0] == 'B' || S[i][1] == 'B') b = 1;
    if (S[i][0] == 'C' || S[i][1] == 'C') c = 1;

    bool ok = true;
    if (A == 0 && B == 0 && a == 1 && b == 1) ok = false;
    if (B == 0 && C == 0 && b == 1 && c == 1) ok = false;
    if (C == 0 && A == 0 && c == 1 && a == 1) ok = false;
    if (!ok) {
      cout << "No" << '\n';
      return 0;
    }

    if (A == 0) {
      if (a == 1 && b == 1) {
        A++; B--; ans[i] = 'A';
      } else if (a == 1 && c == 1) {
        A++; C--; ans[i] = 'A';
      } else if (B > 1) {
        B--; C++; ans[i] = 'C';
      } else if (C > 1) {
        B++; C--; ans[i] = 'B';
      } else {
        if (i < N - 1 && S[i + 1] == "AB") {
          B++; C--; ans[i] = 'B';
        } else {
          B--; C++; ans[i] = 'C';
        }
      }
    } else if (B == 0) {
      if (b == 1 && c == 1) {
        B++; C--; ans[i] = 'B';
      } else if (b == 1 && a == 1) {
        B++; A--; ans[i] = 'B';
      } else if (C > 1) {
        C--; A++; ans[i] = 'A';
      } else if (A > 1) {
        C++; A--; ans[i] = 'C';
      } else {
        if (i < N - 1 && S[i + 1] == "BC") {
          C++; A--; ans[i] = 'C';
        } else {
          C--; A++; ans[i] = 'A';
        }
      }
    } else if (C == 0) {
      if (c == 1 && a == 1) {
        C++; A--; ans[i] = 'C';
      } else if (c == 1 && b == 1) {
        C++; B--; ans[i] = 'C';
      } else if (A > 1) {
        A--; B++; ans[i] = 'B';
      } else if (B > 1) {
        A++; B--; ans[i] = 'A';
      } else {
        if (i < N - 1 && S[i + 1] == "AC") {
          A++; B--; ans[i] = 'A';
        } else {
          A--; B++; ans[i] = 'B';
        }
      }
    } else {
      if (a == 1 && b == 1) {
        A++; B--; ans[i] = 'A';
      } else if (b == 1 && c == 1) {
        B++; C--; ans[i] = 'B';
      } else {
        C++; A--; ans[i] = 'C';
      }
    }
  }
  cout << "Yes" << '\n';
  for (ll i = 0; i < N; i++) {
    cout << ans[i] << '\n';
  }
  return 0;
}

Measured memory_bytes: 6672