#include <iostream>
#include <string>

using namespace std;

int main()
{


int n,o,a,b,ab,s,o1,a1,b1,ab1;
string O,A,B,AB,v;
char f;
   cin>>n;
   cin>>o>>a>>b>>ab;
   o1=o;
   a1=a;
   b1=b;
   ab1=ab;
   while (n!=0)
   {o1=o;
   a1=a;
   b1=b;
   ab1=ab;

cin>>f>>s;
switch (f)
{case 'A':

    if ((a-s)>=0)//ha eleg az a vercsoport
    {a=a-s;
        cout<<o1-o<<a1-a<<b1-b<<ab1-ab<<endl;}
    else if ((a-s)<0)//ha nemeleg az a vercsoport akkor megyunk az o vercsoportra
        a=a-a;
    if((o-((a-s)*(-1)))>=0)//haeleg az o vercsoport
       {

        o=o-((a-s)*(-1));
            cout<<o1-o<<a1-a<<b1-b<<ab1-ab<<endl;}

    else if((o-((a-s)*(-1)))<0)//ha nemeleg az o vercsoport megyunk ab re
        o=o-o;
    if(ab-((o-((a-s)*(-1))*(-1)))>=0)//ha eleg az ab csoport
        {ab=ab-(o-((a-s)*(-1))*(-1));
            cout<<o1-o<<a1-a<<b1-b<<ab1-ab<<endl;}

    else if (ab-(o-((a-s)*(-1)))<0)
        {cout<<"nemoguce"<<endl;}
    break;
 case 'B':
     if ((b-s)>=0)//ha eleg az b vercsoport
    {b=b-s;
        cout<<o1-o<<a1-a<<b1-b<<ab1-ab<<endl;}
    else if ((b-s)<0)//ha nemeleg az b vercsoport akkor megyunk az o vercsoportra
        b=b-b;
    if((o-((b-s)*(-1)))>=0)//haeleg az o vercsoport
       {

        o=o-((b-s)*(-1));
            cout<<o1-o<<a1-a<<b1-b<<ab1-ab<<endl;}
    else if((o-((b-s)*(-1)))<0)//ha nemeleg az o vercsoport megyunk ab re
        o=o-o;
    if(ab-((o-((b-s)*(-1)))*(-1))>=0)//ha eleg az ab csoport
        {ab=ab-(o-((b-s)*(-1))*(-1));
            cout<<o1-o<<a1-a<<b1-b<<ab1-ab<<endl;}

    else if (ab-(o-((b-s)*(-1)))<0)
        cout<<"nemoguce"<<endl;
    break;
 case 'O':
    if ((o-s)>=0)//ha eleg az o vercsoport
    {o=o-s;
        cout<<o1-o<<a1-a<<b1-b<<ab1-ab<<endl;}

    else
        cout<<"nemoguce"<<endl;
    break;
 case 'AB':
    if ((ab-s)>0)//ha eleg az ab vercsoport
    {ab=ab-s;
        cout<<o1-o<<a1-a<<b1-b<<ab1-ab<<endl;}
    else if ((ab-s)<0)//ha nemeleg az ab vercsoport akkor megyunk az o vercsoportra
        ab=ab-ab;
    if((o-((ab-s)*(-1)))>=0)//haeleg az o vercsoport
        {o=o-((ab-s)*(-1));
           cout<<o1-o<<a1-a<<b1-b<<ab1-ab<<endl;}
    else if((o-((ab-s)*(-1)))<0)//ha nemeleg az o vercsoport megyunk a ra
        o=o-o;
    if(a-((o-((ab-s)*(-1)))*(-1))>=0)//ha eleg az a csoport
        {a=a-(o-((ab-s)*(-1))*(-1));
            cout<<o1-o<<a1-a<<b1-b<<ab1-ab<<endl;}
    else if (a-(o-((ab-s)*(-1)))<0)//ha nem eleg az a vercsoportbol megyunk b re
        a=a-a;
    if((b-(a-((o-((ab-s)*(-1)))*(-1)))*(-1))>=0)//ha eleg a b vercsoportbol
        {b=b-(a-((o-((ab-s)*(-1)))*(-1)))*(-1);
            cout<<o1-o<<a1-a<<b1-b<<ab1-ab<<endl;}
        else
            cout<<"nemoguce"<<endl;
    break;


   }

   n=n-1;
   }
   cout<<"moguce"<<endl;

    return 0;
}