#include <iostream>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
void pacijentObrada(char pacijent[], int &krvnaGrupa, int &brojJedinica)
{
    char *p=pacijent, krvnaGrupastr[3], brojJedinicastr[10];
    //puts(pacijent);
    while(*p!=' ' && *p!='\0')
        p++;
       // puts(pacijent);
    //cout << "p" << *p << "pk"<< endl;
    *p = '\0';
   // puts(pacijent);
    strcpy(krvnaGrupastr, pacijent);
    p++;
    strcpy(brojJedinicastr, p);
    if(strcmp(krvnaGrupastr,"O")==0)
            krvnaGrupa = 0;
    else if(strcmp(krvnaGrupastr,"A")==0)
            krvnaGrupa = 1;
    else if(strcmp(krvnaGrupastr,"B")==0)
            krvnaGrupa = 2;
    else if(strcmp(krvnaGrupastr,"AB")==0)
            krvnaGrupa = 3;
   // cout << krvnaGrupa << endl;
    brojJedinica = atoi(brojJedinicastr);
   // cout << brojJedinica << endl;

}
int main()
{
    int n, zalihe[4], brojJedinica, krvnaGrupa, temp;
    bool nemoguce = false;
    char pacijent[20];
    cin >> n;
    int pacijenti[n][2], resenje[n][4];
    for(int i=0;i<n;i++)
    {
       resenje[i][0]=resenje[i][1]=resenje[i][2]=resenje[i][3]=0;
    }

    cin >> zalihe[0] >> zalihe[1] >> zalihe[2] >> zalihe[3];
    cin.sync();
    for(int i=0;i<n;i++)
    {
        gets(pacijent);
        pacijentObrada(pacijent, krvnaGrupa, brojJedinica);
        pacijenti[i][0] = krvnaGrupa;
        pacijenti[i][1] = brojJedinica;

    }
    /*for(int i=0;i<n;i++)
    {
        cout <<" da" <<   pacijenti[i][0] << " " << pacijenti[i][1] << endl;
    }*/
    for(int i=0;i<n;i++)
    {
        if(pacijenti[i][0]==0)   //O krv gr
        {
            if(zalihe[0]-pacijenti[i][1]<0)
            {
                nemoguce = true;
                break;
            }else
                {
                    zalihe[0]-=pacijenti[i][1];
                    resenje[i][pacijenti[i][0]] = pacijenti[i][1];
                }

        }
        else if(pacijenti[i][0]==1)   //A krv gr
        {
            if((zalihe[0]+zalihe[1])-pacijenti[i][1]<0)
            {
                nemoguce = true;
                break;
            }else
                {
                    temp = zalihe[1];
                    if(zalihe[1]-pacijenti[i][1]<0)
                    {
                        zalihe[1]=0;
                        resenje[i][pacijenti[i][0]] += temp;
                        zalihe[0]-=pacijenti[i][1]-temp;
                        resenje[i][0] += pacijenti[i][1]-temp;
                    }else if(zalihe[1]-pacijenti[i][1]>=0)
                    {
                        zalihe[1]-=pacijenti[i][1];
                        resenje[i][pacijenti[i][0]] = pacijenti[i][1];
                    }

                }

        }
        else if(pacijenti[i][0]==2)   //B krv gr
        {
            if((zalihe[0]+zalihe[2])-pacijenti[i][1]<0)
            {
                nemoguce = true;
                break;
            }else
                {
                    temp = zalihe[2];
                    if(zalihe[2]-pacijenti[i][1]<0)
                    {
                        zalihe[2]=0;
                        resenje[i][pacijenti[i][0]] += temp;
                        zalihe[0]-=pacijenti[i][1]-temp;
                        resenje[i][0] += pacijenti[i][1]-temp;
                    }else if(zalihe[2]-pacijenti[i][1]>=0)
                    {
                        zalihe[2]-=pacijenti[i][1];
                        resenje[i][pacijenti[i][0]] = pacijenti[i][1];
                    }

                }

        }
        else if(pacijenti[i][0]==3)  //AB krv gr
        {
            if((zalihe[0]+zalihe[1]+zalihe[2]+zalihe[3])-pacijenti[i][1]<0)
            {
                nemoguce = true;
                break;
            }else
                {
                    temp = zalihe[3];
                    if(zalihe[3]-pacijenti[i][1]<0)
                    {
                        zalihe[3]=0;
                        resenje[i][3] += temp; //uzeo do tada
                        //odakle dalje da uzme
                        if(zalihe[2]-resenje[i][3]-pacijenti[i][1]<0)
                        {
                            temp = zalihe[2];
                            zalihe[2]=0;
                            resenje[i][2] += temp;
                            if(zalihe[1]-resenje[i][3]-resenje[i][2]-pacijenti[i][1]<0)
                            {
                                temp = zalihe[1];
                                zalihe[1]=0;
                                resenje[i][1] += temp;
                                zalihe[0]-=pacijenti[i][1]-resenje[i][1]-resenje[i][3]-resenje[i][2];
                                resenje[i][0]=pacijenti[i][1]-resenje[i][1]-resenje[i][3]-resenje[i][2];
                            }else if(zalihe[1]-resenje[i][3]-resenje[i][2]-pacijenti[i][1]>=0)
                                {
                                    zalihe[1]-=pacijenti[i][1]-resenje[i][3]-resenje[i][2];
                                    resenje[i][1] = pacijenti[i][1]-resenje[i][3]-resenje[i][2];
                                }
                        } else if(zalihe[2]-resenje[i][3]-pacijenti[i][1]>=0)
                        {
                                zalihe[2]-=pacijenti[i][1]-resenje[i][3];
                                resenje[i][1] = pacijenti[i][1]-resenje[i][3];
                        }
                    }else if(zalihe[3]-pacijenti[i][1]>=0)
                    {
                        zalihe[3]-=pacijenti[i][1];
                        resenje[i][pacijenti[i][0]] = pacijenti[i][1];
                    }

                }
        }
    }
    if(nemoguce)
        cout << "nemoguce";
    else{
        cout << "moguce" << endl;
        for(int i=0;i<n;i++)
        {
            cout << resenje[i][0] << " " << resenje[i][1] << " " << resenje[i][2] << " " << resenje[i][3];
            if(i!=n-1)
                cout << endl;
        }

    }


    /*strcpy(pacijent, "A 2");
    pacijentObrada(pacijent, krvnaGrupa, brojJedinica);*/
   /* cout << krvnaGrupa << endl;
    cout << brojJedinica << endl;*/

    return 0;
}