codeforces#P1697C. awoo's Favorite Problem

    ID: 33041 远端评测题 2000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>constructive algorithmsdata structuresdpgreedyimplementationstringstwo pointers

awoo's Favorite Problem

Description

You are given two strings $s$ and $t$, both of length $n$. Each character in both string is 'a', 'b' or 'c'.

In one move, you can perform one of the following actions:

  • choose an occurrence of "ab" in $s$ and replace it with "ba";
  • choose an occurrence of "bc" in $s$ and replace it with "cb".

You are allowed to perform an arbitrary amount of moves (possibly, zero). Can you change string $s$ to make it equal to string $t$?

The first line contains a single integer $q$ ($1 \le q \le 10^4$) — the number of testcases.

The first line of each testcase contains a single integer $n$ ($1 \le n \le 10^5$) — the length of strings $s$ and $t$.

The second line contains string $s$ of length $n$. Each character is 'a', 'b' or 'c'.

The third line contains string $t$ of length $n$. Each character is 'a', 'b' or 'c'.

The sum of $n$ over all testcases doesn't exceed $10^5$.

For each testcase, print "YES" if you can change string $s$ to make it equal to string $t$ by performing an arbitrary amount of moves (possibly, zero). Otherwise, print "NO".

Input

The first line contains a single integer $q$ ($1 \le q \le 10^4$) — the number of testcases.

The first line of each testcase contains a single integer $n$ ($1 \le n \le 10^5$) — the length of strings $s$ and $t$.

The second line contains string $s$ of length $n$. Each character is 'a', 'b' or 'c'.

The third line contains string $t$ of length $n$. Each character is 'a', 'b' or 'c'.

The sum of $n$ over all testcases doesn't exceed $10^5$.

Output

For each testcase, print "YES" if you can change string $s$ to make it equal to string $t$ by performing an arbitrary amount of moves (possibly, zero). Otherwise, print "NO".

Samples

5
3
cab
cab
1
a
b
6
abbabc
bbaacb
10
bcaabababc
cbbababaac
2
ba
ab
YES
NO
YES
YES
NO