Задано две строки \(s\) и \(t\), обе длины \(n\) и обе состоят из строчных букв латинского алфавита.
За один ход вы можете выбрать любую длину \(len\) от \(1\) до \(n\) и выполнить следующую операцию:
- Выбрать любую непрерывную подстроку строки \(s\) длины \(len\) и перевернуть ее;
- в тот же момент выбрать любую непрерывную подстроку строки \(t\) длины \(len\) и также перевернуть ее.
Заметьте, что в течение одного хода вы переворачиваете ровно одну подстроку строки \(s\) и ровно одну подстроку строки \(t\).
Также заметьте, что границы подстрок, которые вы переворачиваете в \(s\) и в \(t\), могут быть различны, единственное ограничение — вы должны переворачивать подстроки одинаковых длин. Например, если \(len=3\) и \(n=5\), то вы можете перевернуть \(s[1 \dots 3]\) и \(t[3 \dots 5]\), \(s[2 \dots 4]\) и \(t[2 \dots 4]\), но не \(s[1 \dots 3]\) и \(t[1 \dots 2]\).
Ваша задача — сказать, можно ли сделать строки \(s\) и \(t\) одинаковыми после какой-то (возможно, пустой) последовательности ходов.
Вам необходимо ответить на \(q\) независимых наборов входных данных.
Выходные данные
Для каждого набора входных данных выведите ответ на него — «YES» (без кавычек), если возможно сделать строки \(s\) и \(t\) равными после какой-то (возможно, пустой) последовательности ходов и «NO» иначе.