Completed problem 18