solve exercise 30.25