#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"); } }