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

//#pragma gcc optimize("O3,unroll-loop")
//#pragma gcc target("sse,sse2,sse3,ssse3,sse4,avx,avx2,fma,abm,mmx,popcnt,tune=native")
//#define int long long
//#define double long double

signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    int n, a, b, c;
    cin >> n >> a >> b >> c;

    string s, ans;
    vector<string> v;
    set<int> st[3];
    for (int i = 0; i < n; i++)
    {
        cin >> s;
        v.push_back(s);
        if (s[0] == 'A')
            st[0].insert(i);
        if (s[0] == 'B' || s[1] == 'B')
            st[1].insert(i);
        if (s[1] == 'C')
            st[2].insert(i);
    }

    for (int i = 0; i < n; i++)
    {
        if (a >= 2 && b >= 2 && c >= 2)
        {
            bool ab = true, bc = true, ca = true;
            for (int j = i; j < n; j++)
            {
                s = v[j];
                if (s == "AB")
                {
                    if (ab)
                        a--, b++, ans += 'B';
                    else
                        a++, b--, ans += 'A';
                    ab = !ab;
                }
                else if (s == "BC")
                {
                    if (bc)
                        b--, c++, ans += 'C';
                    else
                        b++, c--, ans += 'B';
                    bc = !bc;
                }
                else
                {
                    if (ca)
                        c--, a++, ans += 'A';
                    else
                        c++, a--, ans += 'C';
                    ca = !ca;
                }
            }
            cout << "Yes\n";
            for (char p : ans)
                cout << p << '\n';
            return 0;
        }

        s = v[i];
        if (s == "AB")
            if (a > b)
                a--, b++, ans += 'B';
            else if (a < b)
                a++, b--, ans += 'A';
            else if (a == b && !b)
                cout << "No\n", exit(0);
            else
            {
                auto ap = st[0].upper_bound(i), bp = st[1].upper_bound(i);

                if (ap == st[0].end())
                    a--, b++, ans += 'B';
                else if (bp == st[1].end())
                    a++, b--, ans += 'A';
                else if (*ap == *bp)
                    a--, b++, ans += 'B';
                else if (*ap < *bp)
                    a++, b--, ans += 'A';
                else
                    a--, b++, ans += 'B';
            }
        else if (s == "BC")
            if (b > c)
                b--, c++, ans += 'C';
            else if (b < c)
                b++, c--, ans += 'B';
            else if (b == c && !c)
                cout << "No\n", exit(0);
            else
            {
                auto bp = st[1].upper_bound(i), cp = st[2].upper_bound(i);

                if (bp == st[1].end())
                    b--, c++, ans += 'C';
                else if (cp == st[2].end())
                    b++, c--, ans += 'B';
                else if (*bp == *cp)
                    b--, c++, ans += 'C';
                else if (*bp < *cp)
                    b++, c--, ans += 'B';
                else
                    b--, c++, ans += 'C';
            }
        else
            if (a > c)
                a--, c++, ans += 'C';
            else if (a < c)
                a++, c--, ans += 'A';
            else if (a == c && !c)
                cout << "No\n", exit(0);
            else
            {
                auto ap = st[0].upper_bound(i), cp = st[2].upper_bound(i);

                if (ap == st[0].end())
                    a--, c++, ans += 'C';
                else if (cp == st[2].end())
                    a++, c--, ans += 'A';
                else if (*ap == *cp)
                    a--, c++, ans += 'C';
                else if (*ap < *cp)
                    a++, c--, ans += 'A';
                else
                    a--, c++, ans += 'C';
            }
    }
    cout << "Yes\n";
    for (char p : ans)
        cout << p << '\n';

    return 0;
}

//      *   *  *****  *   *  *   *
//     *   *  *      **  *  *   *
//    *****  *****  * * *  *   *
//   *   *      *  *  **  *   *
//  *   *  *****  *   *   ***

//      ***** ***** *   * *     ***** *   * ***** *****
//        *  *   * *   * *       *   **  *   *   *   *
//       *  *   * ***** *       *   * * *   *   *****
//   *  *  *   *   *   *       *   *  **   *   *
//  ****  *****   *   ***** ***** *   *   *   *


Measured memory_bytes: 16164