Exercise 5.26 ~ 5.28