https://medium.com/@gmlearnstech/day-47-tackling-python-challenges-in-cs50ps-problem-set-4-question-6-f23cbe46d585