#include <bits/stdc++.h>

using namespace std;
struct pacijent
{
    string grupa;
    int br;
};
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int n;
    cin>>n;
    int o, a, b, ab;
    cin>>o>>a>>b>>ab;
    pacijent niz[n];
    int to=0, ta=0, tb=0,tab=0; //koliko nam treba koje grupe
    for (int i=0;i<n;i++)
    {
        cin>>niz[i].grupa;
        cin>>niz[i].br;
        if (niz[i].grupa == "O") to += niz[i].br;
        else if (niz[i].grupa == "A") ta += niz[i].br;
        else if (niz[i].grupa == "B") tb += niz[i].br;
        else tab += niz[i].br;
    }
    int po = o, pa = a, pb = b, pab = ab;//pomocni
    if (to>po)
    {
        cout<<"nemoguce";
        return 0;
    }
    po -= to;
    if (ta> pa + po)
    {
        cout<<"nemoguce";
        return 0;
    }
    if (pa>=ta) pa-=ta;
    else {pa = 0; ta-=pa; po-=ta;}

    if (tb> pb + po)
    {
        cout<<"nemoguce";
        return 0;
    }
    if (pb>=tb) pb-=tb;
    else {pb = 0; tb-=pb; po-=tb;}
    if (tab> pa + pb + pab + po)
    {
        cout<<"nemoguce";
        return 0;
    }
    for (int i=0;i<n;i++)
    {
        if (niz[i].grupa == "O")
        {
            cout <<niz[i].br+" 0 0 0"<<endl;
            o-=niz[i].br;
        }
        else if (niz[i].grupa=="A")
        {
            if (a>= niz[i].br) {cout<<0<<" "<<niz[i].br<<+" "<<0<<" "<<0<<endl; a-=niz[i].br;}
            else{
                cout<<niz[i].br-a<<" "<<a<<" "<<0<<" "<<0<<endl;
                o = o -niz[i].br+a;
                a=0;
            }
        }
        else if (niz[i].grupa=="B")
        {
            if (b>= niz[i].br) {cout<<0<<" "<<0<<" "<<niz[i].br<<" "<<0<<endl; b-=niz[i].br;}
            else{
                cout<<niz[i].br-b<<" "<<0<<" "<<b<<" "<<0<<endl;
                o = o -niz[i].br+b;
                b=0;
            }
        }
        else // za ab su mi dostupne kolicine po, pa, pb i pab
        {
            if (ab>=niz[i].br){cout<<0<<" "<<0<<" "<<0<<" "<<niz[i].br<<endl; ab -= niz[i].br;}
            else if (pb + ab >= niz[i].br){
                cout<<0<<" "<<0<<" "<<niz[i].br - ab<<" "<<ab<<endl;
                b -= niz[i].br-ab;
                pb -=niz[i].br-ab;
                ab = 0;
            }
            else if (pa + pb + ab>= niz[i].br){
                cout<<0<<" "<<niz[i].br-ab-pb<<" "<<pb<<" "<<ab<<endl;
                a -= niz[i].br-ab-pb;
                pa -= niz[i].br-ab-pb;
                b -= pb;
                pb = 0;
                ab = 0;
            }
            else{
                cout<<niz[i].br-pa-pb-ab<<" "<<pa<<" "<<pb<<" "<<ab<<endl;
                o -= niz[i].br-pa-pb-ab;
                a-=pa;
                pa = 0;
                b-=pb;
                pb = 0;
                ab = 0;
            }
        }
    }
    return 0;
}