問題文
リマクは、文字列の先頭 2 文字のうち片方を取り除くことを繰り返し行えます。例えば、$abcxyx \\rightarrow acxyx \\rightarrow cxyx \\rightarrow cyx$ とすることができます。
N 個の相異なる文字列 S1,S2,ldots,SN が与えられます。Ncdot(N−1)/2 個のペア (Si,Sj) のうち何個において、リマクは一方からもう一方を得ることができるでしょうか。
制約
- 2leqNleq200,000
- Si は英小文字
a
- z
からなる。
- SineqSj
- 1leq∣Si∣
- ∣S1∣+∣S2∣+ldots+∣SN∣leq106
入力
入力は以下の形式で標準入力から与えられる。
N
S1
S2
vdots
SN
出力
リマクが一方の文字列からもう一方を得られるような非順序対 (Si,Sj) (ineqj) の個数を出力せよ。
入力例 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) の 5 個です。