Get out pencil and paper and draw a box-and-pointer diagram for this code:

(define a (list '(1 2) 3 '((4 5)) 6))
(set-car! (cdddr a) 7)
(set-cdr! (cdar a) 8)
(set-car! (caaddr a) 9)
(set-cdr! (caaddr a) (list 10))
(set-car! (cdr a) a)

Click here for the solution.