//#include<bits/stdc++.h>
//using namespace std;
//int f(int n){
//  int r;
//  if(n<3) r=1;
//  else r=f(n-1)+f(n-2);
//  return r;
//  } 
//int main(){
//  int m;
//  cout<<f(m)<<endl;
//  cin>>m; 
//return 0;
//}

#include<bits/stdc++.h>
using namespace std;
void dfs(int s,char q,char z,char t)
{
	if(s==1)
	{
	
	cout<<q<<" TO "<<z<<endl;
}
else
{
	dfs(s-1,q,t,z);
	cout<<q<<" TO "<<z<<endl;
		dfs(s-1,t,q,z);
}
	
	
	
}
int main(){
	int n;
	cin>>n;
	dfs(n,'A','B','C');
    return 0;
}

//#include<bits/stdc++.h>
//using namespace std;
//int a,s=0;
//int f(int n){
//    int r=0;
//    if(n==1) r=a;
//    else r=f(n-1)*10+a;                                                
//    return r;
//}
//int main(){
//    cin>>a;
//    for(int i=1;i<=a;i++){
//        s=s+f(i);
//    }
//    cout<<s;
// 
//    return 0;
//}

/**************************************************************
	Problem: 1222
	User: chenzhuo1
	Language: C++
	Result: Wrong Answer
****************************************************************/