#include <bits/stdc++.h>

using namespace std;

typedef struct {
    string krvna_grupa;
    int broj_krvnih_jedinica;
    int o = 0;
    int a = 0;
    int b = 0;
    int ab = 0;
}pacijent;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n;
    int o, a, b, ab;
    cin>>n>>o>>a>>b>>ab;
    pacijent p[n];
    for(int i=0;i<n;i++)
        cin>>p[i].krvna_grupa>>p[i].broj_krvnih_jedinica;
    bool ima = true;
    for(int i=0;i<n;i++){
        if (p[i].krvna_grupa == "O"){
            if (p[i].broj_krvnih_jedinica > o){
                ima = false;
                break;
            }
            o -= p[i].broj_krvnih_jedinica;
            p[i].o = p[i].broj_krvnih_jedinica;
        }else if(p[i].krvna_grupa == "A"){
            if(p[i].broj_krvnih_jedinica > a){
                p[i].broj_krvnih_jedinica -= a;
                p[i].a += a;
                a = 0;
                if(p[i].broj_krvnih_jedinica > o){
                    ima = false;
                    break;
                }
                o -= p[i].broj_krvnih_jedinica;
                p[i].o = p[i].broj_krvnih_jedinica;
                continue;
            }
            a -= p[i].broj_krvnih_jedinica;
            p[i].a = p[i].broj_krvnih_jedinica;
        }else if(p[i].krvna_grupa == "B") {
            if(p[i].broj_krvnih_jedinica > b){
                p[i].broj_krvnih_jedinica -= b;
                p[i].b += b;
                b = 0;
                if(p[i].broj_krvnih_jedinica > o){
                    ima = false;
                    break;
                }
                o -= p[i].broj_krvnih_jedinica;
                p[i].o = p[i].broj_krvnih_jedinica;
                continue;
            }
            b -= p[i].broj_krvnih_jedinica;
            p[i].b = p[i].broj_krvnih_jedinica;
        }
    }
    if(ima == false){
        cout<<"nemoguce\n";
        return 0;
    }
    for(int i=0;i<n;i++){
        if(p[i].krvna_grupa == "AB"){
            if(p[i].broj_krvnih_jedinica > o){
                p[i].broj_krvnih_jedinica -= o;
                p[i].o += o;
                o = 0;
            }else{
                o -= p[i].broj_krvnih_jedinica;
                p[i].o += p[i].broj_krvnih_jedinica;
                continue;
            }
            if(p[i].broj_krvnih_jedinica > a){
                p[i].broj_krvnih_jedinica -= a;
                p[i].a += a;
                a = 0;
            }else{
                a -= p[i].broj_krvnih_jedinica;
                p[i].a += p[i].broj_krvnih_jedinica;
                continue;
            }
            if(p[i].broj_krvnih_jedinica > b) {
                p[i].broj_krvnih_jedinica -= b;
                p[i].b += b;
                b = 0;
            }else{
                b -= p[i].broj_krvnih_jedinica;
                p[i].b += p[i].broj_krvnih_jedinica;
                continue;
            }
            if(p[i].broj_krvnih_jedinica > ab){
                ima = false;
                break;
            }else{
                ab -= p[i].broj_krvnih_jedinica;
                p[i].ab += p[i].broj_krvnih_jedinica;
            }
        }
    }
    if(ima == false){
        cout<<"nemoguce\n";
        return 0;
    }
    cout<<"moguce\n";
    for(int i=0;i<n;i++)
        cout<<p[i].o <<" "<<p[i].a <<" "<<p[i].b <<" "<<p[i].ab <<"\n";
    return 0;
}