problem 32
problem 40