题目描述
Limak 可以重复删除字符串的前两个字符,例如 $abcxyx \\rightarrow acxyx \\rightarrow cxyx \\rightarrow cyx$。
给定 N 个不同的字符串 S1,S2,ldots,SN。在 Ncdot(N−1)/2 个字符串对 (Si,Sj) 中,Limak 能从其中一个字符串获得另一个字符串的有多少对?
约束条件
- 2leqNleq200,000
- Si 由小写英文字母
a
-z
组成。
- SineqSj
- 1leq∣Si∣
- ∣S1∣+∣S2∣+ldots+∣SN∣leq106
输入
输入以标准输入给出,格式如下所示:
N
S1
S2
vdots
SN
输出
打印对数,表示满足 Limak 能从其中一个字符串获得另一个字符串的无序字符串对的数量。
示例输入 1
3
abcxyx
cyx
abc
示例输出 1
1
唯一满足条件的字符串对是 (abcxyx,cyx)。
示例输入 2
6
b
a
abc
c
d
ab
示例输出 2
5
存在五个满足条件的字符串对:(b,abc), (a,abc), (abc,c), (b,ab), (a,ab)。