C. Числовой шаблон строки
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

У Кристины есть массив $$$a$$$, называемый шаблоном, и состоящий из $$$n$$$ целых чисел. Также у нее есть $$$m$$$ строк, каждая из которых состоит только из строчных латинских букв. Строки пронумерованы от $$$1$$$ до $$$m$$$. Она хочет проверить, какие из них соответствуют шаблону.

Считается, что некоторая строка $$$s$$$ соответствует шаблону, если одновременно верны все следующие условия:

  • Длина строки $$$s$$$ равна количеству элементов в массиве $$$a$$$.
  • Одинаковым числам из $$$a$$$ соответствуют одинаковые символы из $$$s$$$. То есть, если $$$a_i = a_j$$$, то $$$s_i = s_j$$$ для ($$$1 \le i, j \le n$$$).
  • Одинаковым символам из $$$s$$$ соответствуют одинаковые числа из $$$a$$$. То есть, если $$$s_i = s_j$$$, то $$$a_i = a_j$$$ для ($$$1 \le i, j \le n$$$).
Другими словами, между символами строки и элементами массива должно существовать взаимно-однозначное соответствие.

Например, если $$$a$$$ = [$$$3, 5, 2, 1, 3$$$], то строка «abfda» соответствует шаблону, а строка «afbfa» — нет, так как символу «f» одновременно соответствуют числа $$$1$$$ и $$$5$$$.

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

Первая строка входных данных содержит единственное число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных в тесте.

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

Первая строка каждого набора содержит единственное целое число $$$n$$$ ($$$1 \le n \le 2 \cdot 10^5$$$) — количество элементов в массиве $$$a$$$.

Вторая строка каждого набора содержит ровно $$$n$$$ целых чисел $$$a_i$$$ ($$$-10^9 \le a_i \le 10^9$$$) — элементы массива $$$a$$$.

Третья строка каждого набора содержит единственное целое число $$$m$$$ ($$$1 \le m \le 2 \cdot 10^5$$$) — количество строк, для которых необходимо проверить соответствие шаблону.

Далее следуют $$$m$$$ строк, каждая из которых содержит непустую строку $$$s_j$$$ ($$$1 \le |s_j| \le 2 \cdot 10^5$$$), состоящую из строчных латинских букв.

Гарантируется, что сумма $$$n$$$ по всем наборам не превосходит $$$2 \cdot 10^5$$$, а также что сумма длин всех строк не превосходит $$$2 \cdot 10^5$$$.

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

Для каждого набора входных данных выведите $$$m$$$ строк. На $$$i$$$-й строке ($$$1 \le i \le m$$$) выведите:

  • «YES», если строка с индексом $$$i$$$ соответствует шаблону;
  • «NO» иначе.

Вы можете выводить ответ в любом регистре (например, строки «yEs», «yes», «Yes» и «YES» будут распознаны как положительный ответ).

Пример
Входные данные
3
5
3 5 2 1 3
2
abfda
afbfa
2
1 2
3
ab
abc
aa
4
5 -3 5 -3
4
aaaa
bcbc
aba
cbcb
Выходные данные
YES
NO
YES
NO
NO
NO
YES
NO
YES
Примечание

Первый набор входных данных разобран в условии задачи.