https://medium.com/@gmlearnstech/day-44-tackling-python-challenges-in-cs50ps-problem-set-4-question-3-b6402def938c