Done exercise6.7、6.8、6.9