problem 45 solution
problem 46 solution