#B0179. 消去拼接

消去拼接

题目描述

给定 nn 个仅由小写英文字母组成的字符串 s1,s2,,sns_1,s_2,\dots,s_n

定义两个字符串 a,ba,b 的一次消去拼接 F(a,b)F(a,b) 如下:

  • aa 为空串,则 F(a,b)=bF(a,b)=b
  • bb 为空串,则 F(a,b)=aF(a,b)=a
  • aa 的最后一个字符与 bb 的第一个字符相同,则同时删去这两个字符,并继续对剩余部分执行同样的操作;
  • 否则操作停止,结果为当前 aa 与当前 bb 的直接拼接。

形式化地,若 aa 的最后一个字符等于 bb 的第一个字符,则会反复执行“删去 aa 的最后一个字符和 bb 的第一个字符”这一操作,直到某一侧为空,或这两个字符不再相同为止。

请你计算:

$$\sum_{i=1}^{n}\sum_{j=1}^{n}\left|F(s_i,s_j)\right|.$$

其中 x\lvert x\rvert 表示字符串 xx 的长度。

输入格式

第一行输入一个整数 nn1n5×1051\le n\le 5\times 10^5),表示字符串个数。

接下来 nn 行,每行输入一个非空字符串 sis_i,只包含小写英文字母。

保证所有字符串长度之和不超过 5×1055\times 10^5

输出格式

输出一个整数,表示

$$\sum_{i=1}^{n}\sum_{j=1}^{n}\left|F(s_i,s_j)\right|.$$
2
aba
ab
10