D. Prefixes and Suffixes
constructive algorithms; strings; two pointers
You have two strings \(s_1\) and \(s_2\) of length \(n\), consisting of lowercase English letters. You can perform the following operation any (possibly zero) number of times: Choose a positive integer \(1 \leq k \leq n\). Swap the prefix of the string \(s_1\) and the suffix of the string \(s_2\) of length \(k\). Is it possible to make these two strings equal by doing described operations?
The first line contains a single integer \(t\) (\(1 \le t \le 10^4\)) — the number of test cases. Then the test cases follow.Each test case consists of three lines.The first line contains a single integer \(n\) (\(1 \le n \le 10^5\)) — the length of the strings \(s_1\) and \(s_2\). The second line contains the string \(s_1\) of length \(n\), consisting of lowercase English letters.The third line contains the string \(s_2\) of length \(n\), consisting of lowercase English letters.It is guaranteed that the sum of \(n\) for all test cases does not exceed \(2 \cdot 10^5\).
For each test case, print ""YES"" if it is possible to make the strings equal, and ""NO"" otherwise.
In the first test case: Initially \(s_1 = \mathtt{cbc}\), \(s_2 = \mathtt{aba}\). Operation with \(k = 1\), after the operation \(s_1 = \mathtt{abc}\), \(s_2 = \mathtt{abc}\). In the second test case: Initially \(s_1 = \mathtt{abcaa}\), \(s_2 = \mathtt{cbabb}\). Operation with \(k = 2\), after the operation \(s_1 = \mathtt{bbcaa}\), \(s_2 = \mathtt{cbaab}\). Operation with \(k = 3\), after the operation \(s_1 = \mathtt{aabaa}\), \(s_2 = \mathtt{cbbbc}\). Operation with \(k = 1\), after the operation \(s_1 = \mathtt{cabaa}\), \(s_2 = \mathtt{cbbba}\). Operation with \(k = 2\), after the operation \(s_1 = \mathtt{babaa}\), \(s_2 = \mathtt{cbbca}\). Operation with \(k = 1\), after the operation \(s_1 = \mathtt{aabaa}\), \(s_2 = \mathtt{cbbcb}\). Operation with \(k = 2\), after the operation \(s_1 = \mathtt{cbbaa}\), \(s_2 = \mathtt{cbbaa}\). In the third test case, it's impossible to make strings equal.