codeforces#P1397A. Juggling Letters
Juggling Letters
Description
You are given $n$ strings $s_1, s_2, \ldots, s_n$ consisting of lowercase Latin letters.
In one operation you can remove a character from a string $s_i$ and insert it to an arbitrary position in a string $s_j$ ($j$ may be equal to $i$). You may perform this operation any number of times. Is it possible to make all $n$ strings equal?
The first line contains $t$ ($1 \le t \le 10$): the number of test cases.
The first line of each test case contains a single integer $n$ ($1 \le n \le 1000$): the number of strings.
$n$ lines follow, the $i$-th line contains $s_i$ ($1 \le \lvert s_i \rvert \le 1000$).
The sum of lengths of all strings in all test cases does not exceed $1000$.
If it is possible to make the strings equal, print "YES" (without quotes).
Otherwise, print "NO" (without quotes).
You can output each character in either lowercase or uppercase.
Input
The first line contains $t$ ($1 \le t \le 10$): the number of test cases.
The first line of each test case contains a single integer $n$ ($1 \le n \le 1000$): the number of strings.
$n$ lines follow, the $i$-th line contains $s_i$ ($1 \le \lvert s_i \rvert \le 1000$).
The sum of lengths of all strings in all test cases does not exceed $1000$.
Output
If it is possible to make the strings equal, print "YES" (without quotes).
Otherwise, print "NO" (without quotes).
You can output each character in either lowercase or uppercase.
Samples
4
2
caa
cbb
3
cba
cba
cbb
4
ccab
cbac
bca
acbcc
4
acb
caf
c
cbafc
YES
NO
YES
NO
Note
In the first test case, you can do the following:
- Remove the third character of the first string and insert it after the second character of the second string, making the two strings "ca" and "cbab" respectively.
- Remove the second character of the second string and insert it after the second character of the first string, making both strings equal to "cab".
In the second test case, it is impossible to make all $n$ strings equal.