https://alormichil.com/product/elements-of-programming-interviews-in-python-the-insiders-guide/