#include <bits/stdc++.h>
#include <string>
using namespace std;

int main(){
	
	long N;
	cin >> N;
	vector<long int> kolicina(4);
	for(int i=0;i<4;i++){
		cin>>kolicina[i];
	}
	//string grup[N];
	vector<string> grup(N);
	fflush(stdin);
	vector<long int> potr(N);
	int counter = 0,ind=0;
	while(counter < N){
	
		string hel;
		getline(cin ,hel );
		stringstream line_stream(hel);
		line_stream >> grup[ind] >> potr[ind];
		ind++;
		counter++;
	}
	//printf("\n Prvi put %ld %ld %ld %ld \n",kolicina[3],kolicina[1],kolicina[2],kolicina[3]);
	vector<vector<long int> > ans (N , vector<long int>(4 ,0)) ;
	
	for(int i=0;i<N;i++){
		if(grup[i] == "O"){
			if(kolicina[0] >= potr[i]){
			ans[i][0] = potr[i];
			kolicina[0]-=potr[i];
			}else{
				printf("nemoguce");
				return 0;
			}
		}
	}
	//printf("\n Nulta %ld %ld %ld %ld \n",kolicina[0],kolicina[1],kolicina[2],kolicina[3]);
	for(int i=0;i<N;i++){
		
		if(grup[i] == "A"){
			int ost = potr[i];
			if(kolicina[1]+kolicina[0] >= potr[i]){
				
				ans[i][1] = min(potr[i] , kolicina[1]);
				kolicina[1]-=ans[i][1];
				ost -= ans[i][1];
				if(kolicina[0] >= ost && ost > 0  ){
					ans[i][0] = ost;
					kolicina[0]-=ost;
				}
			}else{
				printf("nemoguce");
				return 0;
			}
		}
	}
	//printf("\n A %ld %ld %ld %ld \n",kolicina[0],kolicina[1],kolicina[2],kolicina[3]);
	for(int i=0;i<N;i++){
		if(grup[i] == "B"){
			int ost = potr[i];
			if(kolicina[2]+kolicina[0] >= potr[i]){
				
				ans[i][2] = min(potr[i] , kolicina[2]);
				kolicina[2]-=ans[i][2];
				ost -= ans[i][2];
				if(kolicina[0] >= ost && ost > 0  ){
					ans[i][0] = ost;
					kolicina[0]-=ost;
				}
			}else{
				printf("nemoguce");
				return 0;
			}
		}
	}
	//printf("\n B %ld %ld %ld %ld \n",kolicina[0],kolicina[1],kolicina[2],kolicina[3]);
	for(int i=0;i<N;i++){
		if(grup[i] == "AB"){
			long int ost = potr[i]; 
			if(kolicina[2]+kolicina[0] + kolicina[1] + kolicina[3] >= potr[i]){
				
				ans[i][3] = min(kolicina[3] , potr[i]);
				kolicina[3] -= ans[i][3];
				ost = potr[i] - ans[i][3];
				
				
				if(ost > 0 ){
					if(kolicina[2] !=0){
						ans[i][2] = min(ost , kolicina[2]);
						kolicina[2] -= ans[i][2];
					}
				}
				
				ost = ost - ans[i][2];
				if(ost > 0 ){
					if(kolicina[1] !=0){
						ans[i][1] = min(ost , kolicina[1]);
						kolicina[1] -= ans[i][1];
					}
				}
				
				ost = ost - ans[i][1];
				if(ost > 0 ){
					if(kolicina[0] !=0){
						ans[i][0] = min(ost , kolicina[0]);
						kolicina[0] -= ans[i][0];
					}
				}
				
			}else{
				printf("nemoguce");
				return 0;
			}
		}
	}
	
	
	printf("moguce\n");
	for(int i=0;i<N;i++){
		printf("%ld %ld %ld %ld \n",ans[i][0],ans[i][1],ans[i][2],ans[i][3]);
	}
		//printf("\n %ld %ld %ld %ld \n",kolicina[0],kolicina[1],kolicina[2],kolicina[3]);
	return 0;
}