Obtener cada enésimo átomo usando el esquema no recoge el último átomo

Se supone que el programa selecciona cada tercer átomo en una lista. Tenga en cuenta que el último átomo 'p' debe recogerse, pero no lo es. Cualquier sugerencia de por qué no se selecciona el último átomo.

(define (every3rd lst)
 (if (or (null? lst)            
      (null? (cdr lst)))     
  '()                        
  (cons (car lst)            
        (every3rd (cdr(cdr(cdr lst)))))))


(every3rd '(a b c d e f g h i j k l m n o p))

Value 1: (a d g j m)

Gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta