#include <bits/stdc++.h>
using namespace std;
#define ALL(a) (a).begin(),(a).end()
#define rALL(a) (a).rbegin(),(a).rend()
typedef pair<int, int> Pint;
typedef pair<int64_t, int64_t> Pll;
typedef int64_t ll;

int main() {
    int N, A, B, C;
    cin >> N >> A >> B >> C;
    vector<string> S(N);
    queue<char> T;
    for (int i = 0; i < N; i++){
        cin >> S.at(i);
    }
    for (int i = 0; i < N; i++){
        if (S.at(i) == "AB"){
            if (A == 0 && B == 0){
                cout << "No" << endl;
                return 0;
            }
            if (A == 0 || B == 0){
                if (A == 0){
                    A++;
                    B--;
                    T.push('A');
                }
                else {
                    B++;
                    A--;
                    T.push('B');
                }
            }
            else if (A == 1 && B == 1){
                if (i == N - 1){
                    T.push('A');
                }
                else if (S.at(i + 1) == "AB"){
                    T.push('A');
                    T.push('B');
                    i++;
                }
                else if(S.at(i + 1) == "AC"){
                    T.push('A');
                    A++;
                    B--;
                }
                else{
                    T.push('B');
                    B++;
                    A--;
                }
            }
            else{
                if (B >= A){
                    T.push('A');
                    A++;
                    B--;
                }
                else {
                    T.push('B');
                    B++;
                    A--;
                }
                
            }
        }
        if (S.at(i) == "AC"){
            if (A == 0 && C == 0){
                cout << "No" << endl;
                return 0;
            }
            if (A == 0 || C == 0){
                if (A == 0){
                    A++;
                    C--;
                    T.push('A');
                }
                else {
                    C++;
                    A--;
                    T.push('C');
                }
            }
            else if (A == 1 && C == 1){
                if (i == N - 1){
                    T.push('A');
                }
                else if (S.at(i + 1) == "AC"){
                    T.push('A');
                    T.push('C');
                    i++;
                }
                else if(S.at(i + 1) == "AB"){
                    T.push('A');
                    A++;
                    C--;
                }
                else{
                    T.push('C');
                    C++;
                    A--;
                }
            }
            else {
                if (C >= A){
                    T.push('A');
                    A++;
                    C--;
                }
                else {
                    T.push('C');
                    C++;
                    A--;
                }
                
            }
        }
        if (S.at(i) == "BC"){
            if (B == 0 && C == 0){
                cout << "No" << endl;
                return 0;
            }
            if (B == 0 || C == 0){
                if (B == 0){
                    B++;
                    C--;
                    T.push('B');
                }
                else {
                    C++;
                    B--;
                    T.push('C');
                }
            }
            else if (B == 1 && C == 1){
                if (i == N - 1){
                    T.push('B');
                }
                else if (S.at(i + 1) == "BC"){
                    T.push('B');
                    T.push('C');
                    i++;
                }
                else if(S.at(i + 1) == "AB"){
                    T.push('B');
                    B++;
                    C--;
                }
                else{
                    T.push('C');
                    C++;
                    B--;
                }
            }
            else {
                if (C >= B){
                    T.push('B');
                    B++;
                    C--;
                }
                else {
                    T.push('C');
                    C++;
                    B--;
                }
                
            }
        }

    }
    cout << "Yes" << endl;
    for (int i = 0; i < N; i++){
        char a = T.front();
        cout << a << endl;
        T.pop();
    }

}

Measured memory_bytes: 6432