Exercise 4.36 ~ 4.37