problem1 to 3