#include <bits/stdc++.h>
#define fi first
#define se second

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n;
    cin>>n;
    int zaliha[4]={0};
    int potreba[4]={0};
    int raspodela[4][4] = {0};
    int res[n][n]={0};
    pair<int,int> pacient[n];

    cin>>zaliha[0]>>zaliha[1]>>zaliha[2]>>zaliha[3];

    for(int i=0;i<n;i++){
        string x;
        cin>>x>>pacient[i].se;
        if(x=="O"){
            pacient[i].fi=0;
            potreba[0]+=pacient[i].se;
        }
        if(x=="A"){
            pacient[i].fi=1;
            potreba[1]+=pacient[i].se;
        }
        if(x=="B"){
            pacient[i].fi=2;
            potreba[2]+=pacient[i].se;
        }
        if(x=="AB"){
            pacient[i].fi=3;
            potreba[3]+=pacient[i].se;
        }
    }

    if(potreba[0]>zaliha[0]){
        cout << "nemoguce" <<  endl;
        return 0;
    }
    else{
        zaliha[0]-= potreba[0];
        raspodela[0][0]=potreba[0];
    }
    if(potreba[1]>zaliha[0]+zaliha[1]){
        cout << "nemoguce" <<  endl;
        return 0;
    }
    else{
        raspodela[1][1]=min(zaliha[1],potreba[1]);
        zaliha[1]-=raspodela[1][1];
        potreba[1]-=raspodela[1][1];
        raspodela[1][0]=min(zaliha[0],potreba[1]);
        zaliha[0]-=raspodela[1][0];
        potreba[1]-=raspodela[1][0];
    }
    if(potreba[2]>zaliha[0]+zaliha[2]){
        cout << "nemoguce" <<  endl;
        return 0;
    }
    else{
        raspodela[2][2]=min(zaliha[2],potreba[2]);
        zaliha[2]-=raspodela[2][2];
        potreba[2]-=raspodela[2][2];
        raspodela[2][0]=min(zaliha[0],potreba[2]);
        zaliha[0]-=raspodela[2][0];
        potreba[2]-=raspodela[2][0];
    }
    if(potreba[3]>zaliha[0]+zaliha[1]+zaliha[2]+zaliha[3]){
        cout << "nemoguce" <<  endl;
        return 0;
    }
    else{
        raspodela[3][0]=zaliha[0];
        raspodela[3][1]=zaliha[1];
        raspodela[3][2]=zaliha[2];
        raspodela[3][3]=zaliha[3];
    }
    cout<<"moguce"<<endl;
    for(int i=0;i<n;i++){
        int t=pacient[i].fi;
        int p=pacient[i].se;
        int h;
        for(int k=0;k<4;k++){
            cout<<min(raspodela[t][k],p)<<" ";
            h=raspodela[t][k]-p;
            raspodela[t][k]=max(h,0);
            p=max(-h,0);
        }
        cout<<endl;

    }


    return 0;
}