Complete Exercise 30.