problem 2
Problem 3