(defun max-multiplicity (n &optional (max 0) (mult 0)) (if (= n 0) mult (let ((x (read))) (cond ((> x max) (max-multiplicity (1- n) x 1)) ((= x max) (max-multiplicity (1- n) max (1+ mult))) (t (max-multiplicity (1- n) max mult)))))) (format t "~d" (max-multiplicity (read)))