#include<iostream>
#include<vector>

using namespace std;

int main()
{
    int n;
    cin >> n;

    int O, A, B, AB;
    int O1 = 0, A1 = 0, B1 = 0, AB1 = 0;
    cin >> O >> A >> B >> AB;

    vector<pair<string, int>> p(n);

    for (int i = 0; i < n; i++)
    {
        cin >> p[i].first >> p[i].second;

        if (p[i].first == "O")
            O1 += p[i].second;
        else if (p[i].first == "A")
            A1 += p[i].second;
        else if (p[i].first == "B")
            B1 += p[i].second;
        else if (p[i].first == "AB")
            AB1 += p[i].second;
    }

    if ((O1 > O) || (A1 > A + (O - O1) ) || (B1 > B + (A + (O - O1) - A1)) || (AB1 > AB + (B + (A + (O - O1) - A1) - B1)))
        cout << "nemoguce" << endl;

    else
    {
        cout << "moguce" << endl;

        int O_raspolozivo, A_raspolozivo, B_raspolozivo;

        if (A < A1 && B < B1)
            O_raspolozivo = O - O1 - (A1 - A) - (B1 - B);
        else if (A < A1 && B > B1)
            O_raspolozivo = O - O1 - (A1 - A);
        else if (A > A1 && B < B1)
            O_raspolozivo = O - O1 - (B1 - B);

        if (A <= A1)
            A_raspolozivo = 0;
        else
            A_raspolozivo = A - A1;

        if (B <= B1)
            B_raspolozivo = 0;
        else
            B_raspolozivo = B - B1;

        for (int i = 0; i < n; i++)
        {
            if (p[i].first == "O")
            {
                cout << p[i].second << " 0 0 0" << endl;
                O -= p[i].second;
            }
            else if (p[i].first == "A")
            {
                if (p[i].second <= A)
                {
                    cout << "0 " << p[i].second << " 0 0" << endl;
                    A -= p[i].second;
                }
                else
                {
                    cout << p[i].second - A << " " << A << " 0 0" <<endl;
                    O -= p[i].second - A;
                    A = 0;
                }
            }
            else if (p[i].first == "B")
            {
                if (p[i].second <= B)
                {
                    cout << "0 0 " << p[i].second << " 0" << endl;
                    B -= p[i].second;
                }
                else
                {
                    cout << p[i].second - B << " 0 " << B << " 0" <<endl;
                    O -= p[i].second - B;
                    B = 0;
                }
            }
            else if (p[i].first == "AB")
            {
                if (p[i].second <= AB)
                {
                    cout << "0 0 0 " << p[i].second << endl;
                    AB -= p[i].second;
                }
                else if (p[i].second > AB && p[i].second - AB <= O_raspolozivo)
                {
                    cout << p[i].second - AB << " 0 0 " << AB << endl;
                    O_raspolozivo -= p[i].second - AB;
                    AB = 0;
                }
                else if (p[i].second > AB && p[i].second - AB <= A_raspolozivo)
                {
                    cout << "0 " << p[i].second << " 0 " << AB << endl;
                    A_raspolozivo -= p[i].second - AB;
                    AB = 0;
                }
                else if (p[i].second > AB && p[i].second - AB <= B_raspolozivo)
                {
                    cout << "0 0 " << p[i].second - AB << " " << AB << endl;
                    B_raspolozivo -= p[i].second - AB;
                    AB = 0;
                }
                else if (p[i].second > AB && p[i].second - AB <= A_raspolozivo + B_raspolozivo)
                {
                    cout << "0 " << p[i].second - (AB + B_raspolozivo) << " " << B_raspolozivo << " " << AB << endl;
                    A_raspolozivo -= p[i].second - (AB + B_raspolozivo);
                    B = 0;
                    AB = 0;
                }
                else if (p[i].second > AB && p[i].second - AB <= O_raspolozivo + A_raspolozivo + B_raspolozivo)
                {
                    cout << p[i].second - (A_raspolozivo + B_raspolozivo + AB) << " " << A_raspolozivo << " " << B_raspolozivo << " " << AB << endl;
                    O_raspolozivo -= p[i].second - (A_raspolozivo + B_raspolozivo + AB);
                    A_raspolozivo = 0;
                    B_raspolozivo = 0;
                    AB = 0;
                }
            }
        }
    }
    return 0;
}