#include <bits/stdc++.h>

using namespace std;

typedef struct Krv
{
    string grupa;
    int br;
}Krv;

int main()
{
    int n;
    cin>>n;
    int o,a,b,ab;
    string s;
    int broj;
    vector<Krv> pacient(n);
    int rez [n][4];
    for (int i=0;i<n;i++)
    {
        rez[i][0]=0;
        rez[i][1]=0;
        rez[i][2]=0;
        rez[i][3]=0;
    }
    cin>>o>>a>>b>>ab;
    for (int i=0;i<n;i++)
    {
        cin>>s;
        cin>>broj;
        pacient[i].grupa=s;
        pacient[i].br=broj;
    }
    int ok=0;
    for (int i=0;i<n;i++)
    {
        if (pacient[i].grupa=="O")
        {
            if (pacient[i].br<=o)
            {
                o=o-pacient[i].br;
                rez[i][0]=pacient[i].br;
            }
            else
            {
                ok=1;
                break;
            }
        }
    }
    if (ok==1)
    {
        cout<<"nemoguce"<<endl;
        return 0;
    }
    for (int i=0;i<n;i++)
    {
        if (pacient[i].grupa=="A")
        {
            if (pacient[i].br <= o+a)
            {
                if (pacient[i].br<=a)
                {
                    a=a-pacient[i].br;
                    rez[i][1]=pacient[i].br;
                }
                else
                {
                    rez[i][1]=a;
                    rez[i][0]=pacient[i].br-a;
                    o=o-(pacient[i].br-a);
                    a=0;
                }
            }
            else
            {
                ok=1;
            }
        }
        if (pacient[i].grupa=="B")
        {
            if (pacient[i].br <= o+b)
            {
                if (pacient[i].br<=b)
                {
                    b=b-pacient[i].br;
                    rez[i][2]=pacient[i].br;
                }
                else
                {
                    rez[i][2]=b;
                    rez[i][0]=pacient[i].br-b;
                    o=o-(pacient[i].br-b);
                    b=0;
                }
            }
            else
            {
                ok=1;
            }
        }
    }
    if (ok==1)
    {
        cout<<"nemoguce"<<endl;
        return 0;
    }
    for (int i=0;i<n;i++)
    {
        if (pacient[i].grupa=="AB")
        {
            if (pacient[i].br<=ab+a+b+o)
            {
                if (pacient[i].br<=ab)
                {
                    rez[i][3]=pacient[i].br;
                    ab=ab-pacient[i].br;
                }
                else
                {
                    rez[i][3]=ab;
                    pacient[i].br=pacient[i].br-ab;
                    ab=0;
                    if (pacient[i].br<=a)
                    {
                        rez[i][1]=pacient[i].br;
                        a=a-pacient[i].br;
                    }
                    else
                    {
                        rez[i][1]=a;
                        pacient[i].br=pacient[i].br-a;
                        a=0;
                        if (pacient[i].br<=b)
                        {
                            rez[i][2]=pacient[i].br;
                            b=b-pacient[i].br;
                        }
                        else
                        {
                            rez[i][2]=b;
                            pacient[i].br=pacient[i].br-b;
                            b=0;
                            rez[i][0]=pacient[i].br;
                            o=o-pacient[i].br;
                        }
                    }
                }
            }
            else
            {
                ok=1;
                break;
            }
        }

    }
    if (ok==1)
    {
        cout<<"nemoguce";
    }
    else
    {
        cout<<"moguce"<<endl;
        for (int i=0;i<n;i++)
        {
            cout <<rez[i][0]<<" "<<rez[i][1]<<" "<<rez[i][2]<<" "<<rez[i][3]<<endl;
        }
    }
}