problem 50
problem 51