Exercise 2.75 ~ 2.76