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

Задача . F. Даша и кошмары


Отличница Даша учится в лучшем математическом лицее страны. Недавно таинственный незнакомец принёс в лицей \(n\) слов из маленьких латинских букв \(s_1, s_2, \ldots, s_n\). С того дня Дашу начали мучить кошмары.

Рассмотрим некоторую пару целых чисел \(\langle i, j \rangle\) (\(1 \le i \le j \le n\)). Кошмаром называется строка, для которой верно:

  • Она получена склеиванием \(s_{i}s_{j}\);
  • Её длина нечётна;
  • Количество различных букв, входящих в неё, ровно \(25\);
  • Количество каждой отдельной буквы, входящей в неё, нечётно.

Например, если \(s_i=\) «abcdefg» и \(s_j=\) «ijklmnopqrstuvwxyz», пара \(\langle i, j \rangle\) образует кошмар.

Даша знает, что кошмары исчезнут, если их посчитать. Кошмаров слишком много, поэтому Даше нужна ваша помощь. Посчитайте количество различных кошмаров.

Кошмары считаются различными, если различны соответствующие им пары \(\langle i, j \rangle\). Пары \(\langle i_1, j_1 \rangle\) и \(\langle i_2, j_2 \rangle\) считаются различными, если \(i_1 \neq i_2\) или \(j_1 \neq j_2\).

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

В первой строке дано единственное целое число \(n\) (\(1 \le n \le 2 \cdot 10^5\)) — количество слов.

В следующих \(n\) строках записаны слова \(s_1, s_2, \ldots, s_n\), состоящие из маленьких латинских букв.

Гарантируется, что суммарная длина слов не превосходит \(5 \cdot 10^6\).

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

Выведите единственное целое число — количество различных кошмаров.

Примечание

В первом тесте кошмары образуются парами \(\langle 1, 3 \rangle\), \(\langle 2, 5 \rangle\), \(\langle 3, 4 \rangle\), \(\langle 6, 7 \rangle\), \(\langle 9, 10 \rangle\).


Примеры
Входные данныеВыходные данные
1 10
ftl
abcdefghijklmnopqrstuvwxy
abcdeffghijkllmnopqrsttuvwxy
ffftl
aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyy
thedevid
bcdefghhiiiijklmnopqrsuwxyz
gorillasilverback
abcdefg
ijklmnopqrstuvwxyz
5

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

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