#include <bits/stdc++.h>

using namespace std;

struct pacijent{
    string krvnaGrupa;
    int potrebnoJedinica; 
    int O=0;
    int A=0;
    int B=0;
    int AB=0;
};

int main() {
    int brojPacijenata;
    cin>>brojPacijenata;
    int zalO, zalA, zalB, zalAB;
    cin>>zalO>>zalA>>zalB>>zalAB;

    vector <pacijent> pacijenti(brojPacijenata);
    for(int i=0; i<brojPacijenata; i++){
        cin>>pacijenti[i].krvnaGrupa;
        cin>>pacijenti[i].potrebnoJedinica;
    }
    
    /*for(int i=0; i<brojPacijenata; i++){
        cout<<"krvna grupa pacijenta "<<i<<":"<<pacijenti[i].krvnaGrupa<<" ";
        cout<<"potrebno jedinica krvi pacijentu "<<i<<":"<<pacijenti[i].potrebnoJedinica<<endl;
    }*/
    
    
    for(int i=0; i<brojPacijenata; i++){
        
        pacijent p=pacijenti[i];
        
        if(p.krvnaGrupa=="O"){
            if(zalO<pacijenti[i].potrebnoJedinica){
                cout<<"nemoguce"<<endl;
                    return 0;
            }else{
                zalO=zalO-pacijenti[i].potrebnoJedinica;
                pacijenti[i].O=pacijenti[i].potrebnoJedinica;
                pacijenti[i].potrebnoJedinica=0;
            }
        }else if(p.krvnaGrupa=="A"){
            if(zalA+zalO<pacijenti[i].potrebnoJedinica){
                cout<<"nemoguce"<<endl;
                return 0;
            }else{
                if(zalA<pacijenti[i].potrebnoJedinica){
                    pacijenti[i].potrebnoJedinica=pacijenti[i].potrebnoJedinica-zalA;
                    pacijenti[i].A=zalA;
                    zalA=0;
                    zalO=zalO-pacijenti[i].potrebnoJedinica;
                    pacijenti[i].O=pacijenti[i].potrebnoJedinica;
                    pacijenti[i].potrebnoJedinica=0;
                }else{
                    zalA=zalA-pacijenti[i].potrebnoJedinica;
                    pacijenti[i].A=pacijenti[i].potrebnoJedinica;
                    pacijenti[i].potrebnoJedinica=0;
                }
            }
        }else if(p.krvnaGrupa=="B"){
            if(zalB+zalO<pacijenti[i].potrebnoJedinica){
                cout<<"nemoguce"<<endl;
                return 0;
            }else{
                if(zalB<pacijenti[i].potrebnoJedinica){
                    pacijenti[i].potrebnoJedinica=pacijenti[i].potrebnoJedinica-zalB;
                    pacijenti[i].B=zalB;
                    zalB=0;
                    zalO=zalO-pacijenti[i].potrebnoJedinica;
                    pacijenti[i].O=pacijenti[i].potrebnoJedinica;
                    pacijenti[i].potrebnoJedinica=0;
                }else{
                    zalB=zalB-pacijenti[i].potrebnoJedinica;
                    pacijenti[i].B=pacijenti[i].potrebnoJedinica;
                    pacijenti[i].potrebnoJedinica=0;
                }
            }
        }else if(p.krvnaGrupa=="AB"){
            //nije gotovo!
            if(zalA+zalAB+zalB+zalO<pacijenti[i].potrebnoJedinica){
                cout<<"nemoguce"<<endl;
                return 0;
            }
        }
        
    }
    
    cout<<"moguce"<<endl;
    for(int i=0; i<brojPacijenata; i++){
        cout<<pacijenti[i].O<<" "<<pacijenti[i].A<<" "<<pacijenti[i].B<<" "<<pacijenti[i].AB<<endl;
    }
    
}