#include <bits/stdc++.h>
using namespace std;

int main(){
    bool rez=1;
    int n,o,a,b,ab;
    cin>>n>>o>>a>>b>>ab;
    pair<string,int> arr[n];
    pair<int, int> pairA;
    pairA.first=2,147,483,647;
    pair<int, int> pairB;
    pairB.first=2,147,483,647;
    int svaKrv, trazenaKrv;
    svaKrv=o+a+b+ab;
    for(int i=0; i<n; i++){
        cin>>arr[i].first>>arr[i].second;
        trazenaKrv+=arr[i].second;
    }

    if(svaKrv>=trazenaKrv){
        //PROVERA ZA NULE
        for(int i=0; i<n; i++){
            if(arr[i].first=="O"){
                o-=arr[i].second;
            }
            if(o<0)
                rez=0;
        }
        //PROVERA ZA A
        bool prviA=0, indexA=0;
        for(int i=0; i<n; i++){
            if(arr[i].first=="A"){
                indexA++;
                a-=arr[i].second;
                if(a<0 && o>=0){
                    if(prviA==0){
                        pairA.first=indexA;
                        pairA.second=abs(a);
                    }
                    prviA=1;
                    o+=a;
                    a=0;
                    if(o<0)
                        rez=0;
                }
            }
        }
        //PROVERA ZA B
        bool prviB=0, indexB=0;
        for(int i=0; i<n; i++){
            if(arr[i].first=="B"){
                indexB++;
                b-=arr[i].second;
                if(b<0 && o>=0){
                    if(prviB==0){
                        pairB.first=indexB;
                        pairB.second=abs(b);
                    }
                    prviB=1;
                    o+=b;
                    b=0;
                    if(o<0)
                        rez=0;
                }
            }
        }
    }
    else
        rez=0;
    if(rez==0)
        cout<<"nemoguce";
    else{
        cout<<"moguce"<<"\n";
        for(int i=0; i<n; i++){
            if(arr[i].first=="O"){
                cout<<arr[i].second<<" "<<0<<" "<<0<<" "<<0<<"\n";
            }
            int indexA=0;
            if(arr[i].first=="A"){
                indexA++;
                if(indexA<pairA.first){
                    cout<<0<<" "<<arr[i].second<<" "<<0<<" "<<0<<"\n";
                }
                else if(indexA==pairA.first){
                    cout<<pairA.second<<" "<<arr[i].second-pairA.second<<" "<<0<<" "<<0<<"\n";
                }
                else{
                    cout<<arr[i].second<<" "<<0<<" "<<0<<" "<<0<<"\n";
                }

            }
            int indexB=0;
            if(arr[i].first=="B"){
                indexB++;
                if(indexB<pairB.first){
                cout<<0<<" "<<0<<" "<<arr[i].second<<" "<<0<<"\n";
                }
                else if(indexB==pairB.first){
                    cout<<pairB.second<<" "<<0<<" "<<arr[i].second-pairB.second<<" "<<0<<"\n";
                }
                else{
                    cout<<arr[i].second<<" "<<0<<" "<<0<<" "<<0<<"\n";
                }

            }
            int brA=0,brB=0,brO=0,brAB=0;
            if(arr[i].first=="AB"){
                while(arr[i].second>0){
                    arr[i].second--;
                    if(o>0){
                        o--;
                        brO++;
                    }
                    else if (a>0){
                        a--;
                        brA++;
                    }
                    else if(b>0){
                        b--;
                        brB++;
                    }
                    else{
                        ab--;
                        brAB++;
                    }
                }
                cout<<brO<<" "<<brA<<" "<<brB<<" "<<brAB<<"\n";
                brO=0;
                brA=0;
                brB=0;
                brAB=0;
            }
        }
    }
    return 0;
}