#include<iostream>
#include<cmath>
#include<cstring>


using namespace std;

int main()
{
    int O,A,B,AB,N,x;
    string c,c1="A",c2="B",c3="O";
    bool moguce=true;
    cin>>N;
    int matrica[N][4];
    cin>>O>>A>>B>>AB;
    for(int i=0; i<N; i++)
    {
        cin>>c>>x;
        for(int j=0; j<4; j++)
        {
            matrica[i][j]=0;
        }
        if(c==c3)
            matrica[i][0]=x;
        else
        {
            if(c==c1)
                matrica[i][1]=x;
            else
            {
                if(c==c2)
                    matrica[i][2]=x;
                else
                    matrica[i][3]=x;

            }
        }

    }


    int resenje[N][4];
        for(int i=0; i<N; i++)
            for(int j=0; j<4; j++)
            resenje[i][j]=0;



    for(int i=0;i<N;i++){
        if(matrica[i][0]!=0){
            if(O<matrica[i][0]){
                moguce=false;
                break;
            }
            else{
                O-=matrica[i][0];
                resenje[i][0]=matrica[i][0];
        }
    }
    }
    if(!moguce)
        cout<<"nemoguce";
    else{

          for(int i=0;i<N;i++){
        if(matrica[i][1]!=0){
            if(O+A<matrica[i][1]){
                moguce=false;
                break;
            }
            else{
               if(A>=matrica[i][1]){
                    A-=matrica[i][1];
                    resenje[i][1]=matrica[i][1];
               }
               else{
                    O=O-(matrica[i][1]-A);
                    resenje[i][0]=matrica[i][1]-A;
                    resenje[i][1]=A;
                    A=0;
               }
        }
    }
    }
    if(!moguce)
        cout<<"nemoguce";
    else{
               for(int i=0;i<N;i++){
        if(matrica[i][2]!=0){
            if(O+B<matrica[i][2]){
                moguce=false;
                break;
            }
            else{
               if(B>=matrica[i][2]){
                    B-=matrica[i][2];
                    resenje[i][2]=matrica[i][2];
               }
               else{
                    O=O-(matrica[i][2]-B);
                    resenje[i][0]=matrica[i][2]-B;
                    resenje[i][2]=B;
                    B=0;
               }
        }
    }
    }
    if(!moguce)
        cout<<"nemoguce";
    else{

           for(int i=0;i<N;i++){
        if(matrica[i][3]!=0){
            if(O+A+B+AB<matrica[i][1]){
                moguce=false;
                break;
            }
            else{
               if(AB>=matrica[i][3]){
                    AB-=matrica[i][3];
                    resenje[i][3]=matrica[i][3];
               }
               else{
                    resenje[i][3]=AB;
                    matrica[i][3]-=AB;
                    if(B>=matrica[i][3]){
                        resenje[i][2]=B- matrica[i][3];
                        B-= matrica[i][3];
                    }
                    else{
                        resenje[i][2]=B;
                        matrica[i][3]-=B;
                        B=0;
                        if(A>=matrica[i][3]){
                                resenje[i][1]=A- matrica[i][3];
                        A-= matrica[i][3];
                        }
                        else{
                        resenje[i][1]=A;
                        matrica[i][3]-=A;
                        A=0;
                        resenje[i][0]=matrica[i][3];
                        O-=matrica[i][3];
                        }

                    }

               }
        }
    }
    }
    if(!moguce)
        cout<<"nemoguce";
    else{
            cout<<endl<<"moguce"<<endl;
            for(int i=0; i<N; i++)
    {
        for(int j=0; j<4; j++)
            cout<<resenje[i][j]<<" ";
        cout<<endl;
    }

    }

    }
    }
    }




    return 0;
}