ch2.2.2 ~ exercise2-35
exercise2-36 ~ exercise2-39