(doseq(w(cdr(remove-duplicates`("",@(set'x(sort(loop while(listen)nconc(mapcar(lambda(s)(delete-if-not'alpha-char-p s))(regexp:regexp-split" "(read-line))))'string-lessp))):test'equalp)))(format t"~D ~(~A~) "(count w x :test'equalp)w))