#include <iostream>
#include <string>

using namespace std;

int main() {
	int broj_pacijenata;
	cin>>broj_pacijenata;
	int broj_jedinica[4];
	cin>>broj_jedinica[0]>>broj_jedinica[1]>>broj_jedinica[2]>>broj_jedinica[3];
	int opisi_pacijenata[broj_pacijenata][4];
	int raspodela[broj_pacijenata][4];
	for (int i = 0; i < broj_pacijenata; i++){
		for (int j = 0; j < 4; j++){
			opisi_pacijenata[i][j] = 0;
			raspodela[i][j] = 0;
		}
	}
	string krvna_grupa;
	int kolicina;
	bool nemoguce = false;
	for (int i = 0; i < broj_pacijenata; i++){
		cin>>krvna_grupa>>kolicina;
		if (krvna_grupa == "O"){
			opisi_pacijenata[i][0] = kolicina;
		}
		else if (krvna_grupa == "A"){
			opisi_pacijenata[i][1] = kolicina;
		}
		if (krvna_grupa == "B"){
			opisi_pacijenata[i][2] = kolicina;
		}
		if (krvna_grupa == "AB"){
			opisi_pacijenata[i][3] = kolicina;
		}
	}
	for (int i = 0; i < broj_pacijenata; i++){
		int potrebna_kolicina = opisi_pacijenata[i][0] + opisi_pacijenata[i][1] + opisi_pacijenata[i][2] + opisi_pacijenata[i][3];
//		cout<<zbir;
		for (int j = 0; j < potrebna_kolicina; j++){
//			cout<<j;
			if (opisi_pacijenata[i][0] != 0){
				if (broj_jedinica[0] == 0){
					nemoguce = true;
					break;
				}
				else{
					raspodela[i][0] += 1;
					broj_jedinica[0] -= 1;
					opisi_pacijenata[i][0] -= 1;
				}
			}
			else if (opisi_pacijenata[i][1] != 0){
				if (broj_jedinica[0] == 0 && broj_jedinica[1] == 0){
					nemoguce = true;
					break;
				}
				else{
					if (broj_jedinica[1] != 0){
						raspodela[i][1] += 1;
						broj_jedinica[1] -= 1;
						opisi_pacijenata[i][1] -= 1;	
					}
					else if (broj_jedinica[0] != 0){
						raspodela[i][0] += 1;
						broj_jedinica[0] -= 1;
						opisi_pacijenata[i][1] -= 1;
					}
				}
			}
			else if (opisi_pacijenata[i][2] != 0){
				if (broj_jedinica[2] == 0 && broj_jedinica[0] == 0){
					nemoguce = true;
					break;
				}
				else{
					if (broj_jedinica[2] != 0){
						raspodela[i][2] += 1;
						broj_jedinica[2] -= 1;
						opisi_pacijenata[i][2] -= 1;	
					}
					else if (broj_jedinica[0] != 0){
						raspodela[i][0] += 1;
						broj_jedinica[0] -= 1;
						opisi_pacijenata[i][2] -= 1;
					}
				}
			}
			else if (opisi_pacijenata[i][3] != 0){
				if (broj_jedinica[3] == 0 && broj_jedinica[0] == 0 && broj_jedinica[1] == 0 && broj_jedinica[2] == 0){
					nemoguce = true;
					break;
				}
				else{
					if (broj_jedinica[3] != 0){
						raspodela[i][3] += 1;
						broj_jedinica[3] -= 1;
						opisi_pacijenata[i][3] -= 1;
					}
					else if (broj_jedinica[1] != 0){
						raspodela[i][1] += 1;
						broj_jedinica[1] -= 1;
						opisi_pacijenata[i][3] -= 1;
					}
					else if (broj_jedinica[2] != 0){
						raspodela[i][2] += 1;
						broj_jedinica[2] -= 1;
						opisi_pacijenata[i][3] -= 1;
					}
					else if (broj_jedinica[0] != 0){
						raspodela[i][0] += 1;
						broj_jedinica[0] -= 1;
						opisi_pacijenata[i][3] -= 1;
					}
				}
			}
		}
		if (nemoguce){
			break;
		}
	}
	if(nemoguce){
		cout<<"nemoguce";
	}
	else{
		cout<<"\nmoguce\n";
		for (int i = 0; i < broj_pacijenata; i++){
			for (int j = 0; j < 4; j++){
				cout<<raspodela[i][j]<<" ";
			}
			cout<<"\n";
		}
	}
	return 0;
}