* solution for problem 1