(define find (lambda (target lst) (cond ((null? lst) lst) ((= target (car lst)) lst) (else (find target (cdr lst)))))) (define member? (lambda (target lst) (not (null? (find target lst))))) (define two-members? (lambda (target1 target2 lst) (member? target2 (find target1 lst)))) (define three-members? (lambda (target1 target2 target3 lst) (two-members? target2 target3 (find target1 lst)))) (define n-members? (lambda (n target lst) (cond ((zero? n) #t) (else (let ((lst (find target lst))) (cond ((null? lst) #f) (else (n-members? (- n 1) target (cdr lst)))))))))