#include <stdio.h>

int main()
{
	int i, N, A, B, C;
	char s[100001][3];
	scanf("%d %d %d %d", &N, &A, &B, &C);
	for (i = 1; i <= N; i++) scanf("%s", s[i]);
	
	char ans[100001];
	if ((A + B == 0 && s[1][0] == 'A' && s[1][1] == 'B') || (A + C == 0 && s[1][0] == 'A' && s[1][1] == 'C') || (B + C == 0 && s[1][0] == 'B' && s[1][1] == 'C')) {
		printf("No\n");
		fflush(stdout);
		return 0;
	} else if (A + B + C <= 1) {
		for (i = 1; i <= N; i++) {
			if ((A + B == 0 && s[i][0] == 'A' && s[i][1] == 'B') || (A + C == 0 && s[i][0] == 'A' && s[i][1] == 'C') || (B + C == 0 && s[i][0] == 'B' && s[i][1] == 'C')) {
				printf("No\n");
				fflush(stdout);
				return 0;
			} else if (A == 1) {
				A = 0;
				if (s[i][1] == 'B') {
					B = 1;
					ans[i] = 'B';
				} else {
					C = 1;
					ans[i] = 'C';
				}
			} else if (B == 1) {
				B = 0;
				if (s[i][0] == 'A') {
					A = 1;
					ans[i] = 'A';
				} else {
					C = 1;
					ans[i] = 'C';
				}
			} else {
				C = 0;
				if (s[i][0] == 'A') {
					A = 1;
					ans[i] = 'A';
				} else {
					B = 1;
					ans[i] = 'B';
				}
			}
		}
	} else {
		for (i = 1; i < N; i++) {
			if (s[i][0] == 'A' && s[i][1] == 'B') {
				if (A == 0) {
					A++;
					B--;
					ans[i] = 'A';
				} else if (B == 0) {
					A--;
					B++;
					ans[i] = 'B';
				} else if (A == 1 && C == 0 && s[i+1][0] == 'A' && s[i+1][1] == 'C') {
					A++;
					B--;
					ans[i] = 'A';
				} else {
					A--;
					B++;
					ans[i] = 'B';
				}
			} else if (s[i][0] == 'A' && s[i][1] == 'C') {
				if (A == 0) {
					A++;
					C--;
					ans[i] = 'A';
				} else if (C == 0) {
					A--;
					C++;
					ans[i] = 'C';
				} else if (A == 1 && B == 0 && s[i+1][0] == 'A' && s[i+1][1] == 'B') {
					A++;
					C--;
					ans[i] = 'A';
				} else {
					A--;
					C++;
					ans[i] = 'C';
				}
			} else {
				if (B == 0) {
					B++;
					C--;
					ans[i] = 'B';
				} else if (C == 0) {
					B--;
					C++;
					ans[i] = 'C';
				} else if (B == 1 && A == 0 && s[i+1][0] == 'A' && s[i+1][1] == 'B') {
					B++;
					C--;
					ans[i] = 'B';
				} else {
					B--;
					C++;
					ans[i] = 'C';
				}
			}
		}
		if (s[N][0] == 'A' && s[N][1] == 'B') {
			if (A == 0) ans[N] = 'A';
			else ans[N] = 'B';
		} else if (s[N][0] == 'A' && s[N][1] == 'C') {
			if (A == 0) ans[N] = 'A';
			else ans[N] = 'C';
		} else {
			if (B == 0) ans[N] = 'B';
			else ans[N] = 'C';
		}
	}
	
	printf("Yes\n");
	for (i = 1; i <= N; i++) printf("%c\n", ans[i]);
	fflush(stdout);
	return 0;
}