#include<stdio.h>
#include<math.h>

void main()
{
    int N;
    int O_dostupno, A_dostupno, B_dostupno, AB_dostupno;
    int O_potrebno, A_potrebno, B_potrebno, AB_potrebno;
    int O_razlika, A_razlika, B_razlika;
    int O_temp, A_temp, B_temp, AB_temp;
    int x, y;
    int ukupno_dostupno = 0;
    int i;
    int grupa[10010], jedinice[10010];
    int jedinice_temp;
    char grupa_temp[2];

    O_potrebno = 0;
    A_potrebno = 0;
    B_potrebno = 0;
    AB_potrebno = 0;
    grupa[0] = 'X';
    grupa[1] = 'Y';

    scanf("%d", &N);
    scanf("%d%d%d%d", &O_dostupno, &A_dostupno, &B_dostupno, &AB_dostupno);
    
    ukupno_dostupno = O_dostupno + A_dostupno + B_dostupno + AB_dostupno;

    for(i=0; i<N; i++)
    {
        scanf("%s%d", grupa_temp, &jedinice_temp);
        if(grupa_temp[0] == 'A' && grupa_temp[1] == 'B') 
        {
            AB_potrebno += jedinice_temp;
            grupa[i] = 3;
        }
        else if(grupa_temp[0] == 'A')
        {
            A_potrebno += jedinice_temp;
            grupa[i] = 2;
        }
        else if(grupa_temp[0] = 'B')
        {
            B_potrebno += jedinice_temp;
            grupa[i] = 1;
        }
        else if(grupa_temp[0] = 'O')
        {
            O_potrebno += jedinice_temp;
            grupa[i] = 0;
        }
        jedinice[i] = jedinice_temp;
    }

    O_razlika = O_dostupno - O_potrebno;
    A_razlika = A_potrebno - A_dostupno;
    B_razlika = B_potrebno - B_dostupno;

    if(A_razlika > 0)
        x = A_razlika;
    else 
        x = 0;
        
    if(B_razlika > 0)
        y = B_razlika;
    else 
        y = 0;

    if(x + y <= O_razlika && ukupno_dostupno - A_potrebno - B_potrebno - O_potrebno >= AB_potrebno)
    {   
        printf("moguce\n");
        for(i=0; i<N; i++)
        {
            O_temp = 0;
            A_temp = 0;
            B_temp = 0;
            AB_temp = 0;
            
            switch(grupa[i])
            {
                case 0: 
                    O_temp = jedinice[i];
                break;
                
                case 1:
                    if(y > jedinice[i])
                    {
                        O_temp = jedinice[i];
                        y -= O_temp;
                    }
                    else if(y > 0)
                    {
                        O_temp = y;
                        B_temp = jedinice[i] - y;
                        y = 0;
                    }
                    else
                        B_temp = jedinice[i];
                break;
                
                case 2:
                    if(x > jedinice[i])
                    {
                        O_temp = jedinice[i];
                        x -= O_temp;
                    }
                    else if(x > 0)
                    {
                        O_temp = x;
                        A_temp = jedinice[i] - x;
                        x = 0;
                    }
                    else
                        A_temp = jedinice[i];
                break;
                
                case 3:
                    if(AB_dostupno > jedinice[i])
                        AB_temp = jedinice[i];
                    else
                    {
                        if(AB_dostupno > 0)
                        {
                            AB_temp = AB_dostupno;
                            jedinice_temp = jedinice[i] - AB_dostupno;
                            if(O_dostupno > jedinice_temp)
                                O_temp = jedinice_temp;
                            else
                            {
                                O_temp = O_dostupno;
                                jedinice_temp = jedinice_temp - O_dostupno;
                                if(A_dostupno > jedinice_temp)
                                    A_temp = jedinice_temp;
                                else
                                {
                                    A_temp = A_dostupno;
                                    jedinice_temp = jedinice_temp - A_dostupno;
                                    if(B_dostupno > jedinice_temp)
                                        B_temp = jedinice_temp;
                                    else
                                        B_temp = B_dostupno;
                                }
                            }
                        }
                    }
                break;
            }
            
            O_dostupno -= O_temp;
            A_dostupno -= A_temp;
            B_dostupno -= B_temp;
            AB_dostupno -= AB_temp;
            
            printf("%0d %0d %0d %0d\n", O_temp, A_temp, B_temp, AB_temp);
        }
    }
    else
    {
        printf("nemoguce\n");
    }
}