CF BUDDY
← Problems·

1730D · Prefixes and Suffixes

2200 · constructive algorithms, strings, two pointers

Problem: You have two strings s1s_1 and s2s_2 of length nn, consisting of lowercase English letters. You can perform the following operation any (possibly zero) number of times:

  • Choose a positive integer 1kn1 \leq k \leq n.
  • Swap the prefix of the string s1s_1 and the suffix of the string s2s_2 of length kk.

Is it possible to make these two strings equal by doing described operations?

Input Format: The first line contains a single integer tt (1t1041 \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 nn (1n1051 \le n \le 10^5) — the length of the strings s1s_1 and s2s_2.

The second line contains the string s1s_1 of length nn, consisting of lowercase English letters.

The third line contains the string s2s_2 of length nn, consisting of lowercase English letters.

It is guaranteed that the sum of nn for all test cases does not exceed 21052 \cdot 10^5.

Output Format: For each test case, print "YES" if it is possible to make the strings equal, and "NO" otherwise.

Note: In the first test case:

  • Initially s1=cbcs_1 = \mathtt{cbc}, s2=abas_2 = \mathtt{aba}.
  • Operation with k=1k = 1, after the operation s1=abcs_1 = \mathtt{abc}, s2=abcs_2 = \mathtt{abc}.

In the second test case:

  • Initially s1=abcaas_1 = \mathtt{abcaa}, s2=cbabbs_2 = \mathtt{cbabb}.
  • Operation with k=2k = 2, after the operation s1=bbcaas_1 = \mathtt{bbcaa}, s2=cbaabs_2 = \mathtt{cbaab}.
  • Operation with k=3k = 3, after the operation s1=aabaas_1 = \mathtt{aabaa}, s2=cbbbcs_2 = \mathtt{cbbbc}.
  • Operation with k=1k = 1, after the operation s1=cabaas_1 = \mathtt{cabaa}, s2=cbbbas_2 = \mathtt{cbbba}.
  • Operation with k=2k = 2, after the operation s1=babaas_1 = \mathtt{babaa}, s2=cbbcas_2 = \mathtt{cbbca}.
  • Operation with k=1k = 1, after the operation s1=aabaas_1 = \mathtt{aabaa}, s2=cbbcbs_2 = \mathtt{cbbcb}.
  • Operation with k=2k = 2, after the operation s1=cbbaas_1 = \mathtt{cbbaa}, s2=cbbaas_2 = \mathtt{cbbaa}.

In the third test case, it's impossible to make strings equal.

Sample Cases

Case 1

Input

7
3
cbc
aba
5
abcaa
cbabb
5
abcaa
cbabz
1
a
a
1
a
b
6
abadaa
adaaba
8
abcabdaa
adabcaba

Output

YES
YES
NO
YES
NO
NO
YES

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback