#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: linyuhang
	Language: C++
	Result: Accepted
	Time:9 ms
	Memory:2072 kb
****************************************************************/