(defun f(n)(loop repeat n collect(read-line)))(setf S"##########"a(f 4)c`(,@(f 11),S)_(do((d c #1=(cdr d)))((some(#3=lambda(u v)(some'char= S u v))#1#a)(replace d(mapcar(#3#(u v)(map'string(#3#(x y)(if(eq x y)x #\#))u v))a d))(format t"~V@{~10T ~}~{~A ~}"(- 15(length(delete S c :test'equal)))c))))