my ans for SICP