(define (Josephus r n)
(define (remove-n r aantal)
(if (= aantal 1)
(begin
(set-cdr! r (cddr r))
(cdr r))
(remove-n (cdr r) (-1+ aantal))))
(define (while-not-1 r)
(if (eq? (cdr r) r)
(car r)
(while-not-1 (remove-n r n))))
(while-not-1 (copy-ring r)))