#include <iostream>
#include <string>

using namespace std;

int main()
{
    int n, o, a, b, ab;
    cin >> n >> o >> a >> b >> ab;
    string krvna_grupa[10000];
    int i, br = 0, ab_konf[10000], potrebno_o = 0, potrebno_a = 0, potrebno_b = 0, potrebno_ab = 0, krv[4][10000], potrebno[10000];
    for(i = 0; i < n; i ++){
        cin >> krvna_grupa[i] >> potrebno[i];
        if(krvna_grupa[i] == "O") potrebno_o += potrebno[i];
        else if(krvna_grupa[i] == "A"){
            potrebno_a += potrebno[i];
        }
        else if(krvna_grupa[i] == "B"){
            potrebno_b += potrebno[i];
        }
        else if(krvna_grupa[i] == "AB"){
            potrebno_ab += potrebno[i];
        }
    }

    if((o - potrebno_o) > 0 && (a - potrebno_a + (o - potrebno_o)) >= 0 && (b - potrebno_b + (o - potrebno_o + (a - potrebno_a))) >= 0 && (ab - potrebno_ab + o - potrebno_o + a - potrebno_a + b - potrebno_b) >= 0){
        for(i = 0; i < n; i ++){
            if(krvna_grupa[i] == "O") {
                krv[0][i] = potrebno[i];
                krv[1][i] = 0;
                krv[2][i] = 0;
                krv[3][i] = 0;
                o -= potrebno[i];
            }
            else if(krvna_grupa[i] == "A"){
                krv[0][i] = 0;
                krv[2][i] = 0;
                krv[3][i] = 0;
                if(a > potrebno[i]){
                    krv[1][i] = potrebno[i];
                    a -= potrebno[i];
                }
                else{
                    krv[0][i] = potrebno[i] - a;
                    o = o - (potrebno[i] - a);
                    krv[1][i] = a;
                    a = 0;
                }
            }
            else if(krvna_grupa[i] == "B"){
                krv[0][i] = 0;
                krv[1][i] = 0;
                krv[3][i] = 0;
                if(b > potrebno[i]){
                    krv[2][i] = potrebno[i];
                    b -= potrebno[i];
                }
                else{
                    krv[0][i] = potrebno[i] - b;
                    o = o - (potrebno[i] - b);
                    krv[2][i] = b;
                    a = b;
                }
            }
            else if(krvna_grupa[i] == "AB"){
                if(ab > potrebno[i]){
                    krv[0][i] = 0;
                    krv[1][i] = 0;
                    krv[2][i] = 0;
                    krv[3][i] = potrebno[i];
                }
                else{
                    krv[3][i] = ab;
                    potrebno[i] -= ab;
                    ab = 0;
                    ab_konf[br] = i;
                    br ++;
                }
            }
        }
        for(i = 0; i < br; i ++){
            krv[0][ab_konf[a]] = (o > potrebno[ab_konf[i]])?potrebno[ab_konf[i]]:o;
            potrebno[ab_konf[i]] = (o > potrebno[ab_konf[i]])?0:potrebno[ab_konf[i]] - o;
            krv[1][ab_konf[a]] = (a > potrebno[ab_konf[i]])?potrebno[ab_konf[i]]:a;
            potrebno[ab_konf[i]] = (a > potrebno[ab_konf[i]])?0:potrebno[ab_konf[i]] - a;
            krv[2][ab_konf[a]] = (b > potrebno[ab_konf[i]])?potrebno[ab_konf[i]]:b;
            potrebno[ab_konf[i]] = (b > potrebno[ab_konf[i]])?0:potrebno[ab_konf[i]] - b;
            if(i != 0){
                krv[3][ab_konf[i]] = 0;
            }
            o = (o > potrebno[ab_konf[i]])?o - potrebno[ab_konf[i]]:o;
            a = (a > potrebno[ab_konf[i]])?a - potrebno[ab_konf[i]]:a;
            b = (b > potrebno[ab_konf[i]])?b - potrebno[ab_konf[i]]:b;
        }
        cout << "moguce" << endl;
        for(i = 0; i < n - 1; i ++){
            cout << krv[0][i] << " " << krv[1][i] << " " << krv[2][i] << " " <<krv[3][i] << endl;
        }
        cout << krv[0][n - 1] << " " << krv[1][n - 1] << " " << krv[2][n - 1] << " " << krv[3][n - 1];
    }
    else{
        cout << "nemoguce";
    }
    return 0;
}