「SvR-2」Work

题目背景

题目描述

给定 $n$ 个**由小写字母组成**的字符串,定义第 $i$ 个字符串的价值为其有意义的子串的数量(**如果有多个本质相同的子串也统计多次**),第 $i$ 个字符串的一个子串有意义,当且仅当这个子串能被分成若干个串,其中每个串都是这 $n$ 个字符串中任意一个字符串的任意一个后缀。 这里有一个 $n=4$ 的例子: ```plain int printf scanf ntnt ``` - 对于 `printf` 这个字符串而言,`intf` 是有意义的,因为可以表示成 `int` 和 `f` ,分别是 `int` 和 `scanf` 的后缀,而 `rint` 则不是。 - 对于 `ntnt` 这个字符串而言,`ntnt` 也是有意义的,因为可以表示成 `nt` 和 `nt`,它们都是 `int` 同一个后缀,或者可以表示成 `ntnt`,是 `ntnt` 的一个后缀。 现在,小 Z 想知道这 $n$ 个字符串价值之和。

输入输出格式

输入格式


第一行一个整数 $n$。 之后 $n$ 行,每行一个字符串。

输出格式


一行一个整数,表示价值之和。

输入输出样例

输入样例 #1

4
int
printf
scanf
ntnt

输出样例 #1

23

输入样例 #2

4
ireallywanttobemissjiaransdog
butmissjiaransaidthatshelikedcatsandicried
iknowwhyicrywheniamneitheradognoracatbecauseimactuallyamouse
ineverexpectedmissjiarantolikeherselfiunderstandthatallpeopleliketounderstandthecutedogorcatthatyuyuusestomakemoneyandnoonelikesthemousewithwetandwetdiseases

输出样例 #2

391

说明

#### 数据规模与约定 **本题开启捆绑测试和 O2 优化。** 令 $s_i$ 表示第 $i$ 个字符串长度。 | Subtask | 数据范围/特殊性质 | 分值 | | :------: | :------: | :------: | | $1$ | $n\le 3$,$\sum\limits \lvert s_i\rvert\le10$| $5 \operatorname{pts}$ | | $2$ | $n=26$,每种字符串均由一种字符组成 | $5 \operatorname{pts}$ | | $3$ |$n=1$ | $15 \operatorname{pts}$ | | $4$ | $\sum\limits \lvert s_i \rvert \le 2000$ | $15 \operatorname{pts}$ | | $5$ | $\sum\limits \lvert s_i \rvert \le 2\times10^5$ | $30 \operatorname{pts}$ | | $6$ | $\sum\limits \lvert s_i \rvert \le 10^6$ | $30 \operatorname{pts}$ | 对于 $100\%$ 的数据,$1\le n \le 5\times10^5$,$n\le \sum\limits \lvert s_i \rvert \le 10^6$。