Completes Problem 20