Exercise 1.26 ~ 1.28