solve exercise 30.11