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

Задача . A. Замена чисел


Массив из целых чисел \(a_1, a_2, \ldots, a_n\) преобразуется в массив из строчных букв латинского алфавита с помощью следующей процедуры.

Пока в массиве есть хотя бы одно число:

  • Выбрать произвольное число \(x\) из массива \(a\), и произвольную букву латинского алфавита \(y\).
  • Заменить все все вхождения числа \(x\) на букву \(y\).

Например, если изначально был массив \(a = [2, 3, 2, 4, 1]\), то его могли преобразовать следующим образом:

  • Выбрать число \(2\) и букву c. После этого \(a = [c, 3, c, 4, 1]\).
  • Выбрать число \(3\) и букву a. После этого \(a = [c, a, c, 4, 1]\).
  • Выбрать число \(4\) и букву t. После этого \(a = [c, a, c, t, 1]\).
  • Выбрать число \(1\) и букву a. После этого \(a = [c, a, c, t, a]\).

После преобразования все получившиеся буквы объединяются в строку, в нашем примере получилось бы строка «cacta».

По данному массиву \(a\) и строке \(s\) определите, могла ли строка \(s\) получиться из массива \(a\) после описанного преобразования?

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

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

Далее следуют описания наборов входных данных.

В первой строке каждого набора входных данных содержится целое число \(n\) (\(1 \leq n \leq 50\)) — длина массива \(a\) и строки \(s\).

Во второй строке каждого набора входных данных содержится ровно \(n\) целых чисел: \(a_1, a_2, \ldots, a_n\) (\(1 \leq a_i \leq 50\)) — элементы массива \(a\).

В третьей строке каждого набора входных данных содержится строка \(s\) длины \(n\), состоящая из строчных латинских букв.

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

Для каждого набора входных данных выведите «YES», если из массива \(a\) можно получить строку \(s\), и «NO» иначе. Вы можете выводить каждую букву в любом регистре.

Примечание

Первый набор данных соответствует примеру, описанному в условии.

Во втором наборе входных данных можно выбрать число \(50\) и букву a.

В третьем наборе входных данных можно выбрать число \(11\) и букву a, после чего \(a = [a, 22]\). После этого выбрать число \(22\) и букву b и получить \(a = [a, b]\).

В пятом наборе входных данных можно по очереди заменить все числа на букву a.


Примеры
Входные данныеВыходные данные
1 7
5
2 3 2 4 1
cacta
1
50
a
2
11 22
ab
4
1 2 2 1
aaab
5
1 2 3 2 1
aaaaa
6
1 10 2 9 3 8
azzfdb
7
1 2 3 4 1 1 2
abababb
YES
YES
YES
NO
YES
YES
NO

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

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