hanoi with stack