Problem 20 initial commit and solution