merged the sicp homeworks