我不爱她
题号:NC19822
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

终于活成了自己讨厌的样子。

天空仍灿烂,它爱着大海。

你喜欢大海,我爱过你。

世界上充满了巧合。我们把每句话当成一个字符串,我们定义a对b的巧合值为a的最长后缀的长度并且它是恰好是b的前缀,这里的后缀或者前缀包括字符串的本身。
比如字符串“天空仍灿烂她喜欢大海”对“她喜欢大海我不爱她了我爱的只是与她初见时蔚蓝的天空”的巧合值为5,而字符串“她喜欢大海我不爱她了我爱的只是与她初见时蔚蓝的天空”对“天空仍灿烂她喜欢大海”的巧合值为2。
现在给出n个字符串由"ab"构成的字符串s1,s2,...,sn,求出对于所有1≤ i,j≤ n,si对sj的巧合值的和。

输入描述:

第一行一个整数T(T≤ 1000),表示数据组数。
每组数据第一行一个正整数n(1≤ n≤ 105)。接下来n行每行一个字符串si,保证字符串由"ab"构成。
保证单组数据有,保证所有数据有

输出描述:

对于每组数据,输出一个整数,表示答案。
示例1

输入

复制
1
2
abb
bab

输出

复制
9