/*
题意:有容量分别为Ca Cb 的A B两个壶 需要你通过几种操作使B壶中装有n容量的水
有如下操作
empty A
empty B
fill A
fill B
pour A B
pour B A
成功后输出success
*/
#include<iostream>
#include<stdio.h>
#include<cstring>
#include<string>
#include<vector>
using namespace std;
int vis[1001][1001];
int ca,cb,n;
vector <string> v;
void DFS(int x,int y)
{
if(y==n)
{
for(int i=0;i<v.size();i++)
cout<<v[i]<<endl;
cout<<"success"<<endl;
return;
}
if(!vis[ca][y])
{
vis[ca][y]=1;
v.push_back("fill A");
DFS(ca,y);
v.pop_back();
}
if(!vis[x][cb])
{
vis[x][cb]=1;
v.push_back("fill B");
DFS(x,cb);
v.pop_back();
}
if(!vis[0][y])
{
vis[0][cb]=1;
v.push_back("empty A");
DFS(0,cb);
v.pop_back();
}
if(!vis[x][0])
{
vis[x][0]=1;
v.push_back("empty B");
DFS(x,0);
v.pop_back();
}
if(x+y>=cb&&!vis[x-(cb-y)][cb])
{
vis[x-cb+y][cb]=1;
v.push_back("pour A B");
DFS(x-cb+y,cb);
v.pop_back();
}
if(x+y<cb&&!vis[0][x+y])
{
vis[0][x+y]=1;
v.push_back("pour A B");
DFS(0,x+y);
v.pop_back();
}
if(x+y>=ca&&!vis[ca][x+y-ca])
{
vis[ca][x+y-ca]=1;
v.push_back("pour B A");
DFS(ca,x+y-ca);
v.pop_back();
}
if(x+y<ca&&!vis[x+y][0])
{
vis[x+y][0]=1;
v.push_back("pour B A");
DFS(x+y,0);
v.pop_back();
}
}
int main()
{
while(cin>>ca>>cb>>n)
{
v.clear();
memset(vis,0,sizeof(vis));
vis[0][0]=1;
DFS(0,0);
}
}