#include <bits/stdc++.h>
#define MAXN 10010

using namespace std;

array<string, MAXN> krvna_grupa;
array<int, MAXN> potrebna_kolicina;
array<int, MAXN> O_doza;
array<int, MAXN> A_doza;
array<int, MAXN> B_doza;
array<int, MAXN> AB_doza;

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);

    int n;
    cin >> n;
    int O, A, B, AB;
    cin >> O >> A >> B >> AB;
    for(int i = 1; i <= n; i++)
    {
        cin >> krvna_grupa[i] >> potrebna_kolicina[i];
    }

    for(int i = 1; i <= n; i++)
    {
        if(krvna_grupa[i] == "O")
        {
            O -= potrebna_kolicina[i];
            O_doza[i] = potrebna_kolicina[i];
        }
    }
    if(O < 0)
    {
        cout << "nemoguce";
        return 0;
    }

    for(int i = 1; i <= n; i++)
    {
        if(krvna_grupa[i] == "A")
        {
            if(A >= potrebna_kolicina[i])
            {
                A -= potrebna_kolicina[i];
                A_doza[i] = potrebna_kolicina[i];
            }
            else
            {
                potrebna_kolicina[i] -= A;
                A_doza[i] = A;
                A = 0;
            }
            O -= potrebna_kolicina[i] - A_doza[i];
            O_doza[i] = potrebna_kolicina[i] - A_doza[i];
        }
    }
    if(O < 0)
    {
        cout << "nemoguce";
        return 0;
    }

    for(int i = 1; i <= n; i++)
    {
        if(krvna_grupa[i] == "B")
        {
            if(B >= potrebna_kolicina[i])
            {
                B -= potrebna_kolicina[i];
                B_doza[i] = potrebna_kolicina[i];
            }
            else
            {
                potrebna_kolicina[i] -= B;
                B_doza[i] = B;
                B = 0;
            }
            O -= potrebna_kolicina[i] - B_doza[i];
            O_doza[i] = potrebna_kolicina[i] - B_doza[i];
        }
    }
    if(O < 0)
    {
        cout << "nemoguce";
        return 0;
    }

    for(int i = 1; i <= n; i++)
    {
        if(krvna_grupa[i] == "AB")
        {
            if(AB >= potrebna_kolicina[i])
            {
                AB -= potrebna_kolicina[i];
                AB_doza[i] = potrebna_kolicina[i];
            }
            else
            {
                potrebna_kolicina[i] -= AB;
                AB_doza[i] = AB;
                AB = 0;
            }
            if(A >= potrebna_kolicina[i])
            {
                A -= potrebna_kolicina[i];
                A_doza[i] = potrebna_kolicina[i];
            }
            else
            {
                potrebna_kolicina[i] -= A;
                A_doza[i] = A;
                A = 0;
            }
            if(B >= potrebna_kolicina[i])
            {
                B -= potrebna_kolicina[i];
                B_doza[i] = potrebna_kolicina[i];
            }
            else
            {
                potrebna_kolicina[i] -= B;
                B_doza[i] = B;
                B = 0;
            }
            O -= potrebna_kolicina[i] - B_doza[i];
            O_doza[i] = potrebna_kolicina[i] - B_doza[i];
        }
    }
    if(O < 0)
    {
        cout << "nemoguce";
        return 0;
    }

    cout << "moguce\n";
    for(int i = 1; i <= n; i++)
    {
        cout << O_doza[i] << " " << A_doza[i] << " " << B_doza[i] << " " << AB_doza[i] << "\n";
    }
    return 0;
}