solution for problem 23