#include <bits/stdc++.h>
#include <limits.h>

using namespace std;

void solve(){
	int n; cin>>n;
	int o=0,a=0,b=0,ab=0;
	int krv[4];
	for(int i=0; i<4; i++){
		cin>>krv[i];
	}
	string out[n];
	//korisnici
	for(int i=0; i<n; i++){
		string s;
		
		cin>>s;
		int temp; cin>>temp;
		if(s=="O"){
			//Provera za krvnu grupu 0
			o=temp;
			if(krv[0]-o>=0){
				krv[0]-=o;
				out[i]=to_string(o)+" 0 0 0";
			}else{
				cout<<"nemoguce"<<endl;
				return; 
			}
		}else if(s=="A"){
			a=temp;
			if(krv[1]-a>=0){
				krv[1]-=a;
				out[i]="0 "+to_string(a)+" 0 0"; 
			}else if((krv[1]+krv[0])-a>=0){
				a-=krv[1];
				out[i]=to_string(a)+" "+to_string(krv[1])+" 0 0";
				krv[1]=0;
				krv[0]-=a;

			}else {
				cout<<"nemoguce"<<endl;
				return; 
			}
			
		}else if(s=="B"){
			b=temp;
			if(krv[2]-b>=0){
				krv[2]-=b;
				out[i]="0 0 "+to_string(b)+" 0";
			}else if((krv[2]+krv[0])-b>=0){
				b-=krv[2];
				out[i]=to_string(b)+" 0 "+to_string(krv[2])+" 0";
				krv[2]=0;
				krv[0]-=b;
			}else{
				cout<<"nemoguce"<<endl;
				return; 
			}
		}else{
			ab=temp;
			if((krv[3]-ab)>=0){
				out[i]="0 0 0 "+to_string(ab);
			}else if((krv[2]+krv[3])-ab>=0){
				out[i]="0 0 "+to_string(ab-krv[3])+" "+to_string(krv[3]);
			}else if((krv[1]+krv[2]+krv[3])-ab>=0){
				out[i]="0 "+to_string(ab-(krv[2]+krv[3]))+" "+to_string(krv[2])+" "+to_string(krv[3]);
			}else if((krv[0]+krv[1]+krv[2]+krv[3])-ab>=0){
				out[i]= to_string(ab-(krv[2]+krv[3]+krv[1]))+" "+to_string(krv[1])+" "+to_string(krv[2])+" "+to_string(krv[3]);
			}else{
				cout<<"nemoguce"<<endl;
				return;
			}
		}
	}
	cout<<"moguce"<<endl;
	for(int i=0; i<n; i++){
		cout<<out[i]<<endl;

	}

}

int main(){

	solve();
   

	
}