J. 基因编辑
time limit per test
1.5 seconds
memory limit per test
512 megabytes
input
standard input
output
standard output

绮月有 $$$n$$$ 条 DNA 碱基序列 $$$S_1,S_2,\dots S_n$$$,每条碱基序列可以用一个仅包含 'A'、'C'、'G' 和 'T' 这四种大写字母的字符串表示。

绮月可以拼合两条 DNA 碱基序列,具体操作为将前一条碱基序列的一个前缀(可以为空)和后一条的一个后缀(可以为空)结合,如 'ACGC' 与 'CTAT' 拼合就有可能得到 'ACGCTAT'、'ACGCCTAT'、'ACAT' 或 'T'。

绮月据此定义,一个三元组 $$$(i,j,k)$$$ 是好的,当且仅当 $$$1\le i,j,k \le n$$$,$$$i\ne k$$$,$$$j \ne k$$$,且 $$$S_i$$$ 与 $$$S_j$$$ 拼合可以得到 $$$S_k$$$。

绮月想知道好的三元组的数量。

Input

第一行包含一个整数 $$$n\ (3\le n\le 2\times 10^5)$$$,表示碱基序列的数量。

接下来 $$$n$$$ 行,每行包含一个字符串,其中第 $$$i$$$ 个字符串定义为碱基序列 $$$S_i\ (1\le |S_i|\le 2\times 10^6)$$$。保证 $$$\sum |S_i| \le 2 \times 10^6$$$。

Output

输出一个整数,表示好的三元组的数量。

Examples
Input
3
AAA
AA
AA
Output
12
Input
3
ACGC
CTAT
ACAT
Output
1
Input
4
A
C
T
G
Output
0