#P9778. [HUSTFC 2023] 基因编辑

[HUSTFC 2023] 基因编辑

题目描述

绮月有 nn 条 DNA 碱基序列 S1,S2,SnS_1,S_2,\dots S_n,每条碱基序列可以用一个仅包含 ACGT 这四种大写字母的字符串表示。

绮月可以拼合两条 DNA 碱基序列,具体操作为将前一条碱基序列的一个前缀(可以为空)和后一条的一个后缀(可以为空)结合,如 ACGCCTAT 拼合就有可能得到 ACGCTATACGCCTATACATT

绮月据此定义,一个三元组 (i,j,k)(i,j,k) 是好的,当且仅当 1i,j,kn1\le i,j,k \le niki\ne kjkj \ne k,且 SiS_iSjS_j 拼合可以得到 SkS_k

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

输入格式

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

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

输出格式

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

3
AAA
AA
AA

12
3
ACGC
CTAT
ACAT

1
4
A
C
T
G

0