#include <iostream>
#include<math.h>
using namespace std;
int main()
{
    int N,O,A,B,AB;
    bool moguce = true;
    string c;
    int br;
    cin>>N;
    string grupe[N];
    int brojJed[N];
    int pO[N],pA[N],pB[N],pAB[N];
    cin>>O>>A>>B>>AB;
    for(int i = 0; i<N; i++){
        cin>>c>>br;
        grupe[i] = c;
        brojJed[i] = br;
    }
    for(int i =0 ;i<N&&moguce;i++){
        if(grupe[i] == "O"){
            if((O-brojJed[i])>0){
            pO[i] = brojJed[i];
            pA[i] = 0;
            pB[i] = 0;
            pAB[i] = 0;
            O -= brojJed[i];
            }else{
                moguce = false;
            }
        }
    }
    for(int i =0 ;i<N&&moguce;i++){
        if(grupe[i] == "A"){
            if((A-brojJed[i])>0){
            pO[i] = 0;
            pA[i] = brojJed[i];
            pB[i] = 0;
            pAB[i] = 0;
            A = A-brojJed[i];
            }else if(abs(A-brojJed[i])<O){
                pO[i] = brojJed[i]-A;
                pA[i] = A;
                pB[i] = 0;
                pAB[i] = 0;
                O -= pO[i];
                A = 0;
            }else{
                moguce = false;
            }
        }else if(grupe[i] == "B"){
            if((B-brojJed[i])>0){
            pO[i] = 0;
            pA[i] = 0;
            pB[i] = brojJed[i];
            pAB[i] = 0;
            B = B-brojJed[i];
            }else if(abs(B-brojJed[i])<O){
                pO[i] = brojJed[i]-B;
                pA[i] = 0;
                pB[i] = B;
                pAB[i] = 0;
                O -= pO[i];
                B = 0;
            }else{
                moguce = false;
            }
        }
    }
    for(int i =0 ;i<N&&moguce;i++){
        if(grupe[i] == "AB"){
            if((AB-brojJed[i])>0){
            pO[i] = 0;
            pA[i] = 0;
            pB[i] = 0;
            pAB[i] = brojJed[i];
            AB -= brojJed[i];
            }else if(abs(AB-brojJed[i])-(AB+A+B+O)){
                pAB[i] = AB;
                brojJed[i]= brojJed[i] - AB;
                AB -=pAB[i];
                if(brojJed[i] >0){
                    if(brojJed[i]<A){
                        A-= brojJed[i];
                        brojJed[i] = 0;
                        pA[i] = brojJed[i];
                    }else{
                        brojJed[i] -= A;
                        pA[i] = A;
                        A = 0;
                    }
                }
                if(brojJed[i]>0){
                    if(brojJed[i]<B){
                        B-= brojJed[i];
                        brojJed[i] = 0;
                        pB[i] = brojJed[i];
                    }else{
                        brojJed[i] -= B;
                        pB[i] = B;
                        B = 0;
                    }
                }
                if(brojJed[i]>0){
                    if(brojJed[i]<O){
                        O-= brojJed[i];
                        brojJed[i] = 0;
                        pO[i] = brojJed[i];
                    }else{
                        moguce = false;
                    }
                }else{
                    pO[i] =0;
                }

            }else
            {
                moguce = false;
            }
        }
    }
    if(moguce){
        cout<<"moguce"<<endl;
        for(int i =0; i<N; i++){
            cout<<pO[i]<<" "<<pA[i]<<" "<<pB[i]<<" "<<pAB[i]<<endl;
        }
    }else{
        cout<<"nemoguce"<<endl;
    }


    return 0;
}