Exercise 4.30 ~ 4.31