Proper solution to problem 7