#include <iostream>
using namespace std;

int vr(string s){
    if(s == "O")
        return 0;
    if(s == "A")
        return 1;
    if(s == "B")
        return 2;
    if(s == "AB")
        return 3;
}

int main(){

    int i, j, n;
    int zalihe[4], zalihe2[4];
    cin >> n;
    for(i = 0; i < 4; i++){
        cin >> zalihe[i];
        zalihe2[i] = zalihe[i];
    }


    pair<string, int> pacijent[n];
    int potrebno[4];
    for(i = 0; i < 4; i++)
        potrebno[i] = 0;
    for(i = 0; i < n; i++){
        cin >> pacijent[i].first >> pacijent[i].second;
        potrebno[vr(pacijent[i].first)] += pacijent[i].second;
    }

    if(potrebno[0] > zalihe[0]){
        cout << "nemoguce" << endl;
        return 0;
    }else{
        zalihe[0] -= potrebno[0];
    }

    for(i = 1; i <= 2; i++){
        if(potrebno[i] > zalihe[0] + zalihe[i]){
            cout << "nemoguce" << endl;
            return 0;
        }else{
            if(potrebno[i] > zalihe[i]){
                zalihe[i] = 0;
                zalihe[0] -= (potrebno[i] - zalihe[i]);
            }else{
                zalihe[i] -= potrebno[i];
            }
        }
    }

    if(potrebno[3] > zalihe[0] + zalihe[1] + zalihe[2] + zalihe[3]){
        cout << "nemoguce" << endl;
        return 0;
    }
    cout << "moguce" << endl;

    int r[n][4];
    for(i = 0; i < n; i++)
        if(pacijent[i].first == "O"){
            r[i][0] = pacijent[i].second;
            r[i][1] = r[i][2] = r[i][3] = 0;
            zalihe2[0] -= pacijent[i].second;
        }

    for(i = 0; i < n; i++)
        if(pacijent[i].first == "A" || pacijent[i].first == "B"){
            int k = vr(pacijent[i].first);
            int s = (k == 1) ? 2 : 1;

            if(zalihe2[k] >= pacijent[i].second){
                zalihe2[k] -= pacijent[i].second;
                r[i][0] = r[i][2] = r[i][s] = 0;
                r[i][k] = pacijent[i].second;
            }else{
                r[i][k] = zalihe2[k];
                r[i][0] = pacijent[i].second - zalihe2[k];
                r[i][3] = r[i][s] = 0;
            }
        }

    for(i = 0; i < n; i++)
        if(pacijent[i].first == "AB"){
            r[i][0] = r[i][1] = r[i][2] = 0;
            if(zalihe2[3] >= pacijent[i].second){
                r[i][3] = pacijent[i].second;
                zalihe2[3] -= pacijent[i].second;
                continue;
            }
            r[i][3] = zalihe2[3];
            zalihe2[3] = 0;
            pacijent[i].second -= r[i][3];

            if(zalihe2[2] >= pacijent[i].second){
                r[i][2] = pacijent[i].second;
                zalihe2[2] -= pacijent[i].second;
                continue;
            }

            r[i][2] = zalihe2[2];
            zalihe2[2] = 0;
            pacijent[i].second -= r[i][2];

            if(zalihe2[1] >= pacijent[i].second){
                r[i][1] = pacijent[i].second;
                zalihe2[1] -= pacijent[i].second;
                continue;
            }

            r[i][1] = zalihe2[1];
            zalihe2[1] = 0;
            pacijent[i].second -= r[i][2];

            r[i][0] = pacijent[i].second;
        }

    for(i = 0; i < n; i++){
        for(j = 0; j < 4; j++)
            cout << r[i][j] << " ";
        cout << endl;
    }

    return 0;
}