problem 3
problem 4
problem 1
problem 5
problem 6