#include <iostream>

using namespace std;

int main()
{
    int n;
    int zaliheO;
    int zaliheA;
    int zaliheB;
    int zaliheAB;
    int potrebnaKol[10000];
    int potrebnoAB = 0;
    int potrebnoA = 0;
    int potrebnoB = 0;
    int potrebnoO = 0;
    string grupa[10000];
    string resTekst = "moguce";
    int res[10000][4];
    
    cin >> n;
    cin >> zaliheO >> zaliheA >> zaliheB >> zaliheAB;
    
    for(int i = 0; i < n; i++)
    {
        res[i][0] = 0;
        res[i][1] = 0;
        res[i][2] = 0;
        res[i][3] = 0;
    }
    
    for(int i = 0; i < n; i++)
    {
        cin >> grupa[i] >> potrebnaKol[i];
        
        if(grupa[i] == "AB")
        {
            potrebnoAB += potrebnaKol[i];
        }
        else if(grupa[i] == "A")
        {
            potrebnoA += potrebnaKol[i];
        }
        else if(grupa[i] == "B")
        {
            potrebnoB += potrebnaKol[i];
        }
        else
        {
            potrebnoO += potrebnaKol[i];
        }
    }
    
    if(zaliheO < potrebnoO)
    {
        resTekst = "nemoguce";
    }
    if(zaliheO + zaliheA < potrebnoO + potrebnoA)
    {
        resTekst = "nemoguce";
    }
    if(zaliheO + zaliheB < potrebnoO + potrebnoB)
    {
        resTekst = "nemoguce";
    }
    if(zaliheO + zaliheA + zaliheB + zaliheAB < potrebnoO + potrebnoA + potrebnoB + potrebnoAB)
    {
        resTekst = "nemoguce";
    }
    
    if(resTekst == "moguce")
    {
        for(int i = 0; i < n; i++)
        {
            if(grupa[i] == "O")
            {
                potrebnoO -= potrebnaKol[i];
                zaliheO -= potrebnaKol[i];
                res[i][0] += potrebnaKol[i];
            }
            else if(grupa[i] == "A")
            {
                potrebnoA -= potrebnaKol[i];
                if(zaliheA >= potrebnaKol[i])
                {
                    zaliheA -= potrebnaKol[i];
                    res[i][1] += potrebnaKol[i];
                }
                else
                {
                    potrebnaKol[i] -= zaliheA;
                    res[i][1] += zaliheA;
                    zaliheA = 0;
                    
                    zaliheO -= potrebnaKol[i];
                    res[i][0] += potrebnaKol[i];
                }
            }
            else if(grupa[i] == "B")
            {
                potrebnoB -= potrebnaKol[i];
                if(zaliheB >= potrebnaKol[i])
                {
                    zaliheB -= potrebnaKol[i];
                    res[i][2] += potrebnaKol[i];
                }
                else
                {
                    potrebnaKol[i] -= zaliheB;
                    res[i][2] += zaliheB;
                    zaliheB = 0;
                    
                    zaliheO -= potrebnaKol[i];
                    res[i][0] += potrebnaKol[i];
                }
            }
            else
            {
                if(zaliheAB >= potrebnaKol[i])
                {
                    zaliheAB -= potrebnaKol[i];
                    res[i][3] += potrebnaKol[i];
                }
                else
                {
                    potrebnaKol[i] -= zaliheAB;
                    res[i][3] += zaliheAB;
                    zaliheAB = 0;
                    
                    if(zaliheO >= potrebnoO + potrebnaKol[i])
                    {
                        zaliheO -= potrebnaKol[i];
                        res[i][0] += potrebnaKol[i];
                    }
                    else
                    {
                        potrebnaKol[i] -= zaliheO;
                        res[i][0] += zaliheO;
                        zaliheO = 0;
                        
                        if(zaliheA >= potrebnoA + potrebnaKol[i])
                        {
                            zaliheA -= potrebnaKol[i];
                            res[i][1] += potrebnaKol[i];
                        }
                        else
                        {
                            potrebnaKol[i] -= (zaliheA - potrebnoA);
                            res[i][1] += (zaliheA - potrebnoA);
                            zaliheA = potrebnoA;
                            
                            zaliheB -= potrebnaKol[i];
                            res[i][2] += potrebnaKol[i];
                        }
                    }
                }
            }
        }
    }
    
    cout << resTekst << endl;
    
    if(resTekst == "moguce")
    {
        for(int i = 0; i < n; i++)
        {
            cout << res[i][0] << " " << res[i][1] << " " << res[i][2] << " " << res[i][3] << endl;
        }
    }
    
    return 0;
}