#include <bits/stdc++.h>

using namespace std;

typedef struct pacijent
{
    unsigned long primljeneA;
    unsigned long primljeneB;
    unsigned long primljeneO;
    unsigned long primljeneAB;
}pacijent;

int main()
{
    unsigned long n, a, b, o, ab, inputJedinice, aUkupno = 0, bUkupno = 0, oUkupno = 0, abUkupno = 0, temp;
    cin >> n >> o >> a >> b >> ab;
    string inputGrupa;
    short int grupa;
    struct pacijent pacijenti[n];
    bool moguce = true;
    for(unsigned long i = 0; i < n; i++)
    {
        cin >> inputGrupa >> inputJedinice;
        if(inputGrupa == "O")
            grupa = 1;
        else if(inputGrupa == "A")
            grupa = 2;
        else if(inputGrupa == "B")
            grupa = 3;
        else
            grupa = 4;
        switch(grupa)
        {
            case 1:
                    if(o >= inputJedinice)
                    {
                        o -= inputJedinice;
                        pacijenti[i].primljeneO = inputJedinice;
                        pacijenti[i].primljeneA = 0;
                        pacijenti[i].primljeneB = 0;
                        pacijenti[i].primljeneAB = 0;
                    }
                    else
                    {
                        moguce = false;
                    }
                    break;
            case 2:
                    if(a + o > inputJedinice)
                    {
                        if(a >= inputJedinice)
                        {
                            a -= inputJedinice;
                            pacijenti[i].primljeneA = inputJedinice;
                            pacijenti[i].primljeneB = 0;
                            pacijenti[i].primljeneO = 0;
                            pacijenti[i].primljeneAB = 0;
                            break;
                        }
                        else
                        {
                            pacijenti[i].primljeneA = a;
                            inputJedinice -= a;
                            if(o > inputJedinice)
                            {
                                pacijenti[i].primljeneO = inputJedinice;
                                pacijenti[i].primljeneB = 0;
                                pacijenti[i].primljeneAB = 0;
                            }
                            else
                            {
                                moguce = false;
                                break;
                            }
                            a = 0;
                            o -= inputJedinice;
                        }
                    }
                    else
                    {
                        moguce = false;
                    }
                    break;
            case 3:
                    if(b + o > inputJedinice)
                    {
                        if(b >= inputJedinice)
                        {
                            b -= inputJedinice;
                            pacijenti[i].primljeneB = inputJedinice;
                            pacijenti[i].primljeneA = 0;
                            pacijenti[i].primljeneO = 0;
                            pacijenti[i].primljeneAB = 0;
                            break;
                        }
                        else
                        {
                            pacijenti[i].primljeneB = b;
                            inputJedinice -= b;
                            if(o > inputJedinice)
                            {
                                pacijenti[i].primljeneO = inputJedinice;
                                pacijenti[i].primljeneA = 0;
                                pacijenti[i].primljeneAB = 0;
                            }
                            else
                            {
                                moguce = false;
                                break;
                            }
                            b = 0;
                            o -= inputJedinice;
                        }
                    }
                    else
                    {
                        moguce = false;
                    }
                    break;
            case 4:
                    if(ab + a + b + o > inputJedinice)
                    {
                        if(ab >= inputJedinice)
                        {
                            pacijenti[i].primljeneAB = inputJedinice;
                            pacijenti[i].primljeneA = 0;
                            pacijenti[i].primljeneB = 0;
                            pacijenti[i].primljeneO = 0;
                            ab -= inputJedinice;
                            break;
                        }
                        else
                        {
                            pacijenti[i].primljeneAB = ab;
                            inputJedinice -= ab;
                            ab = 0;
                        }
                        if(a >= inputJedinice)
                        {
                            pacijenti[i].primljeneA = inputJedinice;
                            pacijenti[i].primljeneB = 0;
                            pacijenti[i].primljeneO = 0;
                            a -= inputJedinice;
                            break;
                        }
                        else
                        {
                            pacijenti[i].primljeneA = a;
                            inputJedinice -= a;
                            a = 0;
                        }
                        if(b >= inputJedinice)
                        {
                            pacijenti[i].primljeneB = inputJedinice;
                            pacijenti[i].primljeneO = 0;
                            b -= inputJedinice;
                            break;
                        }
                        else
                        {
                            pacijenti[i].primljeneB = b;
                            inputJedinice -= b;
                            b = 0;
                        }
                        pacijenti[i].primljeneO = inputJedinice;
                        o -= inputJedinice;
                    }
                    else
                    {
                        moguce = false;
                    }
                    break;
        }
    }
    if(moguce)
    {
        cout << "moguce" << endl;
        for(unsigned long i = 0; i < n; i++)
        {
            printf("%lu %lu %lu %lu\n", pacijenti[i].primljeneO, pacijenti[i].primljeneA, pacijenti[i].primljeneB, pacijenti[i].primljeneAB);
        }
    }
    else
    {
        cout << "nemoguce";
    }
}