#P1669E. 2-Letter Strings

    ID: 1210 Type: RemoteJudge 2000ms 256MiB Tried: 0 Accepted: 0 Difficulty: 4 Uploaded By: Tags>data structuresmathstrings*1200

2-Letter Strings

Description

Given nn strings, each of length 22, consisting of lowercase Latin alphabet letters from 'a' to 'k', output the number of pairs of indices (i,j)(i, j) such that i<ji < j and the ii-th string and the jj-th string differ in exactly one position.

In other words, count the number of pairs (i,j)(i, j) (i<ji < j) such that the ii-th string and the jj-th string have exactly one position pp (1p21 \leq p \leq 2) such that sipsjp{s_{i}}_{p} \neq {s_{j}}_{p}.

The answer may not fit into 32-bit integer type, so you should use 64-bit integers like long long in C++ to avoid integer overflow.

The first line of the input contains a single integer tt (1t1001 \le t \le 100) — the number of test cases. The description of test cases follows.

The first line of each test case contains a single integer nn (1n1051 \le n \le 10^5) — the number of strings.

Then follows nn lines, the ii-th of which containing a single string sis_i of length 22, consisting of lowercase Latin letters from 'a' to 'k'.

It is guaranteed that the sum of nn over all test cases does not exceed 10510^5.

For each test case, print a single integer — the number of pairs (i,j)(i, j) (i<ji < j) such that the ii-th string and the jj-th string have exactly one position pp (1p21 \leq p \leq 2) such that sipsjp{s_{i}}_{p} \neq {s_{j}}_{p}.

Please note, that the answer for some test cases won't fit into 32-bit integer type, so you should use at least 64-bit integer type in your programming language (like long long for C++).

Input

The first line of the input contains a single integer tt (1t1001 \le t \le 100) — the number of test cases. The description of test cases follows.

The first line of each test case contains a single integer nn (1n1051 \le n \le 10^5) — the number of strings.

Then follows nn lines, the ii-th of which containing a single string sis_i of length 22, consisting of lowercase Latin letters from 'a' to 'k'.

It is guaranteed that the sum of nn over all test cases does not exceed 10510^5.

Output

For each test case, print a single integer — the number of pairs (i,j)(i, j) (i<ji < j) such that the ii-th string and the jj-th string have exactly one position pp (1p21 \leq p \leq 2) such that sipsjp{s_{i}}_{p} \neq {s_{j}}_{p}.

Please note, that the answer for some test cases won't fit into 32-bit integer type, so you should use at least 64-bit integer type in your programming language (like long long for C++).

Sample Input 1

4
6
ab
cb
db
aa
cc
ef
7
aa
bb
cc
ac
ca
bb
aa
4
kk
kk
ab
ab
5
jf
jf
jk
jk
jk

Sample Output 1

5
6
0
6

Note

For the first test case the pairs that differ in exactly one position are: ("ab", "cb"), ("ab", "db"), ("ab", "aa"), ("cb", "db") and ("cb", "cc").

For the second test case the pairs that differ in exactly one position are: ("aa", "ac"), ("aa", "ca"), ("cc", "ac"), ("cc", "ca"), ("ac", "aa") and ("ca", "aa").

For the third test case, the are no pairs satisfying the conditions.