Functional Hanoi + demo