#include <iostream>
#include <string>
using namespace std;

int main(int argc, char** argv) {
	
	int n, O, A, B, AB;
	cin>>n;
	A=B=O=AB=0;
	int rez[n][4];
	string tr;
	int f=0;
	int niz[n];	
	int pot[n];
	int Bp,Op,Ap,br; 
	Bp=Op=Ap=br=0;
	cin>>O>>A>>B>>AB;
	for(int i =0;i<n;i++){
		for(int j =0; j<4;j++){
			rez[i][j]=0;
		}
		niz[i]=0;
		pot[i]=0;
	}
	
	for(int i =0; i<n;i++){
		
		cin>>tr;
		cin>>br;
		pot[i]=br;
		if (tr == "O"){
		niz[i]=0;
		Op= Op+br;
		}
		else if (tr == "A"){
			niz[i]=1;
			Ap = Ap+br;
	}
		else if (tr == "B"){
			niz[i]=2;
			Bp=Bp+br;
	}
		else if (tr == "AB"){
			niz[i]=3;
}
}

for(int i =0; i <n; i++){
if (niz[i]==0){
			
			if(pot[i]>O){
				f=1;
			}
			else{
				rez[i][0]=pot[i];
				O=O-pot[i];
				Op=Op-pot[i];
			}
		}
		else if (niz[i]==1){
			if(pot[i]>A+O){
				f=1;
			}
			else{
				if(pot[i]<=A){
				
					rez[i][1]=pot[i];
				A=A-pot[i];
				Ap=Ap-pot[i];
				}
				else{
				
				rez[i][1]=A;
				pot[i]=pot[i]-A;
				Ap = Ap-A;
				A=0;
			
			O=O-pot[i];
			rez[i][0]=pot[i];
			Ap = Ap-O;
			}
		}
	}
		else if (niz[i]==2){
			if(pot[i]>B+O){
				f=1;
			}
			else{
				if(pot[i]<=B){
				
					rez[i][2]=pot[i];
				B=B-pot[i];
				Bp=Bp-pot[i];
				}
				else{
				
				rez[i][2]=B;
				pot[i]=pot[i]-B;
				Bp=Bp-B;
				B=0;
			O=O-pot[i];
			rez[i][0]=pot[i];
				Bp=Bp-O;
			}
		}
	}
		else if (niz[i]==3){
			if(O+A+B+AB<pot[i]){
				f=1;
			}
			else{
				if(AB>=pot[i]){
				rez[i][3]=pot[i];
				AB= AB-pot[i];
			}
			else{
				rez[i][3]=AB;
				pot[i]=pot[i]-AB;
				AB=0;
				if(Ap >= Bp){
					if(pot[i]<=A){
				
					rez[i][1]=pot[i];
				A=A-pot[i];
				}
				else{
				
				rez[i][1]=A;
				pot[i]=pot[i]-A;
				A=0;
					if(pot[i]<=B){
				
					rez[i][2]=pot[i];
				B=B-pot[i];
				}
				else{
				
				rez[i][2]=B;
				pot[i]=pot[i]-B;
				B=0;
				
				O=O-pot[i];
				rez[i][0]=pot[i];	
				}	
			}
			}
			else{
					if(pot[i]<=B){
				
					rez[i][2]=pot[i];
				B=B-pot[i];
				}
				else{
				
				rez[i][2]=B;
				pot[i]=pot[i]-B;
				B=0;
					if(pot[i]<=A){
				
					rez[i][1]=pot[i];
				A=A-pot[i];
				}
				else{
				
				rez[i][1]=A;
				pot[1]=pot[i]-A;
				A=0;
					
				O=O-pot[i];
				rez[i][0]=pot[i];	
				}	
			}
			}
		}
	}
}
}
		

if(f==0){
	cout<<"moguce"<<endl;
	for(int i =0; i <n; i++){
		for(int j =0;j<4;j++){
			
			cout<<rez[i][j]<<" ";
		}
		if(i!=n-1){
		
		cout<<endl;
	}
	}
}
else{
	cout<<"nemoguce";
}

	return 0;
}