solve problem 15
solve problem 16
solve problem 17