#include <bits/stdc++.h>

using namespace std;

vector<int>poz_o, poz_a, poz_b, poz_ab;
int rez[10010][4];

int main()
{
    int n;
    cin>>n;
    int o, a, b, ab;
    cin>>o>>a>>b>>ab;
    string tip[10010];
    int potreba[10010];
    for(int i=0; i<n; i++)
    {
        cin>>tip[i]>>potreba[i];
        if(tip[i]=="O")poz_o.push_back(i);
        if(tip[i]=="A")poz_a.push_back(i);
        if(tip[i]=="B")poz_b.push_back(i);
        if(tip[i]=="AB")poz_ab.push_back(i);
    }

    for(int i=0; i<poz_o.size(); i++)
    {
        int p=poz_o[i];
        rez[p][0]=potreba[p];
        o-=potreba[p];
        if(o<0){cout<<"nemoguce"; return 0;}
    }

    for(int i=0; i<poz_a.size(); i++)
    {
        int p=poz_a[i];
        if(a-potreba[p]<0){potreba[p]-=a; rez[p][1]=a;}
        else{a-=potreba[p]; rez[p][1]=potreba[p]; potreba[p]=0;}
        o-=potreba[p]; rez[p][0]=potreba[p];
        if(o<0){cout<<"nemoguce"; return 0;}
    }

    for(int i=0; i<poz_b.size(); i++)
    {
        int p=poz_b[i];
        if(b-potreba[p]<0){potreba[p]-=b; rez[p][2]=b;}
        else{b-=potreba[p]; rez[p][2]=potreba[p]; potreba[p]=0;}
        o-=potreba[p]; rez[p][0]=potreba[p];
        if(o<0){cout<<"nemoguce"; return 0;}
    }

    for(int i=0; i<poz_ab.size(); i++)
    {
        int p=poz_ab[i];
        if(ab-potreba[p]<0){potreba[p]-=ab; rez[p][3]=ab;}
        else{ab-=potreba[p]; rez[p][3]=potreba[p]; potreba[p]=0;}
        if(a-potreba[p]<0){potreba[p]-=a; rez[p][1]=a;}
        else{a-=potreba[p]; rez[p][1]=potreba[p]; potreba[p]=0;}
        if(b-potreba[p]<0){potreba[p]-=b; rez[p][2]=b;}
        else{b-=potreba[p]; rez[p][2]=potreba[p]; potreba[p]=0;}
        o-=potreba[p]; rez[p][0]=potreba[p];
        if(o<0){cout<<"nemoguce"; return 0;}
    }

    cout<<"moguce\n";
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<4; j++)cout<<rez[i][j]<<" ";
        cout<<"\n";
    }
    return 0;
}