配点 : 700 点
問題文
リマクは、文字列の先頭 2 文字のうち片方を取り除くことを繰り返し行えます。例えば、$abcxyx \rightarrow acxyx \rightarrow cxyx \rightarrow cyx$ とすることができます。
N 個の相異なる文字列 S1,S2,…,SN が与えられます。N⋅(N−1)/2 個のペア (Si,Sj) のうち何個において、リマクは一方からもう一方を得ることができるでしょうか。
制約
- 2≤N≤200000
- Si は英小文字
a
- z
からなる。
- Si=Sj
- 1≤∣Si∣
- ∣S1∣+∣S2∣+…+∣SN∣≤106
入力
入力は以下の形式で標準入力から与えられる。
N
S1
S2
⋮
SN
出力
リマクが一方の文字列からもう一方を得られるような非順序対 (Si,Sj) (i=j) の個数を出力せよ。
3
abcxyx
cyx
abc
1
条件を満たすペアは (abcxyx,cyx) のみです。
6
b
a
abc
c
d
ab
5
条件を満たすペアは (b,abc), (a,abc), (abc,c), (b,ab), (a,ab) の 5 個です。