#include <bits/stdc++.h>
using namespace std;
string tip;
int kol;
struct slog_krv{int tip,kol,O,A,B,AB;};
slog_krv potrebno[10005];
int n,rasp_O,rasp_A,rasp_B,rasp_AB,rasp_OiAiB;
int main(){
cin>>n>>rasp_O>>rasp_A>>rasp_B>>rasp_AB;
for(int i=1;i<=n;i++){
    cin>>tip>>kol;
    if(tip=="AB")potrebno[i].tip=3;
    else if(tip=="B")potrebno[i].tip=2;
    else if(tip=="A")potrebno[i].tip=1;
    else if(tip=="O")potrebno[i].tip=0;
    potrebno[i].kol=kol;
}
///nule
for(int i=1;i<=n;i++){
    if(potrebno[i].tip!=0)continue;
    if(rasp_O<potrebno[i].kol){cout<<"nemoguce"<<endl;return 0;}
    rasp_O-=potrebno[i].kol;
    potrebno[i].O=potrebno[i].kol;
    potrebno[i].kol=0;
}
///A
for(int i=1;i<=n;i++){
    if(potrebno[i].tip!=1)continue;
    if(rasp_A+rasp_O<potrebno[i].kol){cout<<"nemoguce"<<endl;return 0;}
    if(rasp_A>potrebno[i].kol){
        rasp_A-=potrebno[i].kol;
        potrebno[i].A=potrebno[i].kol;
        potrebno[i].kol=0;
    }
    else{
        potrebno[i].kol-=rasp_A;
        potrebno[i].A=rasp_A;
        rasp_A=0;
        rasp_O-=potrebno[i].kol;
        potrebno[i].O=potrebno[i].kol;
        potrebno[i].kol=0;
    }
}
///B
for(int i=1;i<=n;i++){
    if(potrebno[i].tip!=2)continue;
    if(rasp_B+rasp_O<potrebno[i].kol){cout<<"nemoguce"<<endl;return 0;}
    if(rasp_B>potrebno[i].kol){
        rasp_B-=potrebno[i].kol;
        potrebno[i].B=potrebno[i].kol;
        potrebno[i].kol=0;
    }
    else{
        potrebno[i].kol-=rasp_B;
        potrebno[i].B=rasp_B;
        rasp_B=0;
        rasp_O-=potrebno[i].kol;
        potrebno[i].O=potrebno[i].kol;
        potrebno[i].kol=0;
    }
}
///AB
for(int i=1;i<=n;i++){
    if(potrebno[i].tip!=3)continue;
    if(rasp_A+rasp_O+rasp_B+rasp_AB<potrebno[i].kol){cout<<"nemoguce"<<endl;return 0;}
    if(rasp_AB>potrebno[i].kol){
        rasp_AB-=potrebno[i].kol;
        potrebno[i].AB=potrebno[i].kol;
        potrebno[i].kol=0;
    }
    else{
        potrebno[i].kol-=rasp_AB;
        potrebno[i].AB=rasp_AB;
        rasp_AB=0;
        if(rasp_B>potrebno[i].kol){
        rasp_B-=potrebno[i].kol;
        potrebno[i].B=potrebno[i].kol;
        potrebno[i].kol=0;
        }
        else{
            potrebno[i].kol-=rasp_B;
            potrebno[i].B=rasp_B;
            rasp_B=0;
            if(rasp_A>potrebno[i].kol){
            rasp_A-=potrebno[i].kol;
            potrebno[i].A=potrebno[i].kol;
            potrebno[i].kol=0;
            }
            else{
                potrebno[i].kol-=rasp_A;
                potrebno[i].A=rasp_A;
                rasp_A=0;
                rasp_O-=potrebno[i].kol;
                potrebno[i].O=potrebno[i].kol;
                potrebno[i].kol=0;
            }
        }
    }
}

cout<<"moguce"<<endl;
for(int i=1;i<=n;i++){
    cout<<potrebno[i].O<<" "<<potrebno[i].A<<" "<<potrebno[i].B<<" "<<potrebno[i].AB<<endl;
}
return 0;
}