Массив из целых чисел \(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\) после описанного преобразования?
Выходные данные
Для каждого набора входных данных выведите «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
|