#include<iostream>
#include<queue>
using namespace std;
int main(){
int zalihe[4];
int n;
cin>>n;
for(int i=0;i<4;i++){
    cin>>zalihe[i];
}
queue<pair<string,int>> pacijenti;
for(int i=0;i<n;i++){
    string c;int a;
    cin>>c>>a;
    pair<string,int> p;
    p.first=c;
    p.second=a;
    pacijenti.push(p);
}
bool moguce=true;
int ispis[n][4];
for(int i=0;i<n;i++){
    for(int j=0;j<4;j++){
        ispis[i][j]=0;
    }
}
int i=0;
int pr=0;
while(!pacijenti.empty()){
    pair<string,int> pac;

    pac=pacijenti.front();
    if(pac.first=="O"){
           pr=1;
    }
    if(pac.first=="A"||pac.first=="B"){
        pr=2;
    }
    if(pac.first=="AB"){
        pr=3;
    }
    if(pr==1){
            cout<<"bio sam";
        if(pac.second>zalihe[0]){
            moguce=false;
            break;
        }
        else{
            zalihe[0]-=pac.second;
            ispis[i][0]=pac.second;
            pacijenti.pop();
            i++;
        }

    }
    
    if(pr==2&&pac.first=="A"){
        if(pac.second<=zalihe[1]){
            zalihe[1]-=pac.second;
            ispis[i][1]=pac.second;
            pacijenti.pop();
            i++;
            }
            else{
            pac.second-=zalihe[1];
            zalihe[1]=0;
            pr--;
            }

    }
    if(pr==2&&pac.first=="B"){
        if(pac.second<=zalihe[2]){
            zalihe[2]-=pac.second;
            ispis[i][2]=pac.second;
            pacijenti.pop();
            i++;
        }
        else{
            pac.second-=zalihe[2];
            zalihe[2]=0;
            pr--;
            }
    }
    if(pac.first=="AB"){
        if(zalihe[1]==0&&zalihe[2]==0){
            pr--;
        }
        else if(zalihe[1]>zalihe[2]){
                if(pac.second<=zalihe[1]){
                zalihe[1]-=pac.second;
                ispis[i][1]=pac.second;
                pacijenti.pop();
                i++;
                }
                else{
                pac.second-=zalihe[1];
                zalihe[1]=0;
                if(pac.second<=zalihe[2]){
                zalihe[2]-=pac.second;
                ispis[i][2]=pac.second;
                pacijenti.pop();
                i++;
                }
                else{
                    pac.second-=zalihe[2];
                    zalihe[2]=0;
                    pr--;
                }
            }
    }
            else{
                    if(pac.second<=zalihe[2]){
                zalihe[2]-=pac.second;
                ispis[i][2]=pac.second;
                pacijenti.pop();
                i++;
                }
                else{
                pac.second-=zalihe[2];
                zalihe[2]=0;
                if(pac.second<=zalihe[1]){
                zalihe[1]-=pac.second;
                ispis[i][1]=pac.second;
                pacijenti.pop();
                i++;
                }
                else{
                    pac.second-=zalihe[1];
                    zalihe[1]=0;
                    pr--;
                }
            }

            }
        }
    
    if(pr==3){
        if(pac.second<zalihe[3]){
            zalihe[3]-=pac.second;
            ispis[i][3]=pac.second;
        }
        else{
            pac.second-=zalihe[3];
            zalihe[3]=0;
            pr--;
        }
    }

}

if(moguce){
    cout<<"moguce\n";
    for(int i=0;i<n;i++){
    for(int j=0;j<4;j++){
        cout<<ispis[i][j]<<"\t";
    }
    cout<<"\n";
}
}
else {
    cout<<"nemoguce";
}
return 0;
}