my answer to exersice in sicp