#include <iostream>
#include <string>
#include <vector>

using namespace std;

int main()
{
    int o,a,b,ab,potrebnoO=0,potrebnoA=0,potrebnoB=0, potrebnoAB=0,n,broj;
    bool mogucnost = true;
    cin >> n;
    int  potrebneKolicine[n], resenje[n][4];
    string krvneGrupe[n];
    vector<int> pozicijeAB;
    cin >> o >> a >> b >> ab;
    for(int x=0; x<n; ++x)
    {
        cin >> krvneGrupe[x] >> broj;
        if(krvneGrupe[x] == "O")
            potrebnoO += broj;
        else if(krvneGrupe[x] == "A")
            potrebnoA += broj;
        else if(krvneGrupe[x] == "B")
            potrebnoB += broj;
        else if(krvneGrupe[x] == "AB")
        {
            potrebnoAB += broj;
            pozicijeAB.push_back(x);
        }
        potrebneKolicine[x] = broj;
    }
    if(potrebnoO>o)
        mogucnost = false;
    if(potrebnoA>a){
        if(potrebnoA-a>o-potrebnoO)
            mogucnost = false;}
    if(potrebnoB>b){
        if(potrebnoB-b>o-potrebnoO-(potrebnoA-a))
            mogucnost = false;}
    if(potrebnoA+potrebnoAB+potrebnoB+potrebnoO>a+ab+b+o)
        mogucnost = false;
    if(mogucnost == true)
    {
        cout << "moguce" << endl;
        for(int x=0; x<n; ++x)
        {
            if(krvneGrupe[x] == "O")
            {
                o-= potrebneKolicine[x];
                resenje[x][0] = potrebneKolicine[x];
                resenje[x][1] = 0;
                resenje[x][2] = 0;
                resenje[x][3] = 0;
            }
            else if(krvneGrupe[x] == "A")
            {
                if(a>=potrebneKolicine[x])
                {
                    a-= potrebneKolicine[x];
                    resenje[x][0] = 0;
                    resenje[x][1] = potrebneKolicine[x];
                    resenje[x][2] = 0;
                    resenje[x][3] = 0;
                }
                else if(potrebneKolicine[x] > a && a!=0)
                {
                    broj = a;
                    a-= broj;
                    o-= potrebneKolicine[x]-broj;
                    resenje[x][0] = potrebneKolicine[x]-broj;
                    resenje[x][1] = broj;
                    resenje[x][2] = 0;
                    resenje[x][3] = 0;
                }
                else if(potrebneKolicine[x] > a && a==0)
                {
                    o-= potrebneKolicine[x];
                    resenje[x][0] = potrebneKolicine[x];
                    resenje[x][1] = 0;
                    resenje[x][2] = 0;
                    resenje[x][3] = 0;
                }
            }
            else if(krvneGrupe[x] == "B")
            {
                if(b>=potrebneKolicine[x])
                {
                    b-= potrebneKolicine[x];
                    resenje[x][0] = 0;
                    resenje[x][1] = 0;
                    resenje[x][2] = potrebneKolicine[x];
                    resenje[x][3] = 0;
                }
                else if(potrebneKolicine[x] > b && b!=0)
                {
                    broj = b;
                    b-= broj;
                    o-= potrebneKolicine[x]-broj;
                    resenje[x][0] = potrebneKolicine[x]-broj;
                    resenje[x][1] = 0;
                    resenje[x][2] = broj;
                    resenje[x][3] = 0;
                }
                else if(potrebneKolicine[x] > b && b==0)
                {
                    o-= potrebneKolicine[x];
                    resenje[x][0] = potrebneKolicine[x];
                    resenje[x][1] = 0;
                    resenje[x][2] = 0;
                    resenje[x][3] = 0;
                }
            }
        }
        for(int y=0; y<pozicijeAB.size(); ++y)
        {
            int x = pozicijeAB[y];
            resenje[x][0] = 0;
            resenje[x][1] = 0;
            resenje[x][2] = 0;
            resenje[x][3] = 0;
            if(ab>=potrebneKolicine[x])
                {
                    ab-= potrebneKolicine[x];
                    resenje[x][0] = 0;
                    resenje[x][1] = 0;
                    resenje[x][2] = 0;
                    resenje[x][3] = potrebneKolicine[x];
                }
                else if(potrebneKolicine[x] > ab && ab!=0)
                {
                    broj = ab;
                    ab -= broj;
                    potrebneKolicine[x] -= broj;
                    resenje[x][3] =broj;
                    if(potrebneKolicine[x]<=o)
                    {
                        o -= potrebneKolicine[x];
                        resenje[x][0] = potrebneKolicine[x];
                    }
                    else
                    {
                        broj = o;
                        o -= broj;
                        potrebneKolicine[x] -= broj;
                        resenje[x][0] = broj;
                        if(potrebneKolicine[x]<=a)
                        {
                            a -= potrebneKolicine[x];
                            resenje[x][1] = potrebneKolicine[x];
                        }
                        else
                        {
                            broj = a;
                            a -= broj;
                            potrebneKolicine[x] -= broj;
                            resenje[x][1] = broj;
                            if(potrebneKolicine[x]<=b)
                            {
                                b -= potrebneKolicine[x];
                                resenje[x][2] = potrebneKolicine[x];
                            }
                        }
                    }
                }
                else if(potrebneKolicine[x] > ab && ab==0)
                {
                    resenje[x][3] = 0;
                    if(potrebneKolicine[x]<=o)
                    {
                        o -= potrebneKolicine[x];
                        resenje[x][0] = potrebneKolicine[x];
                    }
                    else
                    {
                        broj = o;
                        o -= broj;
                        potrebneKolicine[x] -= broj;
                        resenje[x][0] = broj;
                        if(potrebneKolicine[x]<=a)
                        {
                            a -= potrebneKolicine[x];
                            resenje[x][1] = potrebneKolicine[x];
                        }
                        else
                        {
                            broj = a;
                            a -= broj;
                            potrebneKolicine[x] -= broj;
                            resenje[x][1] = broj;
                            if(potrebneKolicine[x]<=b)
                            {
                                b -= potrebneKolicine[x];
                                resenje[x][2] = potrebneKolicine[x];
                            }
                        }
                    }
                }
        }
        for(int x=0; x<n; ++x)
            cout << resenje[x][0] << " " << resenje[x][1] << " " << resenje[x][2] << " " << resenje[x][3] << endl;
    }
    else
        cout << "nemoguce" << endl;
}