(define (make-ring n)
(define (make-list n result)
(if (= n 0)
(cons 0 result)
(make-list (-1+ n) (cons n result))))
(let* ((last-cel (list (-1+ n)))
(first-cel (make-list (- n 2) last-cel)))
(set-cdr! last-cel first-cel)))
(define (show-ring r)
(display (car r))
(display " ")
(show-ring (cdr r)))