#include <iostream>
#include <vector>
#include <string>
#include <utility>
using namespace std;
int main(){
	int n;cin>>n;
	vector<int> zalihe;
	for(int i=0;i<4;i++){
		int x;cin>>x;
		zalihe.push_back(x);
	}
	vector<string> resenja;
	vector<pair<int,int>> ABindexi;
	for(int i=0;i<n;i++){
		string x;cin>>x;
		int a;cin>>a;
		if(x=="A"){
			string res="0 0 0 0";
			if(zalihe[1]!=0){
				if(zalihe[1]>=a){
					zalihe[1]-=a;
					res[1*2]='0'+a;
				}
				else{
					a-=zalihe[1];
					res[1*2]='0'+ zalihe[1];
					if(zalihe[0]!=0){
						if(zalihe[0]>=a){
							zalihe[0]-=a;
							res[0]='0'+a;
						}
						else{
							cout<<"nemoguce";
							return 0;
						}
					}
					else{
						cout<<"nemoguce";
						return 0;
					}
				}
			}
			else if(zalihe[0]!=0){
						if(zalihe[0]>=a){
							zalihe[0]-=a;
							res[0]='0'+a;
						}
						else{
							cout<<"nemoguce";
							return 0;
						}
			}
			else{
				cout<<"nemoguce";
				return 0;
			}
			resenja.push_back(res);
		}
		else if(x=="O"){
			string res="0 0 0 0";
			if(zalihe[0]!=0){
				if(zalihe[0]>=a){
					zalihe[0]-=a;
					res[0]='0'+a;
				}
				else{
					cout<<"nemoguce";
					return 0;
				}
			}
			else{
				cout<<"nemoguce";
				return 0;
			}
			resenja.push_back(res);
		}
		else if(x=="B"){
			string res="0 0 0 0";
			if(zalihe[2]!=0){
				if(zalihe[2]>=a){
					zalihe[2]-=a;
					res[2*2]='0'+a;
				}
				else{
					a-=zalihe[2];
					res[2*2]='0'+zalihe[2];
					if(zalihe[0]!=0){
						if(zalihe[0]>=a){
							zalihe[0]-=a;
							res[0]='0'+a;
						}
						else{
							cout<<"nemoguce";
							return 0;
						}
					}
					else{
						cout<<"nemoguce";
						return 0;
					}
				}
			}
			else if(zalihe[0]!=0){
						res[2*2]='0';
						if(zalihe[0]>=a){
							zalihe[0]-=a;
							res[0]='0'+a;
						}
						else{
							cout<<"nemoguce";
							return 0;
						}
			}
			else{
				cout<<"nemoguce";
				return 0;
			}
			resenja.push_back(res);
		}
		else{
			pair<int,int> ab=make_pair(i,a);
			ABindexi.push_back(ab);
			resenja.push_back(" ");
		}
	}
	for(int i=0;i<ABindexi.size();i++){
		int a=ABindexi[i].second;
		string res="0 0 0 0";
		for(int j=3;j>=0;j--){
			if(zalihe[j]!=0){
				if(zalihe[j]>=a){
					zalihe[j]-=a;
					res[j*2]='0'+a;
					break;
				}
				else{
					a-=zalihe[j];
					res[j*2]='0'+zalihe[j];
				}
			}
		}
		if(res=="0 0 0 0"){
			cout<<"nemoguce";
			return 0;
		}
		else{
			resenja[ABindexi[i].first]=res;
		}
	}
	cout<<"moguce"<<endl;
	for(int i=0;i<n;i++){
		cout<<resenja[i]<<endl;
	}
	return 0;
}