Олимпиадный тренинг

Задача . A. Жонглирование буквами


Вам дано \(n\) строк \(s_1, s_2, \ldots, s_n\) состоящих из строчных букв латинского алфавита.

За одну операцию вы можете удалить один символ из строки \(s_i\) и вставить его в любую позицию строки \(s_j\) (\(j\) может быть равно \(i\)). Вы можете совершать эту операцию сколько угодно раз. Возможно ли сделать все \(n\) строк равными?

Входные данные

В первой строке записано одно целое число \(t\) (\(1 \le t \le 10\)): количество наборов входных данных.

В первой строке каждого набора входных данных записано одно целое число \(n\) (\(1 \le n \le 1000\)): количество строк.

В следующих \(n\) строках, \(i\)-я из них содержит \(s_i\) (\(1 \le \lvert s_i \rvert \le 1000\)).

Сумма длин всех строк по всем наборам входных данных не превосходит \(1000\).

Выходные данные

Если возможно сделать все строки равными, выведите «YES» (без кавычек).

Иначе, выведите «NO» (без кавычек).

Вы можете выводить каждый символ как в нижнем, так и в верхнем регистре.

Примечание

В первом наборе входных данных, вы можете сделать следующее:

  • Удалить третий символ первой строки и вставить его после второго символа второй строки, превратив две строки в «ca» и «cbab», соотвестственно.
  • Удалить второй символ второй строки и вставить его после второго символа первой строки, сделав обе строки равными «cab».

Во втором наборе входных данных невозможно сделать все \(n\) строк равными.


Примеры
Входные данныеВыходные данные
1 4
2
caa
cbb
3
cba
cba
cbb
4
ccab
cbac
bca
acbcc
4
acb
caf
c
cbafc
YES
NO
YES
NO

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя