Problem 18

Found this solution helpful? Consider donating to the project.