Портальная пушка
ограничение по времени на тест
4 секунды
ограничение по памяти на тест
1024 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод

Рик прекрасно знает, что Морти нельзя доверять портальную пушку, но в последнее время Морти так надоел ему просьбами подарить ему собственную портальную пушку, что Рик сдался и сделал ему мини-версию.

Однако, чтобы Морти при этом как-то развивался (или просто чтобы ему было сложнее ее использовать), Рик сделал ее устройство достаточно запутанным. Всего на портальной пушке Морти есть $$$n$$$ параметров, каждый из которых может принимать значения от 'a' до 'z'. Обозначим параметр под номером $$$i$$$ за $$$p_i$$$.

За одно действие Морти может:

Поскольку Морти не шибко умный, ему сложно быстро проверять наборы параметров на равенство, а случайно сломать портальную пушку не хотелось бы. Помогите ему для каждого действия третьего типа понять, может ли он создать порталы в желаемых локациях, или нет.

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

В первой строке ввода дана строка $$$p$$$ длины $$$n$$$, состоящая из маленьких латинских букв — изначальные значения параметров пушки ($$$1 \leqslant n \leqslant 2 \cdot 10^5$$$).

В следующей строке дано единственное целое число $$$q$$$ — количество действий, которые совершает Морти ($$$1 \leqslant q \leqslant 2 \cdot 10^5$$$).

В следующих $$$q$$$ строках перечислены описания действий:

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

На каждое действие третьего типа выведите в отдельной строке «YES» (без кавычек), если Морти может его выполнить, и «NO» иначе.

Примеры

Входные данные
aaabc
6
3 1 2 2 3
1 4 c
2 c a
3 1 4 2 5
1 3 x
3 1 4 2 5
Выходные данные
YES
YES
NO
Входные данные
abracadabra
7
3 1 4 8 11
1 7 r
2 a c
2 b c
3 1 4 8 11
3 1 4 5 8
3 2 4 6 8
Выходные данные
YES
YES
YES
YES