SICP/chapter_3: exercise 77~80