problem2
problem 3