#include <iostream>
#include <string>

using namespace std;


int main()
{
    long long int n, o, a, b, ab, i, br1, br2, br3;
    long long int br[10001];
    bool ok;
    string output[10001], grupa[10001];
    cin >> n;
    cin >> o;
    cin >> a;
    cin >> b;
    cin >> ab;
    ok = true;
    // Unos i O
    for(i=0; i<n; i++)
    {
        cin >> grupa[i];
        cin >> br[i];
        if(grupa[i]=="O" && ok)
        {
            if(o>=br[i])
            {
                o -= br[i];
                output[i] = "" + to_string(br[i]) + " 0 0 0";
            }
            else
            {
                ok = false;
            }
        }
    }
    // A
    for(i=0; i<n && ok; i++)
    {
        if(grupa[i]=="A")
        {
            if(a>=br[i])
            {
                a-=br[i];
                output[i] = "0 " + to_string(br[i]) + " 0 0";
            }
            else if(a>0)
            {
                br1 = br[i]-a;
                if(o>=br1)
                {
                    o-=br1;
                    output[i] = to_string(br1) + " " + to_string(a) + " 0 0";
                    a=0;
                }
            }
            else if(o>=br[i])
            {
                output[i] = to_string(br[i]) + " 0 0 0";
            }
            else
            {
                ok = false;
            }
        }
    }
    // B
    for(i=0; i<n && ok; i++)
    {
        if(grupa[i]=="B")
        {
            if(b>=br[i])
            {
                a-=br[i];
                output[i] = "0 0 " + to_string(br[i]) + " 0";
            }
            else if(b>0)
            {
                br1 = br[i]-b;
                if(o>=br1)
                {
                    o-=br1;
                    output[i] = to_string(br1) + " 0 " + to_string(b) + " 0";
                    a=0;
                }
            }
            else if(o>=br[i])
            {
                output[i] = to_string(br[i]) + " 0 0 0";
            }
            else
            {
                ok = false;
            }
        }
    }
    // AB
    for(i=0; i<n && ok; i++)
    {
        if(grupa[i]=="AB")
        {
            if(ab>=br[i])
            {
                ab-=br[i];
                output[i] = "0 0 0 " + to_string(br[i]);
            }
            else if(ab>0)
            {
                br1 = br[i] - ab;
                if(a>=br1)
                {
                    a-=br1;
                    output[i] = "0 " + to_string(br1) + " 0 " + to_string(ab);
                }
                else if(a>0)
                {
                    br2 = br1 - a;
                    if(b>=br2)
                    {
                        output[i] = "0 " + to_string(a) + " " + to_string(br2) +" " + to_string(ab);
                    }
                    else if(b>0)
                    {
                        br3 = br2 - b;
                        if(o>=br3)
                        {
                            output[i] = to_string(br3) + " " + to_string(a) + " " + to_string(b) +" " + to_string(ab);
                        }
                        else
                        {
                            ok = false;
                        }
                    }
                }
                else
                {
                    if(b>=br1)
                    {
                        output[i] = "0 0 " + to_string(br1) +" " + to_string(ab);
                    }
                    else if(b>0)
                    {
                        br2 = br1 - b;
                        if(o>=br2)
                        {
                            output[i] = to_string(br2) + " 0 " + to_string(b) + " " + to_string(ab);
                        }
                        else
                        {
                            ok = false;
                        }
                    }
                }
            }
            else
            {
                br1 = br[i];
                if(a>=br1)
                {
                    a-=br1;
                    output[i] = "0 " + to_string(br1) + " 0 " + "0";
                }
                else if(a>0)
                {
                    br2 = br1 - a;
                    if(b>=br2)
                    {
                        output[i] = "0 " + to_string(a) + " " + to_string(br2) +" " + "0";
                    }
                    else if(b>0)
                    {
                        br3 = br2 - b;
                        if(o>=br3)
                        {
                            output[i] = to_string(br3) + " " + to_string(a) + " " + to_string(b) +" " + "0";
                        }
                        else
                        {
                            ok = false;
                        }
                    }
                }
                else
                {
                    if(b>=br1)
                    {
                        output[i] = "0 0 " + to_string(br1) +" " + "0";
                    }
                    else if(b>0)
                    {
                        br2 = br1 - b;
                        if(o>=br2)
                        {
                            output[i] = to_string(br2) + " 0 " + to_string(b) + " " + "0";
                        }
                        else
                        {
                            ok = false;
                        }
                    }
                }
            }
        }
    }
    if(ok)
    {
        cout << "moguce" << endl;
        for(i=0;i<n;i++)
        {
            cout << output[i] << endl;
        }
    }
    else
    {
        cout << "nemoguce" << endl;
    }
}