== include(page="template/taskheader" task_id="cristela") ==
Poveste și cerință...
*Nota 1*: Problema este inspirată după "Kompici":https://www.spoj.com/problems/KOMPICI/ (SPOJ), cu limită mai mare pentru alfabet.
*Nota 2*: Punctajele subtaskurilor diferă de concursul original.
Cristela este expertă în echilibrare energetică (o știință 100% exactă). În cartea _Chakrele și tu_, ea explică cum putem exprima *vectorul energetic* al unei persoane: acesta este un șir de caractere alese dintre primele $m$ litere mici ale alfabetului. Două persoane sînt *compatibile* dacă vectorii lor energetici au cel puțin o literă în comun.
Cristela a consultat $n$ persoane și le-a calculat vectorii energetici. Acum se întreabă: cîte perechi de persoane sînt compatibile?
h2. Date de intrare
Fișierul de intrare $cristela.in$ ...
Fișierul de intrare $cristela.in$ conține pe prima linie numărul $n$. A doua linie conține cei $n$ vectori energetici ai persoanelor, separați prin cîte un spațiu.
h2. Date de ieșire
În fișierul de ieșire $cristela.out$ ...
În fișierul de ieșire $cristela.out$ afișați numărul total de perechi compatibile.
h2. Restricții
* $... ≤ ... ≤ ...$
* $1 ≤ n ≤ 500.000$
* $1 ≤ m ≤ 20$
* Vectorii energetici au lungimi între 1 și 10 caractere.
table{width: inherit}.
|_. subtask |_. puncte |_. restricții |
| 1 | 15 | $n ≤ 4.000$, $m ≤ 10$ |
| 2 | 35 | $m ≤ 14$ |
| 3 | 25 | $m ≤ 17$ |
| 4 | 25 | Fără restricții suplimentare. |
h2. Exemplu
table(example).
table(example).
|_. cristela.in |_. cristela.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
| 4
abac ddee bda faf
| 4
|
| 10
efb eeghb adc f dfbdhh aggdcccc geh d bdac heahfa
| 30
|
h3. Explicație
...
Pentru primul exemplu, perechile compatibile sînt
1. ($abac$, $bda$) (litere comune $a$ și $b$);
2. ($abac$, $faf$) (literă comună $a$);
3. ($ddee$, $bda$) (literă comună $d$);
4. ($bda$, $faf$) (literă comună $a$).
== include(page="template/taskfooter" task_id="cristela") ==