(defun doit (elts) (mapcar (lambda (elt) `(,(count elt elts :test 'equal :key 'second) ,elt)) (delete-duplicates (mapcar 'second elts) :test 'equal)))))
(defun doit (elts) (loop for elt in (delete-duplicates (mapcar 'second elts) :test 'equal) collect `(,(count elt elts :test 'equal :key 'second) ,elt)))