Problem 27 complete