from __future__ import print_function
from sys import stdin

def printf(str, *args):
    print(str % args, end='')

cnt = 0 # 이동 횟수에 이용되는 전역 변수
# 재귀적으로 정의된 하노이 탑 시뮬레이션 함수
def moveHanoi(fromP,tempP,toP,n):
    if n == 1:
        global cnt  # 전역 변수에 접근을 가능하게 하는 코드
        cnt += 1
        printf("\t\t\t    %5d: 말뚝 %s에서 말뚝 %s로 원반 %d를 이동\n" % (cnt,fromP,toP,n))
    else:
        moveHanoi(fromP,toP,tempP,n-1)
        cnt += 1
        printf("\t\t\t    %5d: 말뚝 %s에서 말뚝 %s로 원반 %d를 이동\n" %(cnt,fromP,toP,n) )
        moveHanoi(tempP,fromP,toP,n-1)

# 해당 프로그램에 대한 안내를 출력해 준다
print("\n\t\t\t    \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510")
print("\t\t\t    \u2502       하노이 탑 시뮬레이션 프로그램       \u2502")
print("\t\t\t    \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n")


printf("\n\t\t\t   원반의 개수를 입력하시오: (종료 : 음수 입력) : ")
n = int(stdin.readline())

# 사용자가 임의의 음수를 입력할 때까지 계속 원반 갯수인 n에 대한 하노이 탑 시뮬레이션을 출력한다
while n>0:
    # 입력된 원반 갯수인 n에 대하여 하노이 탑 시뮬레이션을 출력한다
    moveHanoi('A','B','C',n)
    cnt = 0
    printf("\n\t\t\t   원반의 개수를 입력하시오: (종료 : 음수 입력) : ")
    n = int(stdin.readline())

stdin.readline()