#include <iostream>
#include <string>
struct pacijent {
	std::string tip;
	long long potrebno;
};
int main()
{
	pacijent p[10000];
	long long n, bO, bA, bB, bAB, uk = 0, ukB = 0, ukA = 0, ukAB = 0;
	bool moguce = true;
	std::string x="";
	long long tp[10000];
	long long k = 0;

	std::cin >> n >> bO >> bA >> bB >> bAB;
	long long tbA = bA, tbB = bB, tbAB = bAB;
	for (int i = 0; i < n; i++)
	{
		std::cin >> p[i].tip >> p[i].potrebno;

		if (p[i].tip == "O") {
			if (bO < p[i].potrebno) {
				moguce = false;
				break;
			}
			else
				bO -= p[i].potrebno;
				x += std::to_string(p[i].potrebno)  + " 0 0 0\n";
		}
		else if (p[i].tip == "A"){
			if (bA >= p[i].potrebno) {
				bA -= p[i].potrebno;
				x += "0 "+ std::to_string(p[i].potrebno);
				x += " 0 0\n";
			}
			else if (bO + bA >= p[i].potrebno) {
				x += std::to_string(p[i].potrebno - bA) + " ";
				x += std::to_string(bA) + " 0 0\n";
				bO =bO-p[i].potrebno+bA;
				bA = 0;
				
			}
			else {
				moguce = false;
				break;
			}
				
		}
		else if (p[i].tip == "B") {
			if (bB >= p[i].potrebno) {
				bB -= p[i].potrebno;
				x += "0 0 " + std::to_string(p[i].potrebno);
				x += " 0\n";
			}
			else if (bO + bB >= p[i].potrebno) {
				x += std::to_string(p[i].potrebno-bB) + " 0 "+ std::to_string(bB);
				x += " 0\n";
				bO = bO - p[i].potrebno + bB;
				bB = 0;
			}
			else {
				moguce = false;
				break;
			}

		}
		else {
			uk += p[i].potrebno;
			tp[k]= p[i].potrebno;
			k++;
			x += "ovde\n";
		}
	}
	
	if (moguce == false || uk> bO +bA+ bB+ bAB) {
		std::cout << "nemoguce";
	}
	else {
		std::string temp;
		for (int i = 0; i < k; i++) {
			if (bAB >= tp[i]) {
				temp = "0 0 0 "+std::to_string(bAB - tp[i]);
			}
			else if (bB+bAB >= tp[i]) {
				tp[i] -= bAB;
				
				temp = "0 0 " + std::to_string(tp[i]);
				temp += " "+bAB;
				bB = bB - tp[i] + bAB;
				bAB = 0;
			}
			else if (bA+bB >= tp[i]) {
				tp[i] -= bB;

				temp = "0 0 " + std::to_string(tp[i]);
				temp += " " + bB;
				bA = bA - tp[i] + bB;
				bB = 0;
			}
			else if (bO+bA >= tp[i]) {
				tp[i] -= bB;

				temp = "0 0 " + std::to_string(tp[i]);
				temp += " " + bA;
				bO = bB - tp[i] + bA;
				bO = 0;
			}

			x.replace(x.find("ovde"), 4, temp);
		}
		std::cout << temp;
	}

	return 0;
}