#include <iostream>
#include <vector>

using namespace std;
struct Pacijent {
	string krvnaGrupa;
	int potrebnaKolicina;
	Pacijent(string krvnaGrupa_, int potrebnaKolicina_) {
		krvnaGrupa = krvnaGrupa_;
		potrebnaKolicina = potrebnaKolicina_;
	}
};

int main() 
{
	int N;//broj pacijenata
	cin >> N;
	int O;
	int AB;
	int A;
	int B;
	cin >> O >> A >> B >> AB;
	vector<vector<Pacijent>> listaPacijenata(N);
	string krvnaGrupa;
	int kolicina;
	int resenja[3][4] = {0};
	for (int i = 0; i < N; i++)
	{
		cin >> krvnaGrupa >> kolicina;
		listaPacijenata[i].push_back(Pacijent(krvnaGrupa, kolicina));
	}
	
	for (int i = 0; i < N; i++)
	{
		if (listaPacijenata[i][0].krvnaGrupa == "O")
		{			
			if(listaPacijenata[i][0].potrebnaKolicina > O)
			{
				cout << "nemogucee";
				return 0;
			}
			O -= listaPacijenata[i][0].potrebnaKolicina;
			resenja[i][0] += listaPacijenata[i][0].potrebnaKolicina;
		}
		else if(listaPacijenata[i][0].krvnaGrupa == "A" || listaPacijenata[i][0].krvnaGrupa == "B")
		{
			if (A < B)
			{
				if (listaPacijenata[i][0].krvnaGrupa == "A")
				{
					
					if (listaPacijenata[i][0].potrebnaKolicina > A)
					{
						listaPacijenata[i][0].potrebnaKolicina -= A;
						resenja[i][1] += A;
						A = 0;
						
						if (listaPacijenata[i][0].potrebnaKolicina > O)
						{
							cout << "nemoguce";
							return 0;
						}
						O -= listaPacijenata[i][0].potrebnaKolicina;
						resenja[i][0]+= listaPacijenata[i][0].potrebnaKolicina;

					}
					else
					{
						A -= listaPacijenata[i][0].potrebnaKolicina;
						resenja[i][1]+= listaPacijenata[i][0].potrebnaKolicina;
					}


				}
				else if (listaPacijenata[i][0].krvnaGrupa == "B")
				{
					if (listaPacijenata[i][0].potrebnaKolicina > B)
					{
						listaPacijenata[i][0].potrebnaKolicina -= B;
						resenja[i][2] += B;
						B = 0;
						
						if (listaPacijenata[i][0].potrebnaKolicina > O)
						{
							cout << "nemoguce";
							return 0;
						}
						O -= listaPacijenata[i][0].potrebnaKolicina;
						resenja[i][0]++;

					}
					else
					{
						B -= listaPacijenata[i][0].potrebnaKolicina;
						resenja[i][2]+= listaPacijenata[i][0].potrebnaKolicina;
					}
				}
			}
			else if (B <= A)
			{
				if (listaPacijenata[i][0].krvnaGrupa == "B")
				{


					if (listaPacijenata[i][0].potrebnaKolicina > B)
					{
						listaPacijenata[i][0].potrebnaKolicina -= B;
						resenja[i][2] += B;
						B = 0;

						if (listaPacijenata[i][0].potrebnaKolicina > O)
						{
							cout << "nemoguce";
							return 0;
						}
						O -= listaPacijenata[i][0].potrebnaKolicina;
						resenja[i][0]++;

					}
					else
					{
						B -= listaPacijenata[i][0].potrebnaKolicina;
						resenja[i][2] += listaPacijenata[i][0].potrebnaKolicina;
					}
				}
				else if (listaPacijenata[i][0].krvnaGrupa == "A")
				{


					if (listaPacijenata[i][0].potrebnaKolicina > A)
					{
						listaPacijenata[i][0].potrebnaKolicina -= A;
						resenja[i][1] += A;
						A = 0;

						if (listaPacijenata[i][0].potrebnaKolicina > O)
						{
							cout << "nemoguce";
							return 0;
						}
						O -= listaPacijenata[i][0].potrebnaKolicina;
						resenja[i][0] += listaPacijenata[i][0].potrebnaKolicina;

					}
					else
					{
						A -= listaPacijenata[i][0].potrebnaKolicina;
						resenja[i][1] += listaPacijenata[i][0].potrebnaKolicina;
					}
				}


			}

			}
		
		else if(listaPacijenata[i][0].krvnaGrupa == "AB")
		{
			
			if (listaPacijenata[i][0].potrebnaKolicina > AB)
			{
				listaPacijenata[i][0].potrebnaKolicina -= AB;
				resenja[i][3] += AB;
				AB = 0;
				
				if (listaPacijenata[i][0].potrebnaKolicina > O)
				{
					listaPacijenata[i][0].potrebnaKolicina -= O;
					resenja[i][0] += O;
					O = 0;
					if (listaPacijenata[i][0].potrebnaKolicina > A)
					{
						listaPacijenata[i][0].potrebnaKolicina -= A;
						resenja[i][1] += A;
						A = 0;
						if (listaPacijenata[i][0].potrebnaKolicina > B)
						{
							cout << "nemoguce";
							return 0;
						}
						else
						{
							B -= listaPacijenata[i][0].potrebnaKolicina;
							resenja[i][2]++;
						}
					}
					else
					{
						A -= listaPacijenata[i][0].potrebnaKolicina;
						resenja[i][1]++;
					}
				}
				else
				{
					O -= listaPacijenata[i][0].potrebnaKolicina;
					resenja[i][0]++;
				}
				
			}
			else
			{
				AB -= listaPacijenata[i][0].potrebnaKolicina;
				resenja[i][3]++;
			}
		}

	}
	cout << "moguce" << endl;
	for (int i = 0; i < N; i++)
	{
		for (int j = 0; j < 4; j++)
		{
			cout<< resenja[i][j]<< " ";
		}
		cout << endl;
	}
	return 0;
}