Problems
Similarity (RU)
Similarity (RU)
Подстановка в латинском алфавите - это взаимно однозначная замена одних букв другими. Два слова одинаковой длины называются подобными, если существует подстановка, переводящая одно слово в другое. Например, слова \textit{dog} и \textit{cat}, \textit{nine} и \textit{pope} подобны друг другу, а \textit{dog} и \textit{pup}, \textit{nine} и \textit{four} - нет. Ясно, что если два слова подобны третьему, то они подобны между собой. Таким образом, всякий набор слов разбивается на некоторое количество групп взаимноподобных слов. Количество таких групп называется индексом подобия. Например, индекс подобия набора \textit{man}, \textit{num}, \textit{kid}, \textit{mom}, \textit{dad} - \textbf{2}, поскольку слова \textit{man} и \textit{kid}, а также \textit{nun}, \textit{mom} и \textit{dad} подобны между собой. Дано \textbf{N} слов длины \textbf{L}. Определите индекс подобия этого набора слов.
\textbf{Входные данные.} В первой строке содержится число \textbf{N} - количество слов. В последующих \textbf{N} строках содержится по одному слову. Словом называется произвольная последовательность маленьких букв латинского алфавита. \textbf{0} < \textbf{N} <= \textbf{5000}. \textbf{0} < \textbf{L} <= \textbf{50}. \textbf{Выходные данные.} Вывести единственное число - индекс подобия заданного набора слов.
Input example #1
5 man nun kid mom dad
Output example #1
2