#include <iostream>
#include <vector>
#include <string>
#include <array>

using namespace std;

int main(){

    int N, kolicinatrenutna;
    string trenutnagrupa;
    

    cin>>N;
    int konacno[10000][5];
    int O, A, B, AB;
    cin>>O>>A>>B>>AB;
    vector <string> krvne_grupe{};
    vector<int> kolicina{};

    for(int i=0; i<N; i++){
        cin>>trenutnagrupa;
        krvne_grupe.push_back(trenutnagrupa);
        cin>>kolicinatrenutna;
        kolicina.push_back(kolicinatrenutna);
    }

    for(int j=0; j<N; j++){
        if(krvne_grupe[j]=="O"){
            if(O>kolicina[j]){
                O -= kolicina[j];
                konacno[j][0]=kolicina[j];
                konacno[j][1]=0;
                konacno[j][2]=0;
                konacno[j][3]=0;
            }else{
                cout<<"nemoguce";
                return 0;
            }
        }
    }

    for(int x=0; x<N; x++){
        if(krvne_grupe[x]=="A"){
            if(A>kolicina[x]){
                A -= kolicina[x];
                konacno[x][0]=0;
                konacno[x][1]=kolicina[x];
                konacno[x][2]=0;
                konacno[x][3]=0;
            }else{
                konacno[x][1]=A;
                A=0;
                if(O>=kolicina[x]-konacno[x][1]){
                    O -= (kolicina[x]-konacno[x][1]);
                    konacno[x][0]=kolicina[x]-konacno[x][1];
                    konacno[x][2]=0;
                    konacno[x][3]=0;
                }else{
                    cout<<"nemoguce";
                    return 0;
                }
                
            }
        }
    }

    for(int s=0; s<N; s++){
        if(krvne_grupe[s]=="B"){
            if(B>kolicina[s]){
                B -= kolicina[s];
                konacno[s][0]=0;
                konacno[s][1]=0;
                konacno[s][2]=kolicina[s];
                konacno[s][3]=0;
            }else{
                konacno[s][2]=B;
                B=0;
                if(O>=kolicina[s]-konacno[s][2]){
                    O -= (kolicina[s]-konacno[s][2]);
                    konacno[s][0]=kolicina[s]-konacno[s][2];
                    konacno[s][1]=0;
                    konacno[s][3]=0;
                }else{
                    cout<<"nemoguce";
                    return 0;
                }
                
            }
        }
    }
    
    for(int z=0; z<N ; z++){
        if(krvne_grupe[z]=="AB"){
             if(AB>kolicina[z]){
                AB -= kolicina[z];
                konacno[z][0]=0;
                konacno[z][1]=0;
                konacno[z][2]=0;
                konacno[z][3]=kolicina[z];
            }else{
                konacno[z][3]=AB;
                AB=0;
                if(O+A+B>kolicina[z]-konacno[z][3]){
                    if(B>kolicina[z]-konacno[z][3]){
                        konacno[z][0]=0;
                        konacno[z][1]=0;
                        konacno[z][2]=kolicina[z]-konacno[z][3];
                    }else{
                        konacno[z][2]=B;
                        B=0;

                        if(A>kolicina[z]-konacno[z][3]-konacno[z][2]){
                            konacno[z][0]=0;
                            konacno[z][1]=kolicina[z]-konacno[z][3]-konacno[z][2];
                        }else{
                            konacno[z][1]=A;
                            A=0;
                            if(O>kolicina[z]-konacno[z][3]-konacno[z][2]-konacno[z][1]){
                                konacno[z][0]=kolicina[z]-konacno[z][3]-konacno[z][2]-konacno[z][1];
                            }else{
                                cout<<"nemoguce";
                                return 0;
                        }

                        }

                    }

                }else{
                    cout<<"nemoguce";
                    return 0;
                }

            }
        }
    }
    cout<<"moguce"<<endl;
    for(int m=0; m<N; m++){
        for(int y=0; y<4; y++){
            cout<<konacno[m][y]<<" ";
        }
        cout<<endl;
    }


    return 0;
}