#include<bits/stdc++.h>
using namespace std;
int n,o,a,b,ab,y[10000][4],da=1;
pair<string,int> p[10000];
void moze()
{
	int i;
	for(i=0;i<n && da;i++)
	{
		if(p[i].first=="O")
		{
			if(o>=p[i].second)
			{
				y[i][0]=p[i].second;
				o-=p[i].second;
				p[i].second=0;
			}
			else
			 da=0;
		}
		if(p[i].first=="A")
		{
			if(p[i].second<=a)
			{
				y[i][1]=p[i].second;
				a-=p[i].second;
				p[i].second=0;
			}
			if(a<p[i].second && a!=0)
			{
				y[i][1]=a;
				p[i].second-=a;
				a=0;
			}
			if(a=0 && p[i].second!=0)
			{
				if(o>=p[i].second)
				{
					y[i][0]=p[i].second;
					o-=p[i].second;
					p[i].second=0;
				}
			}
		}
		if(p[i].first=="B")
		{
			if(p[i].second<=b)
			{
				y[i][2]=p[i].second;
				b-=p[i].second;
				p[i].second=0;
			}
			if(b<p[i].second && b!=0)
			{
				y[i][2]=b;
				p[i].second-=b;
				b=0;
			}
			if(b=0 && p[i].second!=0)
			{
				if(o>=p[i].second)
				{
					y[i][0]=p[i].second;
					o-=p[i].second;
					p[i].second=0;
				}
			}
		}
	}
	for(i=0;i<n && da;i++)
    {
        if(p[i].first== "AB")
        {
            if(ab>=p[i].second)
            {
                y[i][3]=p[i].second;
                ab-=p[i].second;
                p[i].second=0;
            }
            if(ab<p[i].second && ab!=0)
            {
                y[i][3]=ab;
                p[i].second-=ab;
                ab=0;
            }
            if(ab=0 && p[i].second!=0)
            {
                if(a>=p[i].second)
                {
                    y[i][1]=p[i].second;
                    a-=p[i].second;
                    p[i].second=0;
                }
                if(a<p[i].second && a!=0)
                {
                    y[i][1]=a;
                    p[i].second-=a;
                    a=0;
                }
                if(a=0 && p[i].second!=0)
                {
                    if(b>=p[i].second)
                    {
                        y[i][2]=p[i].second;
                        b-=p[i].second;
                        p[i].second=0;
                    }
                    if(b<p[i].second && b!=0)
                    {
                        y[i][2]=b;
                        p[i].second-=b;
                        b=0;
                    }
                    if(b=0 && p[i].second!=0)
                    {
                        if(o>=p[i].second)
                        {
                            y[i][0]=p[i].second;
                            o-=p[i].second;
                            p[i].second=0;
                        }
                        else
                         da=0;
                    }
                }
            }
        }
    }
}
int main()
{
	int i,j;
	scanf("%d%d%d%d%d",&n,&o,&a,&b,&ab);
	for(i=0;i<n;i++)
	 scanf("%s%d",&p[i].first,&p[i].second);
	if(da)
	{
		printf("moguce\n");
		for(i=0;i<n;i++)
		{
			for(j=0;j<4;j++)
			 printf("%d ",y[i][j]);
			printf("\n");
		}
	}
	else
	 printf("nemoguce\n");
	return 0;
}