#include<iostream>
typedef struct node
{
	int a;
	int b;
	int pre;
	int zhong;
}node;
int n,m,p;
node point[100000];
int visit[100][100]={0};
int tou;
int wei;
int last;
void bfs()
{   //printf("%d",p);
	int tou=0;
    int wei=1;
    point[tou].a=0;
    point[tou].b=0;
    point[tou].pre=-1;
	//printf("%d",p);
	while(tou<wei)
	{
		 //printf("%d",tou);
		if(point[tou].b==p)
		{  
			
			
			last=tou;
			break;
		}
		for(int i=0;i<6;i++)
		{    

			if(i==0)
			{   if(visit[n][point[tou].b]==0)
				{ 
					visit[n][point[tou].b]=1;
					point[wei].a=n;
				    point[wei].b=point[tou].b;
				    point[wei].pre=tou;
					point[wei].zhong=i;
					 wei++;
			   }
			}
			if(i==1)
			{  if(visit[point[tou].a][m]==0)
			  {
                visit[point[tou].a][m]=1;
				point[wei].a=point[tou].a;
				point[wei].b=m;
				point[wei].pre=tou;
				point[wei].zhong=i;
				wei++;
			  }
			}
			if(i==2)
			{  if(visit[0][point[tou].b]==0)
			{
				visit[0][point[tou].b]=1;
				point[wei].a=0;
				point[wei].b=point[tou].b;
				point[wei].pre=tou;
				point[wei].zhong=i;
				wei++;
			}
			}
			if(i==3)
			{  if(visit[point[tou].a][0]==0)
				{
					visit[point[tou].a][0]=1;
					point[wei].a=point[tou].a;
				point[wei].b=0;
				point[wei].pre=tou;
				point[wei].zhong=i;
				wei++;
			  } 
			}
			if(i==4)
			{   
				if((m-point[tou].b)>=point[tou].a)
				{ 
					if(visit[0][point[tou].a+point[tou].b]==0)
					{
						visit[0][point[tou].a+point[tou].b]=1;
						point[wei].a=0;
				      point[wei].b=point[tou].a+point[tou].b;
				     point[wei].pre=tou;
				     point[wei].zhong=i;
				     wei++;}
				}else
				{if(visit[point[tou].a-(m-point[tou].b)][m]==0)
				{  visit[point[tou].a-(m-point[tou].b)][m]=1;
					point[wei].a=point[tou].a-(m-point[tou].b);
					point[wei].b=m;
					point[wei].pre=tou;
					point[wei].zhong=i;
					wei++;
				}
				}

			}
			if(i==5)
			{
				if((n-point[tou].a)>=point[tou].b)
				{ 
					if(visit[point[tou].a+point[tou].b][0]==0)
					{   visit[point[tou].a+point[tou].b][0]=1;
						point[wei].a=point[tou].a+point[tou].b;
				point[wei].b=0;
				point[wei].pre=tou;
				point[wei].zhong=i;
				wei++;
					}
				}else
				{  if(visit[n][point[tou].b-(n-point[tou].a)]==0)
				{   visit[n][point[tou].b-(n-point[tou].a)]=1;
					point[wei].a=n;
					point[wei].b=point[tou].b-(n-point[tou].a);
					point[wei].pre=tou;
					point[wei].zhong=i;
					wei++;
				}
				}

			}
		}
		tou++;
	}
	

}
void dayin(int a)
{   
	if(a==0)	
		return ;
	dayin(point[a].pre);
	int i=point[a].zhong;
	if(i==0)
		printf("fill A \n");
	else if(i==1)
		printf("fill B\n");
	else if(i==2)
		printf("empty A\n");
	else if(i==3)
		printf("empty B\n");
	else if(i==4)
		printf("pour A B\n");
	else if(i==5)
		printf("pour B A\n");
}

int main()
{   
	freopen("input.txt","r",stdin);	
	while(scanf("%d%d%d",&n,&m,&p)!=EOF)
	{
	for(int i=0;i<100;i++)
		for(int j=0;j<100;j++)
			visit[i][j]=0;
	bfs();
	dayin(last);
	printf("success\n");
	
	
	}
	
}