#agc047b. [agc047_b]First Second

[agc047_b]First Second

問題文

リマクは、文字列の先頭 22 文字のうち片方を取り除くことを繰り返し行えます。例えば、$abcxyx \\rightarrow acxyx \\rightarrow cxyx \\rightarrow cyx$ とすることができます。

NN 個の相異なる文字列 S1,S2,ldots,SNS_1, S_2, \\ldots, S_N が与えられます。Ncdot(N1)/2N \\cdot (N-1) / 2 個のペア (Si,Sj)(S_i, S_j) のうち何個において、リマクは一方からもう一方を得ることができるでしょうか。

制約

  • 2leqNleq200,0002 \\leq N \\leq 200\\,000
  • SiS_i は英小文字 a - z からなる。
  • SineqSjS_i \\neq S_j
  • 1leqSi1 \\leq |S_i|
  • S1+S2+ldots+SNleq106|S_1| + |S_2| + \\ldots + |S_N| \\leq 10^6

入力

入力は以下の形式で標準入力から与えられる。

NN S1S_1 S2S_2 vdots\\vdots SNS_N

出力

リマクが一方の文字列からもう一方を得られるような非順序対 (Si,Sj)(S_i, S_j) (ineqji \\neq j) の個数を出力せよ。


入力例 1

3
abcxyx
cyx
abc

出力例 1

1

条件を満たすペアは (abcxyx,cyx)(abcxyx, cyx) のみです。


入力例 2

6
b
a
abc
c
d
ab

出力例 2

5

条件を満たすペアは (b,abc)(b, abc), (a,abc)(a, abc), (abc,c)(abc, c), (b,ab)(b, ab), (a,ab)(a, ab)55 個です。