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

int main()
{
  int n;
  vector<int64_t> m(3);
  cin >> n >> m[0] >> m[1] >> m[2];
  vector<pair<int, int>> vp;
  for (int i = 0; i < n; i++)
  {
    char a, b;
    cin >> a >> b;
    vp.emplace_back((int)(a - 'A'), (int)(b - 'A'));
  }
  vp.emplace_back(0, 1);
  vector<int> ans;
  auto add = [&](int a, int b) {
    m[a]++, m[b]--;
    ans.push_back(a);
  };
  for (int i = 0; i < n; i++)
  {
    int a, b, na, nb;
    tie(a, b) = vp[i];
    if (!m[a] && !m[b])
    {
      cout << "No" << endl;
      return 0;
    }
    else if (!m[a])
    {
      add(a, b);
    }
    else if (!m[b])
    {
      add(b, a);
    }
    else
    {
      tie(na, nb) = vp[i + 1];
      if (a == na || a == nb)
      {
        add(a, b);
      }
      else
      {
        add(b, a);
      }
    }
  }
  cout << "Yes" << endl;
  for (int i = 0; i < n; i++)
  {
    cout << (char)(ans[i] + 'A') << endl;
  }
}