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

struct pac{
	string grupa;
	int potrebno;
	int o, a, b, ab;
	int index;
};

int n;
int O, A, B, AB;
pac pacijenti[10005];

bool sortFunc(pac a, pac b)
{
	if (a.grupa == "O" && b.grupa != "O")
	{
		return true;
	}
	else if (b.grupa == "O" && a.grupa != "O")
	{
		return false;
	}
	if (a.grupa == "AB" && b.grupa != "AB")
	{
		return false;
	}
	else if (b.grupa == "AB" && a.grupa != "AB")
	{
		return true;
	}
	return a.potrebno > b.potrebno;
}

bool sortFunc2(pac a, pac b)
{
	return a.index < b.index;
}

int main()
{
	scanf("%d", &n);
	scanf("%d %d %d %d", &O, &A, &B, &AB);
	for (int i = 0; i < n; ++i)
	{
		cin >> pacijenti[i].grupa;
		pacijenti[i].index = i;
		scanf("%d", &pacijenti[i].potrebno);
	}
	sort(pacijenti, pacijenti+n, sortFunc);
	for (int i = 0; i < n; ++i)
	{
		if (pacijenti[i].grupa == "AB")
		{
			if (AB >= pacijenti[i].potrebno)
			{
				AB-=pacijenti[i].potrebno;
				pacijenti[i].ab = pacijenti[i].potrebno;
				pacijenti[i].potrebno = 0;
			}
			else if (AB > 0)
			{
				pacijenti[i].potrebno -= AB;
				pacijenti[i].ab = AB;
				AB = 0;
			}
		}
		if (pacijenti[i].grupa == "A" || pacijenti[i].grupa == "AB" && pacijenti[i].potrebno > 0)
		{
			if (A >= pacijenti[i].potrebno)
			{
				A-=pacijenti[i].potrebno;
				pacijenti[i].a = pacijenti[i].potrebno;
				pacijenti[i].potrebno = 0;
			}
			else if (A > 0)
			{
				pacijenti[i].potrebno -= A;
				pacijenti[i].a = A;
				A = 0;
			}
		}
		if (pacijenti[i].grupa == "B" || pacijenti[i].grupa == "AB" && pacijenti[i].potrebno > 0)
		{
			if (B >= pacijenti[i].potrebno)
			{
				B-=pacijenti[i].potrebno;
				pacijenti[i].b = pacijenti[i].potrebno;
				pacijenti[i].potrebno = 0;
			}
			else if (B > 0)
			{
				pacijenti[i].potrebno -= B;
				pacijenti[i].b = B;
				B = 0;
			}
		}
		if (pacijenti[i].potrebno > 0)
		{
			O-=pacijenti[i].potrebno;
			pacijenti[i].o = pacijenti[i].potrebno;
		}
		if (O < 0 || A < 0 || B < 0 || AB < 0)
		{
			break;
		}
	}
	if (O < 0 || A < 0 || B < 0 || AB < 0)
	{
		printf("nemoguce\n");
	}
	else
	{
		printf("moguce\n");
		sort(pacijenti, pacijenti+n, sortFunc2);
		for (int i = 0; i < n; ++i)
		{
			//cout << "TEST DATA " << pacijenti[i].grupa << " ---- " << pacijenti[i].potrebno << endl;
			printf("%d %d %d %d\n", pacijenti[i].o, pacijenti[i].a, pacijenti[i].b, pacijenti[i].ab);
		}
	}
	return 0;
}