#include<stdio.h>
#include<string.h>

typedef struct pacijent
{
	int potrebno;
	char grupa[2];
	int obroj;
	int abroj;
	int bbroj;
	int abbroj;
}Pacijent;

int main()
{
	int n, o, a, b, ab;
	
	scanf("%d", &n);
	scanf("%d%d%d%d", &o, &a, &b, &ab);
	Pacijent pacijent[n];
	for (int i = 0; i < n; i++)
	{	
		scanf("%s%d", &pacijent[i].grupa, &pacijent[i].potrebno);
	}

	for (int i = 0; i < n; i++)
	{	
		pacijent[i].obroj = 0;
		pacijent[i].abroj = 0;
		pacijent[i].bbroj = 0;
		pacijent[i].abbroj = 0;
	}
	for (int i = 0; i < n; i++)
		if (strcmp(pacijent[i].grupa, "O") == 0)
		{
			o -= pacijent[i].potrebno;
			pacijent[i].obroj += pacijent[i].potrebno;
		}
	for (int i = 0; i < n; i++)
		if (strcmp(pacijent[i].grupa, "A") == 0)
		{
			a -= pacijent[i].potrebno;
			pacijent[i].abroj += pacijent[i].potrebno;
			if (a < 0)
				{
					pacijent[i].abroj += a;
					pacijent[i].obroj = -a;
					o += a;
					a = 0;
				}
		}
	for (int i = 0; i < n; i++)
		if (strcmp(pacijent[i].grupa, "B") == 0)
		{
			b -= pacijent[i].potrebno;
			pacijent[i].bbroj += pacijent[i].potrebno;
			if (b < 0)
				{
					pacijent[i].bbroj += b;
					pacijent[i].obroj =-b;
					o += b;
					b = 0;
				}
		}
	for (int i = 0; i < n; i++)
		if (strcmp(pacijent[i].grupa, "AB") == 0)
		{
			ab -= pacijent[i].potrebno;
			pacijent[i].abbroj += pacijent[i].potrebno;
			if (ab < 0)
				{
					pacijent[i].abbroj += ab;
					pacijent[i].bbroj = -ab;
					b += ab;
					ab = 0;
				}
			if (b < 0)
				{
					pacijent[i].bbroj += b;
					pacijent[i].abroj = -b;
					a += b;
					b = 0;
				}
			if (a < 0)
				{
					pacijent[i].abroj += a;
					pacijent[i].obroj = -a;
					o += a;
					a = 0;
				}
		}
		
	if (o < 0 || a < 0 || b < 0 || ab < 0)
		printf("nemoguce");
	else
	{
		printf("moguce");
		for (int i = 0; i < n; i++)
			printf("\n%d %d %d %d", pacijent[i].obroj, pacijent[i].abroj, pacijent[i].bbroj, pacijent[i].abbroj);
	}
		
	return 0;
}