finish ch1 in sicp