B. Swaps
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Given two strings, $$$s$$$ and $$$t$$$, both containing only lowercase letters.

You can perform an operation where you choose two different lowercase letters, $$$c_1$$$ and $$$c_2$$$, and change all occurrences of $$$c_1$$$ to $$$c_2$$$ and vice versa in the string $$$s$$$.

The goal is to determine if it's possible to transform the string $$$s$$$ into the string $$$t$$$ using these operations in less than $$$10^{10}$$$ operations.

Input

The first line contains an integer $$$T$$$ – the number of test cases.

For each test case:

The first line contains the string $$$s$$$ ($$$1 \leq |s| \leq 2*10^{5})$$$.

The second line contains the string $$$t$$$ ($$$1 \leq |t| \leq 2*10^{5})$$$.

it's guaranteed that $$$|s| = |t|$$$.

Output

For each test case, output "YES" in a separate line if you can do the given task, otherwise output "NO".

You can output each letter in any case (lowercase or uppercase). For example, the strings "yEs", "yes", "Yes", and "YES" will be accepted as positive answers.

Example
Input
2
acdbb
adcpp
cynkuvaz
rxvcnvxr
Output
YES
NO
Note

In the first test:

You can transform acdbb to adcpp, as follows:

Choose $$$b$$$ as $$$c_1$$$ and $$$p$$$ as $$$c_2$$$ — acdbb becomes acdpp.

Then choose $$$c$$$ as $$$c_1$$$ and $$$d$$$ as $$$c_2$$$ — acdpp becomes adcpp.

Then you just need two operations $$$2 \leq 10^{10} $$$