#include using namespace std; int main() { int Q; cin >> Q; const int C = 26; 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) { cout << "Yes\n"; continue; } queue que; unordered_set seen; que.push(S); seen.insert(S); bool ok = false; while (!que.empty()) { string s = que.front(); que.pop(); if (s == T) { ok = true; break; } for (int i = 0; i + 3 < N; i++) { string t = s; swap(t[i], t[i + 2]); swap(t[i + 1], t[i + 3]); if (seen.insert(t).second) { que.push(t); } } } cout << (ok ? "Yes" : "No") << '\n'; } return 0; }