Will's solution to Problem 108