#include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int Q; cin >> Q; const int C = 26; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); using Clock = chrono::steady_clock; auto deadline = Clock::now() + chrono::milliseconds(1800); while (Q--) { string S, T; cin >> S >> T; int N = S.size(); vector> A(2, vector(C, 0)); vector> B(2, vector(C, 0)); for (int i = 0; i < N; i++) { A[i % 2][S[i] - 'a']++; B[i % 2][T[i] - 'a']++; } if (A != B) { cout << "No\n"; continue; } if (N > 52 || S == T) { cout << "Yes\n"; continue; } auto now = Clock::now(); auto limit = now + (deadline - now) / (Q + 1); uniform_int_distribution dist(0, N - 4); string s = S; bool ok = false; int steps = 0; while (Clock::now() < limit) { int i = dist(rng); swap(s[i], s[i + 2]); swap(s[i + 1], s[i + 3]); if (s == T) { ok = true; break; } steps++; if (steps % (N * 10) == 0) { s = S; } } cout << (ok ? "Yes" : "No") << '\n'; } return 0; }