https://medium.com/@gmlearnstech/day-46-tackling-python-challenges-in-cs50ps-problem-set-4-question-5-35e6df928e30