problem 38
problem 39
problem 40
problem 41