include <bits/stdc++.h>

using namespace std;

int main()
{
    int n ;
    cin >> n ;
    int o,a,b,ab ;
    cin >> o >> a >> b >> ab ;
    int op=0 , ap=0 , bp=0 , abp=0 ;
    pair<string,int>p[n] ;
    for(int i=0 ;i<n ; i++){
        cin >> p[i].first >> p[i].second ;
        if(p[i].first[0]=='O'){
            op+=p[i].second ;
        }
         else if(p[i].first[0]=='A' && p[i].first[1]!='B'){
            ap+=p[i].second ;
        }
         else if(p[i].first[0]=='B'){
            bp+=p[i].second ;
        }
         else{
            abp+=p[i].second ;
        }
    }
    int o1=o ,a1=a , b1=b , ab1=ab ;
    if(o1<op){
        cout << "nemoguce" ;
        return 0 ;
    }
    else{
        o1-=op ;
        if(a1+o1<ap)
        {
            cout << "nemoguce" ;
            return 0 ;
        }
        else{
            if(ap>a1){
                o1=o1-(ap-a1) ;
                a1=0 ;
            }
            else{
                a1-=ap ;
            }
        }
        if(b1+o1<bp){
            cout << "nemoguce" ;
            return 0 ;
        }
        else{
            if(bp>b1){
                o1=o1-(bp-b1);
                b1=0 ;
            }
            else{
                b1-=bp ;
            }
        }
        if(abp>a1+b1+o1+ab1){
            cout << "nemoguce" ;
            return 0;
        }

    }
    cout << "moguce" << endl ;
    for(int i=0 ; i<n ; i++)
    {
        int ox=0 , ax=0 , bx=0 , abx=0 ;
        if(p[i].first[0]=='O')
        {
            o-=p[i].second ;
            ox=p[i].second ;
        }
        else if(p[i].first[0]=='A' && p[i].first[1]!='B')
        {
            if(p[i].second>a)
            {
                o-=(p[i].second-a) ;
                ox=p[i].second-a ;
                ax=a ;
                a=0 ;
            }
            else
            {
                ap=p[i].second ;
                a-=p[i].second ;
            }
        }
        else if(p[i].first[0]=='B')
        {
            if(p[i].second>b)
            {
                o-=(p[i].second-b) ;
                ox=p[i].second-b ;
                bx=b ;
                b=0 ;
            }
            else
            {
                bx=p[i].second ;
                b-=p[i].second ;
            }
        }
        else
        {
            if(p[i].second>ab)
            {
                abx=ab ;
                p[i].second-=ab ;
                ab=0 ;

            }
            else
            {
                abx=p[i].second ;
                ab-=p[i].second ;
            }
            if(p[i].second>a1)
            {
                ax=a1 ;
                p[i].second-=a1 ;
                a1=0 ;
            }
            else
            {
                ax=p[i].second ;
                a1-=p[i].second ;
                p[i].second=0 ;
            }
            if(p[i].second>b1)
            {
                bx=b1 ;
                p[i].second-=b1 ;
                b1=0 ;
            }
            else
            {
                bx=p[i].second ;
                b1-=p[i].second ;
                p[i].second=0 ;
            }
            if(p[i].second>o1)
            {
                ox=o1 ;
                p[i].second-=o1 ;
                o1=0 ;
            }
            else
            {
                ox=p[i].second ;
                o1-=p[i].second ;
                p[i].second=0 ;
            }
        }
        cout << ox << " " << ax << " " << bx << " " << abx << endl;
    }



return 0;
}