(defun remove (k lst) (cond ((NULL lst) NIL) ((eql k (car lst)) (remove k (cdr lst)) ) ( 1 (cons (car lst) (remove k (cdr lst))) ) ) ) (defun count (num lst) (cond ( (eql lst nil) 0) ( (eql (car lst) num) (+ 1 (count num (cdr lst)))) ( 1 (count num (cdr lst)) ) ) ) (defun solve (lst) (cond ( (NULL lst) nil ) ( 1 (cons (cons (car lst) (cons (count (car lst) lst))) (solve (remove (car lst) lst)) ) ) ) ) (solve '(1 3 4 1 2 4 5 1 7)) (system)