#include <stdio.h>
#define N 3
//递归解决汉诺塔问题
//递归程序设计主要把握递归出口和递归表达式,不要陷入细节的泥沼
//将圆盘从a经过b移动至c,最终所有圆盘从a至c
#include <stdio.h>
void move(int n, char a, char b){
printf("move %d %c -> %c\n", n, a, b);
}
void hanoi(int n, char a, char b, char c){
if(n == 1){
move(n, a, c);
}
else{
hanoi(n-1, a, c, b);
move(n, a, c);
hanoi(n-1, b, a, c);
}
}
int main(){
int n;
scanf("%d", &n);
hanoi(n, 'a', 'b', 'c');
return 0;
}