Олимпиадный тренинг

Задача . A. Арамейский манускрипт


В арамейском языке слова могут обозначать только обьекты.

У слов в арамейском языке есть несколько особых свойств:

  • Слово является корнем, если оно в нём нет двух одинаковых букв.
  • Корень и все его перестановки обозначают один и тот же самый объект.
  • Корнем \(x\) слова \(y\) является любое слово, которое содержит все различные буквы, встречающиеся в \(y\), ровно по одному разу каждая. Например, «a» является корнем слов «aaaa», «aa», «aaa»; корнем слов «aabb», «bab», «baabb», «ab» является «ab».
  • Все слова в арамейском языке обозначают тот же самый объект, что и его корень.

Вам в руки попал древний манускрипт на арамейском. Определите, сколько различных объектов упомянуто в нём.

Входные данные

Первая строка содержит одно целое число \(n\) (\(1 \leq n \leq 10^3\)) — число слов в манускрипте.

Вторая строка содержит \(n\) слов \(s_1, s_2, \ldots, s_n\) — содержание манускрипта. Длина каждого слова не превосходит \(10^3\).

Гарантируется, что все символы в словах являются строчными (маленькими) латинскими буквами.

Выходные данные

Выведите одно целое число — число различных объектов, упомянутых в древнем арамейском манускрипте.

Примечание

В первом примере упомянуты два объекта. Соответствующие им корни — «a»,«ab».

Во втором примере упомянут лишь один объект с корнем «amer». Остальные слова являются перестановками слова «amer».


Примеры
Входные данныеВыходные данные
1 5
a aa aaa ab abb
2
2 3
amer arem mrea
1

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя