#include <iostream>
using namespace std;
void move(int n,char A,char B,char C){
if(n==1){
cout<<A<<"-->"<<C<<endl; //只输出起止位置
}else{
move(n-1,A,C,B); //先n-1个将A经C移动到B
move(1,A,B,C); //将最大的一个移动到C
move(n-1,B,A,C); //将前n-1个由B经A移动到C
}
}
int main()
{
int n;
cin>>n;
move(n,'a','b','c');
return 0;
}