eolymp
bolt
Try our new interface for solving problems
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{Выходные данные.} Вывести единственное число - индекс подобия заданного набора слов.
Time limit 0.5 seconds
Memory limit 64 MiB
Input example #1
5
man
nun
kid
mom
dad
Output example #1
2