#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: 正确
    Time:9 ms
    Memory:2072 kb
/**************************************************************
	Problem: 1222
	User: chenyaohuo
	Language: C++
	Result: Compile Error
****************************************************************/