#include <bits/stdc++.h>
#include <vector>

using namespace std;

int main()
{
    int moze = 1;
    int n;
    cin >> n;
    int o, a, b, ab;

    cin >> o >> a >> b >> ab;

    vector<string> grupa;
    int *kolko = (int*)calloc(n, sizeof(int));
    int *rezultati = (int*)calloc(n*4, sizeof(int));
    for (int i = 0; i < n*4; i++) {
        rezultati[i] = 0;
    }

    for (int i = 0; i < n; i++){
        string temp;
        cin >> temp >> kolko[i];
        grupa.push_back(temp);
    }

    int oCalc = o, aCalc = a, bCalc = b, abCalc = ab;

    for (int i = 0; i < n; i++) {
        if (grupa[i] == "O") {
            if (kolko[i] <= oCalc) {
                oCalc -= kolko[i];
                rezultati[i*4] = kolko[i];
            } else {
                moze = 0;
            }
        }
    }

    for (int i = 0; i < n; i++) {
        if (grupa[i] == "A") {
            if (kolko[i] <= aCalc) {
                aCalc -= kolko[i];
                rezultati[i*4+1] = kolko[i];
            } else if(kolko[i] <= aCalc+oCalc) {
                int temp = kolko[i] - aCalc;
                aCalc = 0;
                rezultati[i*4+1] = kolko[i] - temp;
                oCalc -= temp;
                rezultati[i*4] = temp;
            } else {
                    moze = 0;
                }
            }
    }

    for (int i = 0; i < n; i++) {
        if (grupa[i] == "B") {
            if (kolko[i] <= bCalc) {
                bCalc -= kolko[i];
                rezultati[i*4+2] = kolko[i];
            } else if(kolko[i] <= bCalc+oCalc) {
                int temp = kolko[i] - bCalc;
                rezultati[i*4+2] = kolko[i] - temp;
                bCalc = 0;
                oCalc -= temp;
                rezultati[i*4] = temp;
            } else {
                moze = 0;
            }
        }
    }

    for (int i = 0; i < n; i++) {
        if (grupa[i] == "AB") {
            if (kolko[i] <= aCalc+bCalc+oCalc+abCalc) {
                int temp = kolko[i];
                while (temp > 0) {
                    if (oCalc >= temp) {
                        oCalc -= temp;
                        rezultati[i*4] = temp;
                        break;
                    } else {
                        int temp2 = oCalc;
                        oCalc = 0;
                        temp -= temp2;
                        rezultati[i*4] = temp2;
                    }

                    if (aCalc >= temp) {
                        aCalc -= temp;
                        rezultati[i*4+1] = temp;
                        break;
                    } else {
                        int temp2 = aCalc;
                        aCalc = 0;
                        temp -= temp2;
                        rezultati[i*4+1] = temp2;
                    }

                    if (bCalc >= temp) {
                        bCalc -= temp;
                        rezultati[i*4+2] = temp;
                        break;
                    } else {
                        int temp2 = bCalc;
                        bCalc = 0;
                        temp -= temp2;
                        rezultati[i*4+2] = temp2;
                    }

                    if (abCalc >= temp) {
                        abCalc -= temp;
                        rezultati[i*4+3] = temp;
                        break;
                    } else {
                        int temp2 = abCalc;
                        abCalc = 0;
                        temp -= abCalc;
                        rezultati[i*4+3] = temp2;
                    }
                }
            } else {
                moze = 0;
            }
        }
    }

    if (moze == 0) {
        cout << "nemoguce";
    } else {
        cout << "moguce" << endl;
        for (int i = 0; i < n*4; i += 4) {
            cout << rezultati[i] << " " << rezultati[i+1] << " " << rezultati[i+2] << " " << rezultati[i+3] << endl;
        }
    }
    return 0;
}