Source: https://www.iitg.ac.in/asahu/cs594/AssignII-PythonStudy.pdf