#include <iostream>
using namespace std;

//n代表盘子的数量,a代表放盘子的塔,b代表中间的辅助塔,c代表目标塔 
void hanNuo(int n,char a,char b,char c){
	if(n > 0){
		//把上面的n-1个盘子,从a塔借助于c塔放到b塔上 
		hanNuo(n - 1,a,c,b);
		//把最下面的第n个盘子,从a移动到c 
		cout<<a<<" To "<<c<<endl;
		//将b塔上的n-1个盘子,从b移动到c借助于a
		hanNuo(n - 1,b,a,c); 	 	
	}
}

int main(){
	int n;
	cin>>n;
 	hanNuo(n,'A','B','C');
}
/**************************************************************
	Problem: 1222
	User: admin
	Language: C++
	Result: Accepted
	Time:10 ms
	Memory:2072 kb
****************************************************************/