Вам заданы две строки \(s\) и \(t\) одинаковой длины, состоящие из строчных букв латинского алфавита. Вы можете выполнять любое (возможно нулевое) количество операций над этими строками.
В течении каждой операции вы выбираете два соседних символа в любой строке и присваиваете значение первого символа значению второго или наоборот.
Например, если \(s\) равна «acbc» вы можете получить следующие строки за одну операцию:
- «aabc» (если выполните присвоение \(s_2 = s_1\));
- «ccbc» (если выполните присвоение \(s_1 = s_2\));
- «accc» (если выполните присвоение \(s_3 = s_2\) или \(s_3 = s_4\));
- «abbc» (если выполните присвоение \(s_2 = s_3\));
- «acbb» (если выполните присвоение \(s_4 = s_3\));
Обратите внимание, что такие же операции вы можете применять и к строке \(t\).
Вам нужна выполнить несколько (возможно ноль) таких операций, чтобы строка \(s\) стала равна \(t\). Определите, возможно ли это.
Обратите внимание, что вам нужно ответить на \(q\) независимых запросов.
Выходные данные
На каждый запрос выведите «YES», если возможно сделать строку \(s\) равной \(t\), и «NO» в обратном случае.
Вы можете выводить ответ в любом регистре (например, строки «yEs», «yes», «Yes» и «YES» будут учтены как положительный ответ).
Примечание
В первом запросе вы можете применить две операции \(s_1 = s_2\) (после неё \(s\) превратится в «aabb») и \(t_4 = t_3\) (после нее \(t\) превратится в «aabb»).
Во втором запросе строки равны изначально, а значит ответ «YES».
В третьем запросе вы не можете сделать строки \(s\) и \(t\) равными. Таким образом, ответ «NO».
Примеры
| № | Входные данные | Выходные данные |
|
1
|
3 xabb aabx technocup technocup a z
|
YES
YES
NO
|