begin problem 3