#include <stdio.h>
#include <string.h>

int main()
{
    int i,j;
    unsigned int N, jedinice[4];
    scanf("%u",&N);
    unsigned int potrebno[N];
    char grupe[N][3];
    for(i=0;i<4;i++)
        scanf("%u",&jedinice[i]);
    for(i=0;i<N;i++){
        scanf("%s",&grupe[i]);
        scanf("%u",&potrebno[i]);
    }
    unsigned int dodeljeno[N][4];
    for(i=0;i<N;i++)
        for(j=0;j<4;j++)
            dodeljeno[i][j]=0;
    for(i=0;i<N;i++){
        if(strcmp(grupe[i],"O")==0){
            if(jedinice[0]>=potrebno[i]){
                jedinice[0]-=potrebno[i];
                dodeljeno[i][0]=potrebno[i];
            }
            else{
                printf("nemoguce");
                return 0;
            }
        }
        else if(strcmp(grupe[i],"A")==0){
            if(jedinice[1]>=potrebno[i]){
                jedinice[1]-=potrebno[i];
                dodeljeno[i][1]=potrebno[i];
            }
            else if(jedinice[1]!=0){
                potrebno[i]-=jedinice[1];
                dodeljeno[i][1]=jedinice[1];
                jedinice[1]=0;
                if(jedinice[0]>=potrebno[i]){
                    jedinice[0]-=potrebno[i];
                    dodeljeno[i][0]=potrebno[i];
                }
                else{
                    printf("nemoguce");
                    return 0;
                }
            }
            else{
                if(jedinice[0]>=potrebno[i]){
                    jedinice[0]-=potrebno[i];
                    dodeljeno[i][0]=potrebno[i];
                }
                else{
                    printf("nemoguce");
                    return 0;
                }
            }
        }
        else if(strcmp(grupe[i],"B")==0){
             if(jedinice[2]>=potrebno[i]){
                jedinice[2]-=potrebno[i];
                dodeljeno[i][2]=potrebno[i];
            }
            else if(jedinice[2]!=0){
                potrebno[i]-=jedinice[2];
                dodeljeno[i][1]=jedinice[2];
                jedinice[2]=0;
                if(jedinice[0]>=potrebno[i]){
                    jedinice[0]-=potrebno[i];
                    dodeljeno[i][0]=potrebno[i];
                }
                else{
                    printf("nemoguce");
                    return 0;
                }
            }
            else{
                if(jedinice[0]>=potrebno[i]){
                    jedinice[0]-=potrebno[i];
                    dodeljeno[i][0]=potrebno[i];
                }
                else{
                    printf("nemoguce");
                    return 0;
                }
            }
        }
        else if(strcmp(grupe[i],"AB")==0){
            if(jedinice[3]>=potrebno[i]){
                jedinice[3]-=potrebno[i];
                dodeljeno[i][3]=potrebno[i];
                potrebno[i]=0;
            }
            else if(jedinice[3]!=0){
                potrebno[i]-=jedinice[3];
                dodeljeno[i][3]=jedinice[3];
                jedinice[3]=0;
            }
            for(j=0;j<=3&&potrebno[i]>0;j++){
                if(jedinice[j]>=potrebno[i]){
                    jedinice[j]-=potrebno[i];
                    dodeljeno[i][j]=potrebno[i];
                    potrebno[i]=0;
                }
                else if(jedinice[j]!=0){
                    potrebno[i]-=jedinice[j];
                    dodeljeno[i][j]=jedinice[j];
                    jedinice[j]=0;
                }
            }
            if(potrebno[i]<0){
                printf("nemoguce lol");
                return 0;
            }
        }
    }
    printf("moguce\n");
    for(i=0;i<N;i++){
        for(j=0;j<4;j++)
            printf("%u ",dodeljeno[i][j]);
        putchar('\n');
    }
    return 0;
}