#include <iostream>
#include <string>
using namespace std;
int main() {

	unsigned short int N,no;
	unsigned int n,O,A,B,AB,pO=0,pA=0,pB=0,pAB=0;
	
	cin>>N>>O>>A>>B>>AB;	
	string kg[N];
	unsigned int niz[N];
	for(no=0;no<N;no++){
		cin>>kg[no];
		cin>>niz[no];
	}
																		string str[N];
								
													unsigned int uA, uB, uAB, uO;
													
													for(no=0;no<N;no++)
													{
														uO=0;
														uA=0;
														uB=0;
														uAB=0;
														if(kg[no]=="A")
														{
															if(A>=niz[no])
															{
																uA=niz[no];
																A=A-niz[no];	
															}
															else
															{
																
																uA+=A;
																A=0;
																niz[no]-=uA;
																if(O>=niz[no]){
																	O-=niz[no];
																	uO+=niz[no];
																}
																else{
																	cout<<"nemoguce";
																	return 0;
																}
															
															}
														}
														else
														{
															if(kg[no]=="B")
															{
																if(B>=niz[no])
																{
																	uB=niz[no];
																	B=B-niz[no];	
																}
																else
																{
																	uB+=B;
																	B=0;
																	niz[no]-=uB;
																	if(O>=niz[no]){
																		O-=niz[no];
																	uO+=niz[no];
																}
																else{
																	cout<<"nemoguce";
																	return 0;
																}
																
																}
																
															}	
															else
															{
																if(kg[no]=="AB")
																	{
																		if(AB>=niz[no])
																		{
																			uAB=niz[no];
																			AB=AB-niz[no];	
																		}
																		else
																		{
																			uAB+=AB;
																			AB=0;
																			niz[no]-=uAB;
																			if(A>=niz[no])
																				{
																					uA+=niz[no];
																					A=A-niz[no];	
																				}
																				else
																				{
	
																					uA+=A;
																					A=0;
																					niz[no]-=uA;
																					if(B>=niz[no])
																						{
																							uB=niz[no];
																							B=B-niz[no];	
																						}
																						else
																						{
																							uB+=B;
																							B=0;
																							niz[no]-=uB;
																							if(O>=niz[no])
																							{
																								uO+=niz[no];
																								O-=niz[no];
																								
																							}
																						
																							else
																							{
																								cout<<"nemoguce";
																								return 0;
																							}
																						
																						}
																				}
																		}	
																	
																	}
																else
																{
																		if(niz[no]<=O){																		
																		uO=niz[no];							
																		O-=niz[no];
																		}
																		else
																		{
																		cout<<"nemoguce";
																		return 0;
																		}

																		
																}			
															}
														}	
														str[no]+=to_string(uO);
														str[no]+=' ';
														str[no]+=to_string(uA);
														str[no]+=' ';
														str[no]+=to_string(uB);
														str[no]+=' ';
														str[no]+=to_string(uAB);
														
													}
                                                    cout<<"moguce"<<endl;
													for(no=0;no<N;no++)	
													{
														cout<<str[no]<<"\n";	
													}													
													return 0;

												}