#include <iostream>

using namespace std;

string pacijentiGrupa[100000];
int pacijentiKolicina[100000];

int grupaOUpotrebljeno[10000000];
int grupaAUpotrebljeno[10000000];
int grupaBUpotrebljeno[10000000];
int grupaABUpotrebljeno[10000000];

int main()
{
    bool nemoguce = false;

    int N, O, A, B, AB;
    cin >> N;

    cin >> O >> A >> B >> AB;

    for (int i = 0; i < N; i++)
    {
        cin >> pacijentiGrupa[i] >> pacijentiKolicina[i];
    }

    for (int j = 0; j < N; j++)
    {
        if (pacijentiGrupa[j] == "O")
        {
            if (O >= pacijentiKolicina[j])
            {
                grupaOUpotrebljeno[j] = pacijentiKolicina[j];
                O -= pacijentiKolicina[j];
            }
            else
            {
                cout << "nemoguce";
                nemoguce = true;
            }
        }
        else if (pacijentiGrupa[j] == "A")
        {
            if (A >= pacijentiKolicina[j])
            {
                grupaAUpotrebljeno[j] = pacijentiKolicina[j];
                A -= pacijentiKolicina[j];
            }
            else if (A > 0 && O >= (pacijentiKolicina[j] - A))
            {
                grupaAUpotrebljeno[j] = A;
                grupaOUpotrebljeno[j] = pacijentiKolicina[j] - A;
                A = 0;
                O -= (pacijentiKolicina[j] - A);
            }
            else if (O >= pacijentiKolicina[j])
            {
                grupaOUpotrebljeno[j] = pacijentiKolicina[j];
                O -= pacijentiKolicina[j];
            }
            else
            {
                cout << "nemoguce";
                nemoguce = true;
            }
        }
        else if (pacijentiGrupa[j] == "B")
        {
            if (B >= pacijentiKolicina[j])
            {
                grupaBUpotrebljeno[j] = pacijentiKolicina[j];
                B -= pacijentiKolicina[j];
            }
            else if (B > 0 && O >= (pacijentiKolicina[j] - B))
            {
                grupaBUpotrebljeno[j] = B;
                grupaOUpotrebljeno[j] = pacijentiKolicina[j] - B;
                B = 0;
                O -= (pacijentiKolicina[j] - B);
            }
            else if (O >= pacijentiKolicina[j])
            {
                grupaOUpotrebljeno[j] = pacijentiKolicina[j];
                O -= pacijentiKolicina[j];
            }
            else
            {
                cout << "nemoguce";
                nemoguce = true;
            }
        }
        else if (pacijentiGrupa[j] == "AB")
        {
            if (AB >= pacijentiKolicina[j])
            {
                grupaABUpotrebljeno[j] = pacijentiKolicina[j];
                AB -= pacijentiKolicina[j];
            }
            else if (AB > 0 && O >= (pacijentiKolicina[j] - AB))
            {
                grupaABUpotrebljeno[j] = AB;
                grupaOUpotrebljeno[j] = pacijentiKolicina[j] - AB;
                AB = 0;
                O -= (pacijentiKolicina[j] - AB);
            }
            else if (O >= pacijentiKolicina[j])
            {
                grupaOUpotrebljeno[j] = pacijentiKolicina[j];
                O -= pacijentiKolicina[j];
            }
            else if (AB > 0 && A >= (pacijentiKolicina[j] - AB))
            {
                grupaABUpotrebljeno[j] = AB;
                grupaAUpotrebljeno[j] = pacijentiKolicina[j] - AB;
                AB = 0;
                A -= (pacijentiKolicina[j] - AB);
            }
            else if (A >= pacijentiKolicina[j])
            {
                grupaAUpotrebljeno[j] = pacijentiKolicina[j];
                A -= pacijentiKolicina[j];
            }
            else if (AB > 0 && B >= (pacijentiKolicina[j] - AB))
            {
                grupaABUpotrebljeno[j] = AB;
                grupaBUpotrebljeno[j] = pacijentiKolicina[j] - AB;
                AB = 0;
                B -= (pacijentiKolicina[j] - AB);
            }
            else if (B >= pacijentiKolicina[j])
            {
                grupaBUpotrebljeno[j] = pacijentiKolicina[j];
                B -= pacijentiKolicina[j];
            }
            else
            {
                cout << "nemoguce";
                nemoguce = true;
            }
        }
    }

    if (!nemoguce)
    {
        cout << "moguce" << endl;
        for (int k = 0; k < N; k++)
        {
            cout << grupaOUpotrebljeno[k] << " " << grupaAUpotrebljeno[k] << " " << grupaBUpotrebljeno[k] << " " << grupaABUpotrebljeno[k] << endl;
        }
    }

    return 0;
}