problem 12
problem 17