https://medium.com/@PythonicPioneer/solving-complex-problems-with-the-tower-of-hanoi-puzzle-1350143cf39b