#include <iostream>
#include <string>

using namespace std;

int main(void)
{
    unsigned short int N, i=0;

    unsigned int zaliheO, zaliheA, zaliheB, zaliheAB;

    cin >> N;
    cin >> zaliheO >> zaliheA >> zaliheB >> zaliheAB;

    unsigned int potrebnoO=0, potrebnoA=0, potrebnoB=0, potrebnoAB=0;

    string krvnaGrupa[N];
    unsigned int potrebnoJedinica[N];

    while(i<N)
    {
        cin >> krvnaGrupa[i];
        cin >> potrebnoJedinica[i];

        if(krvnaGrupa[i] == "O")
            potrebnoO += potrebnoJedinica[i];
        else if(krvnaGrupa[i] == "A")
            potrebnoA += potrebnoJedinica[i];
        else if(krvnaGrupa[i] == "B")
            potrebnoB += potrebnoJedinica[i];
        else if(krvnaGrupa[i] == "AB")
            potrebnoAB += potrebnoJedinica[i];

        ++i;
    }

    if(potrebnoO > zaliheO)
    {
        cout << "nemoguce"; return 0;
    }
    else if(potrebnoA > zaliheA + (zaliheO - potrebnoO))
    {
        cout << "nemoguce"; return 0;
    }
    else if(potrebnoB > zaliheB + ((zaliheA + (zaliheO - potrebnoO)) - potrebnoA))
    {
        cout << "nemoguce"; return 0;
    }
    else if(potrebnoAB > zaliheAB + ((zaliheB + ((zaliheA + (zaliheO - potrebnoO)) - potrebnoA)) - potrebnoB))
    {
        cout << "nemoguce"; return 0;
    }
    else
        cout << "moguce" << endl;


    for(int j=0; j<N; ++j)
    {
        if(krvnaGrupa[j] == "O")
        {
            cout << potrebnoJedinica[j] << " 0" << " 0" << " 0" << endl;
            zaliheO -= potrebnoJedinica[j];
        }
        else if(krvnaGrupa[j] == "A")
        {
            if(potrebnoJedinica[j] <= zaliheA)
            {
                cout << "0 " << potrebnoJedinica[j] << " 0" << " 0" << endl;
                zaliheA -= potrebnoJedinica[j];
            }
            else
            {
                cout << potrebnoJedinica[j] - zaliheA << " " << zaliheA << " 0" << " 0" << endl;
                zaliheO -= (potrebnoJedinica[j] - zaliheA);
                zaliheA = 0;
            }

        }
        else if(krvnaGrupa[j] == "B")
        {
            if(potrebnoJedinica[j] <= zaliheB)
            {
                cout << "0" << " 0 " << potrebnoJedinica[j] << " 0" << endl;
                zaliheB -= potrebnoJedinica[j];
            }
            else
            {
                cout << potrebnoJedinica[j] - zaliheB << " 0 " << zaliheB << " 0" << endl;
                zaliheO -= (potrebnoJedinica[j] - zaliheB);
                zaliheB = 0;
            }
        }
        else if(krvnaGrupa[j] == "AB")
        {
            if(potrebnoJedinica[j] <= zaliheAB)
            {
                cout << "0" << " 0" << " 0 " << potrebnoJedinica[j] << endl;
                zaliheAB -= potrebnoJedinica[j];
            }
            else if(potrebnoJedinica[j] - zaliheAB <= zaliheB)
            {
                cout << "0" << " 0 " << potrebnoJedinica[j] - zaliheAB << " " << zaliheAB << endl;
                zaliheB -= (potrebnoJedinica[j] - zaliheAB);
            }
            else if(potrebnoJedinica[j] - zaliheAB <= zaliheA)
            {
                cout << "0 " << potrebnoJedinica[j] - zaliheAB << " 0 " << zaliheAB << endl;
                zaliheA -= (potrebnoJedinica[j] - zaliheAB);
            }
            else if(potrebnoJedinica[j] - zaliheAB <= zaliheO)
            {
                cout << potrebnoJedinica[j] - zaliheAB << " 0" << " 0 " << zaliheAB << endl;
                zaliheO -= (potrebnoJedinica[j] - zaliheAB);
            }
        }
    }

    return 0;
}