problem 14
problem 15
problem 16
problem 17