题目描述
リマクは、文字列の先頭 2 文字のうち片方を取り除くことを繰り返し行えます。例えば、$ abcxyx\ \rightarrow\ acxyx\ \rightarrow\ cxyx\ \rightarrow\ cyx $ とすることができます。
N 個の相異なる文字列 S1, S2, …, SN が与えられます。N ⋅ (N−1) / 2 個のペア (Si, Sj) のうち何個において、リマクは一方からもう一方を得ることができるでしょうか。
输入格式
入力は以下の形式で標準入力から与えられる。
N S1 S2 ⋮ SN
输出格式
リマクが一方の文字列からもう一方を得られるような非順序対 (Si, Sj) (i = j) の個数を出力せよ。
题目大意
hhoppitree 有 n 个字符串,其中第 i 个字符串为 si,他想知道在所有的整数对 (i,j)(1≤i=j≤n) 中,有多少对整数对 (i,j) 满足 si 能通过进行若干次以下操作成为 sj:
- 当 ∣si∣≥2 时,删去 si 的前两个字符中的任意一个字符。
3
abcxyx
cyx
abc
1
6
b
a
abc
c
d
ab
5
提示
制約
- 2 ≤ N ≤ 200000
- Si は英小文字
a
- z
からなる。
- Si = Sj
- 1 ≤ ∣Si∣
- ∣S1∣ + ∣S2∣ + … + ∣SN∣ ≤ 106
Sample Explanation 1
条件を満たすペアは (abcxyx, cyx) のみです。
Sample Explanation 2
条件を満たすペアは (b, abc), (a, abc), (abc, c), (b, ab), (a, ab) の 5 個です。