#include <iostream>

using namespace std;

int main()
{
    long broj_pacijenata;
    
    long nulta_zalihe;
    long a_zalihe;
    long b_zalihe;
    long ab_zalihe;
    
    long nulta_potrebe;
    long a_potrebe;
    long b_potrebe;
    long ab_potrebe;
    
    string rezultat="moguce";
    
    cin >> broj_pacijenata;
    cin >> nulta_zalihe;
    cin >> a_zalihe;
    cin >> b_zalihe;
    cin >> ab_zalihe;
    
    long matrica[broj_pacijenata][4];
    string grupa[broj_pacijenata][2];
    
    for(int i = 0; i < broj_pacijenata; i++)
    {
        matrica[i][0] = 0;
        matrica[i][1] = 0;
        matrica[i][2] = 0;
        matrica[i][3] = 0;
    }
    
    for(long i=0;i<broj_pacijenata;i++){
        cin >> grupa[i][0];
        cin >> grupa[i][1];
    }
    
    int broj;
    
    for(long i=0;i<broj_pacijenata && rezultat=="moguce";i++){
        if (grupa[i][0]=="O")
        {
            broj= stol(grupa[i][1]);
            nulta_potrebe = broj;
            if(nulta_zalihe>nulta_potrebe){
            nulta_zalihe=nulta_zalihe-nulta_potrebe;
            matrica[i][0]=nulta_potrebe;
            nulta_potrebe=0;
            }
            else
            rezultat="nemoguce";
        }else
        if (grupa[i][0]=="A")
        {
            broj= stol(grupa[i][1]);
            a_potrebe = broj;
            if(a_zalihe>a_potrebe){
                a_zalihe=a_zalihe-a_potrebe;
                matrica[i][1]=a_potrebe;
                a_potrebe=0;
            }
            else
            {
                    a_potrebe=a_potrebe-a_zalihe;
                    matrica[i][1] = a_zalihe;
                    a_zalihe=0;
                    if(a_potrebe>nulta_zalihe || nulta_zalihe==0)
                    rezultat="nemoguce";
                    else
                    {
                    nulta_zalihe=nulta_zalihe-a_potrebe;
                    matrica[i][0]=a_potrebe;
                    a_potrebe=0;
                    }
            }
        }else
        if (grupa[i][0]=="B")
        {
            broj= stol(grupa[i][1]);
            b_potrebe = broj;
            if(b_zalihe>b_potrebe){
                b_zalihe=b_zalihe-b_potrebe;
                matrica[i][2]=b_potrebe;
                b_potrebe=0;
            }
            else
            {
                    b_potrebe=b_potrebe-b_zalihe;
                    grupa[i][2] = b_zalihe;
                    b_zalihe=0;
                    if(b_potrebe>nulta_zalihe || nulta_zalihe==0)
                        rezultat="nemoguce";
                    else
                    {
                        nulta_zalihe=nulta_zalihe-b_potrebe;
                        grupa[i][0]=b_potrebe;
                        b_potrebe=0;
                    }
            }
        }else
        if (grupa[i][0]=="AB")
        {
            broj= stol(grupa[i][1]);
            ab_potrebe = broj;
            if(ab_zalihe>ab_potrebe){
                ab_zalihe=ab_zalihe-ab_potrebe;
                matrica[i][3]=ab_potrebe;
                ab_potrebe=0;
            }
            else
            {
                ab_potrebe=ab_potrebe-ab_zalihe;
                matrica[i][3] = ab_zalihe;
                ab_zalihe=0;
                if(b_zalihe>ab_potrebe){
                    b_zalihe=b_zalihe-ab_potrebe;
                    matrica[i][2]=ab_potrebe;
                    ab_potrebe=0;
                }
                else
                {
                    ab_potrebe=ab_potrebe-b_zalihe;
                    matrica[i][2] = b_zalihe;
                    b_zalihe=0;
                    if(a_zalihe>ab_potrebe){
                        a_zalihe=a_zalihe-ab_potrebe;
                        matrica[i][1]=ab_potrebe;
                        ab_potrebe=0;
                    }
                    else
                    {
                        ab_potrebe=ab_potrebe-a_zalihe;
                        matrica[i][1] = a_zalihe;
                        a_zalihe=0;
                        if(ab_potrebe>nulta_zalihe || nulta_zalihe==0)
                            rezultat="nemoguce";
                        else
                        {
                            nulta_zalihe=nulta_zalihe-ab_potrebe;
                            matrica[i][0]=ab_potrebe;
                            ab_potrebe=0;
                        }
                    }
                }
            }
        }
    }
    
    cout<<rezultat;
    
        if(rezultat == "moguce")
    {
        
        for(int i = 0; i < broj_pacijenata; i++)
        {
            cout << matrica[i][0] << " " << matrica[i][1] << " " << matrica[i][2] << " " << matrica[i][3] << endl;
        }
    }
    
    return 0;
}