solution to problem 17