https://medium.com/@gmdebugcloud/day-27-tackling-python-challenges-in-cs50ps-problem-set-3-question-4-e3b784dfb562