#include <bits/stdc++.h>

using namespace std;
#define DBG(x)                         \
    (void)(cout << "L" << __LINE__     \
                << ": " << #x << " = " \
                << (x) << '\n')
typedef long long ll;
const int INF = 0x3f3f3f3f;
const int maxn = 110000;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout << setiosflags(ios::fixed) << setprecision(12);
    int n, a, b, c;
    cin >> n >> a >> b >> c;
    string s = "";
    //vector<char> v;
    // int flag = 0;
    string str[n + 1];
    for (int i = 1; i <= n; i++)
    {
        cin >> str[i];
    }
    int flag = 0;
    for (int i = 1; i < n; i++)
    {
        if (str[i] == "AB")
        {
            if (a > b)
            {
                a--, b++;
                s += "B";
            }
            else if (a < b)
            {
                a++, b--;
                s += "A";
            }
            else
            {
                if (str[i + 1] == "BC")
                {
                    a--, b++;
                    s += "B";
                }
                else
                {
                    a++, b--;
                    s += "A";
                }
            }
        }
        else if (str[i] == "AC")
        {
            if (a > c)
            {
                a--, c++;
                s += "C";
            }
            else if (a < c)
            {
                a++, c--;
                s += "A";
            }
            else
            {
                if (str[i + 1] == "BC")
                {
                    a--, c++;
                    s += "C";
                }
                else
                {
                    a++, c--;
                    s += "A";
                }
            }
        }
        else if (str[i] == "BC")
        {
            if (b > c)
            {
                b--, c++;
                s += "C";
            }
            else if (b < c)
            {
                b++, c--;
                s += "B";
            }
            else
            {
                if (str[i + 1] == "AC")
                {
                    b--, c++;
                    s += "C";
                }
                else
                {
                    b++, c--;
                    s += "B";
                }
            }
        }
        if (a < 0 || b < 0 || c < 0)
        {
            flag = 1;
            break;
        }
    }
    if (flag)
    {
        cout << "No\n";
    }
    else
    {
        if (str[n] == "AB")
        {
            if (a > b)
            {
                a--, b++;
                s += "B";
            }
            else
            {
                a++, b--;
                s += "A";
            }
        }
        else if (str[n] == "AC")
        {
            if (a > c)
            {
                a--, c++;
                s += "C";
            }
            else
            {
                a++, c--;
                s += "A";
            }
        }
        else
        {
            if (b > c)
            {
                b--, c++;
                s += "C";
            }
            else
            {
                b++, c--;
                s += "B";
            }
        }
        if (a >= 0 && b >= 0 && c >= 0)
        {
            cout << "Yes\n";
            for (int i = 0; i < s.size(); i++)
            {
                cout << s[i] << "\n";
            }
        }
        else
        {
            cout << "No\n";
        }
    }
    return 0;
}

Measured memory_bytes: 6840