#include <bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define endl "\n"
#define vi vector <int>
#define vd vector <double>
using namespace std;
struct potrebnakrv
{
    string grupa;
    int brkrvi;
};
struct resenje
{
    int prvi=0;
    int drugi=0;
    int treci=0;
    int cetvrti=0;
};
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    bool ZADATAKNIJEMOGUC=false;
    int ljudi,O,A,B,AB;
    cin>>ljudi;
    cin>>O>>A>>B>>AB;
    potrebnakrv niz[ljudi];
    resenje ispisniz[ljudi];
    for(int i=0; i<ljudi; i++)
    {
        cin>>niz[i].grupa>>niz[i].brkrvi;
    }
    for(int i=0; i<ljudi; i++)
    {
        if(niz[i].grupa=="O")
        {
            O-=niz[i].brkrvi;
            if(O<0)
            {
                ZADATAKNIJEMOGUC=true;
            }
            //cout<<niz[i].brkrvi<<" "<<0<<" "<<0<<" "<<0;
            ispisniz[i].prvi=niz[i].brkrvi;
        }
        if(niz[i].grupa=="A")
        {
            if(niz[i].brkrvi>A+O)
            {
                ZADATAKNIJEMOGUC=true;
            }
            if(niz[i].brkrvi<=A)
            {
                A-=niz[i].brkrvi;
                //cout<<0<<" "<<niz[i].brkrvi<<" "<<0<<" "<<0;
                ispisniz[i].drugi=niz[i].brkrvi;
            }
            else
            {
                //cout<<niz[i].brkrvi-A<<" "<<A<<" "<<0<<" "<<0;
                ispisniz[i].prvi=niz[i].brkrvi-A;
                ispisniz[i].drugi=A;
                O=O-(niz[i].brkrvi-A);
                A=0;
            }
        }
        if(niz[i].grupa=="B")
        {
            if(niz[i].brkrvi>B+O)
            {
                ZADATAKNIJEMOGUC=true;
            }
            if(niz[i].brkrvi<=B)
            {
                B-=niz[i].brkrvi;
                //cout<<0<<" "<<0<<" "<<niz[i].brkrvi<<" "<<0;
                ispisniz[i].treci=niz[i].brkrvi;
            }
            else
            {
                //cout<<niz[i].brkrvi-B<<" "<<0<<" "<<B<<" "<<0;
                ispisniz[i].prvi=niz[i].brkrvi-B;
                ispisniz[i].treci=B;
                O=O-(niz[i].brkrvi-B);
                B=0;
            }
        }
    }
         for(int i=0; i<ljudi; i++)
         {
             if(niz[i].grupa=="AB")
             {
                 if(niz[i].brkrvi>O+A+B+AB)
                 {
                     ZADATAKNIJEMOGUC=true;
                 }
                 if(niz[i].brkrvi<=AB)
                 {
                     //cout<<0<<" "<<0<<" "<<0<<" "<<niz[i].brkrvi;
                     ispisniz[i].cetvrti=niz[i].brkrvi;
                     AB-=niz[i].brkrvi;
                 }
                 else if(niz[i].brkrvi<=AB+B)
                 {
                     //cout<<0<<" "<<0<<" "<<niz[i].brkrvi-AB<<" "<<AB;
                     ispisniz[i].treci=niz[i].brkrvi-AB;
                     ispisniz[i].cetvrti=AB;
                     B=B-(niz[i].brkrvi-AB);
                     AB=0;
                 }
                 else if(niz[i].brkrvi<=AB+B+A)
                 {
                     //cout<<0<<" "<<niz[i].brkrvi-B-AB<<" "<<B<<" "<<AB;
                     ispisniz[i].drugi=niz[i].brkrvi-B-AB;
                     ispisniz[i].treci=B;
                     ispisniz[i].cetvrti=AB;
                     A=A-(niz[i].brkrvi-B-AB);
                     B=0;
                     AB=0;
                 }
                 else
                 {
                     //cout<<niz[i].brkrvi-AB-A-B<<" "<<A<<" "<<B<<" "<<AB;
                     ispisniz[i].prvi=niz[i].brkrvi-AB-A-B;
                     ispisniz[i].drugi=A;
                     ispisniz[i].treci=B;
                     ispisniz[i].cetvrti=AB;
                     O=O-niz[i].brkrvi-AB-A-B;
                     A=0;
                     B=0;
                     AB=0;
                 }
             }
         }
         if(ZADATAKNIJEMOGUC)
         {
             cout<<"nemoguce"<<endl;
             return 0;
         }
         cout<<"moguce"<<endl;
         for(int i=0;i<ljudi;i++)
         {
             cout<<ispisniz[i].prvi<<" "<<ispisniz[i].drugi<<" "<<ispisniz[i].treci<<" "<<ispisniz[i].cetvrti<<endl;
         }
    return 0;
}