#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <vector>
#include <string.h>
#include <algorithm>


struct pacijent
{
	int id;
	int kg;
	int kol;
};
int main()
{
	int n;
	scanf("%d ", &n);
	if(n < 1 || n > pow(10, 4)) return 1;
	std::vector<pacijent> pacijenti;
	int a, b, ab, o;
	scanf("%d %d %d %d ", &o, &a, &b, &ab);
	if(a + b + ab + o > pow(10, 6)) return 1;
	int sumo = 0;
	int suma = 0;
	int sumb = 0;
	int sumab = 0;
	
	int ukup_kolicina = 0;
	for(int i = 0; i < n; i++)
	{
		int k;
		char g[3];

		if(i == n-1)
		{
			scanf("%s %d", g, &k);
		}
		else
		{
			scanf("%s %d ", g, &k);
		}
		if(k < 1) return 1;
		pacijent p;
		p.id = i;
		p.kol = k;
		ukup_kolicina += k;

		if(!strcmp(g, "O")) 
		{
			p.kg = 1;
			sumo++;
		}
		else if(!strcmp(g, "A")) 
		{
			p.kg = 2;
			suma++;
		}
		else if(!strcmp(g, "B"))
		{
			p.kg = 3;
			sumb++;
		}
		else if(!strcmp(g, "AB")) 
		{
			p.kg = 4;
			sumab++;
		}
		else return 1;

		pacijenti.push_back(p);
	}
	if(ukup_kolicina > pow(10, 6)) return 1;
	std::sort(pacijenti.begin(), pacijenti.end(), [&](const pacijent& a, const pacijent& b) { return a.kg < b.kg; });
	int oo = o;
	int oa = a;
	int ob = b;
	int oab = ab;
	if(sumo <= o)
	{
		o -= sumo;
	}
	else 
	{	
		printf("nemoguce\n");
		return 1;
	}
	if(suma <= (o + a))
	{
		a -= suma;
		if(a < 0) 
		{
			o += a;
			a = 0;
		}
	}
	else
	{
		printf("nemoguce\n");
		return 1;
	}
	if(sumb <= (o + b))
	{
		b -= sumb;
		if(b < 0) 
		{
			o += b;
			b = 0;
		}
	}
	else
	{
		printf("nemoguce\n");
		return 1;
	}
	if(sumab <= (o + a + b + ab))
	{
		printf("moguce\n");
	}

	std::sort(pacijenti.begin(), pacijenti.end(), [&](const pacijent& a, const pacijent& b) { return a.id < b.id; });
	for(int i = 0; i < n; i++)
	{
		if(pacijenti[i].kg == 1)
		{
			printf("%d, 0, 0, 0\n", pacijenti[i].kol);
			oo -= pacijenti[i].kol;
		}
		else if(pacijenti[i].kg == 2)
		{
			if(oa - pacijenti[i].kol >= 0)
			{
				printf("0, %d, 0, 0\n", pacijenti[i].kol);
				oa -= pacijenti[i].kol;
			}
			else
			{
				int finala = oa;
				int finalo = fabs(oa - pacijenti[i].kol);
				oo -= finalo;
				oa = 0;
				printf("%d, %d, 0, 0\n", finalo, finala);
			}
		}
		else if(pacijenti[i].kg == 3)
		{
			if(ob - pacijenti[i].kol >= 0)
			{
				printf("0, 0, %d, 0\n", pacijenti[i].kol);
				ob -= pacijenti[i].kol;
			}
			else
			{
				int finalb = ob;
				int finalo = fabs(ob - pacijenti[i].kol);
				oo -= finalo;
				ob = 0;
				printf("%d, 0, %d, 0\n", finalo, finalb);
			}
		}
		else if(pacijenti[i].kg == 4)
		{
			if(oab - pacijenti[i].kol >= 0)
			{
				printf("0, 0, 0, %d\n", pacijenti[i].kol);
				oab -= pacijenti[i].kol;
			}
			else
			{
				int finala = 0;
				int finalb = 0;
				int finalo = 0;
				int finalab = 0;
				finalab = oab;
				oab -= pacijenti[i].kol;
				finalb = ob;
				ob += oab;
				if(ob < 0)
				{
					finala = oa;
					oa += ob;
					if(oa < 0)
					{
						finalo = oo;
						oo += oa;
					}
				}
				printf("%d, %d, %d, %d\n", finalo, finala, finalb, finalab);
			}
		}
	}
	return 0;
}