#include<bits/stdc++.h>

using namespace std;

int o,a,b,ab,n;
bool moze = true;

struct pacijent
{
    string tip;
    int broj;
    int o,a,b,ab;
};
pacijent niz[10005];

int main()
{
    cin>>n;
    cin>>o>>a>>b>>ab;
    for(int i=1;i<=n;i++)
    {
        cin>>niz[i].tip>>niz[i].broj;
        niz[i].o=0;
        niz[i].a=0;
        niz[i].b=0;
        niz[i].ab=0;
    }

    ///zadovoljiti sve O

    for(int i=1;i<=n;i++)
    {
        if(niz[i].tip=="O")
        {
//            cout<<"Dajem O\n";
            niz[i].o = niz[i].broj;
            o-=niz[i].broj;
            niz[i].broj=0;
        }
    }

    if(o<0) {cout<<"nemoguce"<<endl; return 0;}

    /// potrositi sve AB

    for(int i=1;i<=n;i++)
    {
        if(niz[i].tip=="AB")
        {
            if(ab>=niz[i].broj)
            {
//                cout<<"Dajem AB\n";
                ab-=niz[i].broj;
                niz[i].ab = niz[i].broj;
                niz[i].broj=0;
            }
            else
            {
                niz[i].broj-=ab;
                niz[i].ab=ab;
                ab=0;
                break;
            }
        }
    }

    ///zadovoljiti sve A

    for(int i=1;i<=n;i++)
    {
        if(niz[i].tip=="A")
        {
            if(a+o>=niz[i].broj)
            {
                if(a>0)
                {
//                    cout<<"Dajem A\n";
                    int pa=a;
                    a-=niz[i].broj;
                    if(a<0)
                    {
                        niz[i].a=pa;
                        a=0;
                        niz[i].broj-=pa;
                    }
                    else
                    {
                        niz[i].a=niz[i].broj;
                        niz[i].broj=0;
                        continue;
                    }
                }
                if(niz[i].broj>0)
                {
//                    cout<<"Dajem Oa\n";
                    int po=o;
                    o-=niz[i].broj;
                    niz[i].o=niz[i].broj;
                    niz[i].broj=0;
                }
            }
            else
            {
                moze=false;
                break;
            }
        }
    }

    if(moze == false) {cout<<"nemoguce"<<endl; return 0;}

    ///zadovoljiti sve B

    for(int i=1;i<=n;i++)
    {
        if(niz[i].tip=="B")
        {
            if(b+o>=niz[i].broj)
            {
                if(b>0)
                {
//                    cout<<"Dajem B\n";
                    int pb=b;
                    b-=niz[i].broj;
                    if(b<0)
                    {
                        niz[i].b=pb;
                        b=0;
                        niz[i].broj-=pb;
                    }
                    else
                    {
                        niz[i].b=niz[i].broj;
                        niz[i].broj=0;
                        continue;
                    }
                }
                if(niz[i].broj>0)
                {
//                    cout<<"Dajem Ob\n";
                    int po=o;
                    o-=niz[i].broj;
                    niz[i].o=niz[i].broj;
                    niz[i].broj=0;
                }
            }
            else
            {
                moze=false;
                break;
            }
        }
    }

    if(moze == false) {cout<<"nemoguce"<<endl; return 0;}

    ///zadovoljiti sve AB

    for(int i=1;i<=n;i++)
    {
        if(niz[i].tip=="AB")
        {
            if(a+b+o>=niz[i].broj)
            {
//                cout<<"Dajem A ili B ili O\n";
                if(a>0)
                {
                    int pa=a;
                    a-=niz[i].broj;
                    if(a<0)
                    {
                        niz[i].a=pa;
                        a=0;
                        niz[i].broj-=pa;
                    }
                    else
                    {
                        niz[i].a=niz[i].broj;
                        niz[i].broj=0;
                        continue;
                    }
                }
                if(b>0)
                {
                    int pb=b;
                    b-=niz[i].broj;
                    if(b<0)
                    {
                        niz[i].b=pb;
                        b=0;
                        niz[i].broj-=pb;
                    }
                    else
                    {
                        niz[i].b=niz[i].broj;
                        niz[i].broj=0;
                        continue;
                    }
                }
                if(o>0)
                {
                    int po=o;
                    o-=niz[i].broj;
                    if(o<0)
                    {
                        niz[i].o=po;
                        o=0;
                        niz[i].broj-=po;
                    }
                    else
                    {
                        niz[i].o=niz[i].broj;
                        niz[i].broj=0;
                        continue;
                    }
                }
            }
            else
            {
                moze=false;
                break;
            }
        }
    }

    if(moze == false) {cout<<"nemoguce"<<endl; return 0;}

    cout<<"moguce"<<endl;
    for(int i=1;i<=n;i++)
    {
        cout<<niz[i].o<<" "<<niz[i].a<<" "<<niz[i].b<<" "<<niz[i].ab<<endl;
    }


    return 0;
}