Exercise 4.35 ~ 4.36