#include <stdio.h>

int main()
{
    int n,o=0,a=0,b=0,ab=0;
    scanf("%d",&n);
    int oznaka[n],vrednost[n];
    int niz[n][4];
    for (int i=0;i<n;i++)
        for (int j=0;j<4;j++) niz[i][j]=0;
    int O,A,B,AB;
    int O1,A1,B1,AB1;
    scanf("%d%d%d%d",&O,&A,&B,&AB);
    O1=O;
    A1=A;
    B1=B;
    AB1=AB;
    for (int i=0;i<n;i++)
    {
        char s[2];
        int x;
        scanf("%s%d",s,&x);
        vrednost[i]=x;
        if (s[0]=='O')
        {
            o+=x;
            oznaka[i]=0;
        }
        else if (s[0]=='B')
        {
            b+=x;
            oznaka[i]=2;
        }
        else if (s[1]=='B')
        {
            ab+=x;
            oznaka[i]=3;
        }
        else
        {
            a+=x;
            oznaka[i]=1;
        }
    }
    AB=AB1;
    if (o>O)
    {
        printf("nemoguce");
        return 0;
    }


    O-=o;



    ab-=AB;
    if (ab<0) ab=0;

    if (A>a)
    {
        A-=a;
        a=0;
    }
    else
    {
        a-=A;
        A=0;
    }


    if (B>b)
    {
        B-=b;
        b=0;
    }
    else
    {
        b-=B;
        B=0;
    }

    if (O<a+b)
    {
        printf("nemoguce");
        return 0;
    }
    O=O-a-b;
    if (O<0) O=0;
    if (O+A+B<ab)
    {
        printf("nemoguce");
        return 0;
    }
    else printf("moguce\n");

    O=O1;
    A=A1;
    B=B1;
    AB=AB1;

    for (int i=0;i<n;i++)
    {
        if (oznaka[i]==0)
        {
            niz[i][0]=vrednost[i];
            O-=vrednost[i];
        }
    }

    for (int i=0;i<n;i++)
    {
        if (oznaka[i]==1)
        {
            if (A<vrednost[i])
            {
                niz[i][1]=A;
                vrednost[i]-=A;
                A=0;
            }
            else
            {
                A-=vrednost[i];
                niz[i][1]=vrednost[i];
                vrednost[i]=0;
            }
            O-=vrednost[i];
            niz[i][0]=vrednost[i];
        }
    }

    for (int i=0;i<n;i++)
    {
        if (oznaka[i]==2)
        {
            if (B<vrednost[i])
            {
                niz[i][2]=B;
                vrednost[i]-=B;
                B=0;
            }
            else
            {
                B-=vrednost[i];
                niz[i][2]=vrednost[i];
                vrednost[i]=0;
            }
            O-=vrednost[i];
            niz[i][0]=vrednost[i];
        }
    }

    for (int i=0;i<n;i++)
    {
        if (oznaka[i]==3)
        {
            if (O<vrednost[i])
            {
                niz[i][0]=O;
                vrednost[i]-=O;
                O=0;
            }
            else
            {
                niz[i][0]=vrednost[i];
                O-=vrednost[i];
                vrednost[i]=0;
            }

            if (A<vrednost[i])
            {
                niz[i][1]=A;
                vrednost[i]-=A;
                A=0;
            }
            else
            {
                A-=vrednost[i];
                niz[i][1]=vrednost[i];
                vrednost[i]=0;
            }

            if (B<vrednost[i])
            {
                niz[i][2]=B;
                vrednost[i]-=B;
                B=0;
            }
            else
            {
                B-=vrednost[i];
                niz[i][2]=vrednost[i];
                vrednost[i]=0;
            }

            if (AB<vrednost[i])
            {
                niz[i][3]=AB;
                AB=0;
                vrednost[i]-=AB;
            }
            else
            {
                AB-=vrednost[i];
                niz[i][3]=vrednost[i];
                vrednost[i]=0;
            }
        }
    }

    for (int i=0;i<n;i++)
    {
        printf("%d %d %d %d\n",niz[i][0],niz[i][1],niz[i][2],niz[i][3]);
    }
}