(defun count-unique-concatenations (string-list) (let ((result '())) (loop for i from 0 below (length string-list) do (loop for j from 0 below (length string-list) do (when (not (= i j)) (let ((combined (concatenate 'string (nth i string-list) (nth j string-list)))) (pushnew combined result :test 'equal))))) (length result))) (defun main () (let ((n (read))) (let ((string-list (loop for i from 0 below n collect (read-line)))) (format t "~d~%" (count-unique-concatenations string-list))))) (main)