https://www.reddit.com/r/dailyprogrammer/comments/pihtx/intermediate_challenge_1/