#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
 
int main() {
    int N, O, A, B, AB;
    cin >> N >> O >> A >> B >> AB;
    int N0 = N, O0 = O, A0 = A, B0 = B, AB0 = AB;
    string grupa[N];
    int jedinice[N];
    for (int i = 0; i < N; i++) {
        cin >> grupa[i];
        cin >> jedinice[i];
    } for (int i = 0; i < N; i++) {
        if (grupa[i] == "O") {
            if (O0 - jedinice[i] < 0) {
                cout << "nemoguce";
                return 0;
            } O0 -= jedinice[i];
        } if (grupa[i] == "A") {
            if (A0 - jedinice[i] < 0) {
                if (O0 - jedinice[i] + A0 < 0) {
                    cout << "nemoguce";
                    return 0;
                }
            } A0 -= jedinice[i];
            if (A0 < 0) {
                O0 += A0;
                A0 = 0;
            }
        } if (grupa[i] == "B") {
            if (B0 - jedinice[i] < 0) {
                if (O0 - jedinice[i] + B0 < 0) {
                    cout << "nemoguce";
                    return 0;
                }
            } B0 -= jedinice[i];
            if (B0 < 0) {
                O0 += B0;
                B0 = 0;
            }
        } if (grupa[i] == "AB") {
            if (AB0 - jedinice[i] < 0) {
                if (A0 - jedinice[i] + AB0 < 0 and B0 - jedinice[i] + AB0 < 0)
                    if (O0 - jedinice[i] + A0 + AB0 < 0 and O0 - jedinice[i] + B0 + AB0 < 0) {
                        cout << "nemoguce";
                        return 0;
                    }
            } AB0 -= jedinice[i];
            if (AB0 < 0) {
                A0 > B0 ? A0 += AB0 : B0 += AB0;
                AB0 = 0;
            } if (A0 < 0 or B0 < 0) {
                O0 += min(A0, B0);
                A0 < B0 ? A0 = 0 : B0 = 0;
            }
        }
    } cout << "moguce" << endl;
    int x = 0, y = 0, z = 0, t = 0;
    for (int i = 0; i < N; i++) {
        if (grupa[i] == "O") {
            x = jedinice[i];
            O -= jedinice[i];
        } if (grupa[i] == "A") {
            if (jedinice[i] <= A) {
                y = jedinice[i];
                A -= jedinice[i];
            } if (jedinice[i] > A) {
                y = A;
                x = jedinice[i] - A;
                A = 0;
            }
        } if (grupa[i] == "B") {
            if (jedinice[i] <= B) {
                z = jedinice[i];
                B -= jedinice[i];
            } if (jedinice[i] > B) {
                z = B;
                x = jedinice[i] - B;
                B = 0;
            }
        } if (grupa[i] == "AB") {
            if (jedinice[i] <= AB) {
                t = jedinice[i];
                AB -= jedinice[i];
            } if (jedinice[i] > AB) {
                t = AB;
                A > B ? y = jedinice[i] - AB : z = jedinice[i] - AB;
                if (y != 0) A = A - jedinice[i] + AB;
                if (z != 0) B = B - jedinice[i] + AB;
            } if (A < 0) {
                x -= A;
                y -= x;
                O += A;
                A = 0;
            } if (B < 0) {
                x -= B;
                z -= x;
                O += B;
                B = 0;
            }
        } cout << x << " " << y << " " << z << " " << t << endl;
        x = 0;
        y = 0;
        z = 0;
        t = 0;
    }
}