#include <bits/stdc++.h>
using namespace std;
int n,o,a,b,ab,niz[10000],so[10000],sa[10000],sb[10000],sab[10000];
string nizs[10000];
int main(){
    cin >> n >> o >> a >> b >> ab;
    for(int i=0;i<n;i++){
        cin >> nizs[i] >> niz[i];
        so[i]=0;
        sa[i]=0;
        sb[i]=0;
        sab[i]=0;

    }
    for(int j=0;j<n;j++){
        if(nizs[j]=="O"){
            if(o>=niz[j]){
                o=o-niz[j];
                so[j]=niz[j];
            }
            else{
                cout << "nemoguce";
                return 0;
                }

        }

    }
    for(int z=0;z<n;z++){
        if(nizs[z]=="A"){
            if(a+o<niz[z]){
                cout << "nemoguce";
                return 0;
            }
            if(a>=niz[z]){
                a=a-niz[z];
                sa[z]=niz[z];

            }
            else{
                sa[z]=a;
                so[z]=niz[z]-a;
                o=o+a-niz[z];
                a=0;

            }
        }
    }
    for(int k=0;k<n;k++){
        if(nizs[k]=="B"){
            if(b+o<niz[k]){
                cout << "nemoguce";
                return 0;
            }
            if(b>=niz[k]){
                b=b-niz[k];
                sb[k]=niz[k];
            }
            else{
                sb[k]=b;
                so[k]=niz[k]-b;
                o=o+b-niz[k];
                b=0;
            }
        }
    }
    for(int l=0;l<n;l++){
        if(nizs[l]=="AB"){
            if(o+a+b+ab<niz[l]){
                cout << "nemoguce";
                return 0;
            }
            if(o>=niz[l]){
                o=o-niz[l];
                so[l]=niz[l];
                continue;
            }
            else{
                niz[l]=niz[l]-o;
                so[l]=o;
                o=0;
            }
            if(a>=niz[l]){
                a=a-niz[l];
                sa[l]=niz[l];
                continue;
            }
            else{
                niz[l]=niz[l]-a;
                sa[l]=a;
                a=0;
            }
            if(b>=niz[l]){
                b=b-niz[l];
                sb[l]=niz[l];
                continue;
            }
            else{
                niz[l]=niz[l]-b;
                sb[l]=b;
                b=0;
            }
            if(ab>=niz[l]){
                ab=ab-niz[l];
                sab[l]=niz[l];
                continue;
            }
            else{
                niz[l]=niz[l]-ab;
                sab[l]=ab;
                ab=0;
            }

        }
    }
    cout << "moguce" << endl;
    for(int r=0;r<n;r++){
        cout << so[r] << " " << sa[r] << " " << sb[r] << " " << sab[r] << endl;
    }







}