# https://github.com/robe2222555/atcoder-lib/blob/main/template/python/main.py import sys input = lambda: sys.stdin.readline().rstrip() def LI(): return list(map(int, input().split())) def II(): return int(input()) INF = 1<<60 def test(): n = 10 st = list(range(n)) stk = [st] S = set() S.add(tuple(st)) while stk: X = stk.pop() for i in range(n-3): X[i],X[i+1],X[i+2],X[i+3] = X[i+2],X[i+3],X[i],X[i+1] if not tuple(X) in S: S.add(tuple(X)) stk.append(X[:]) X[i],X[i+1],X[i+2],X[i+3] = X[i+2],X[i+3],X[i],X[i+1] print(len(S)) T = set() for X in S: if X[::2] == tuple(range(0,n,2)): T.add(tuple(X[1::2])) print(sorted(T)) print(len(T)) return def solve(): #test() #return S = input() T = input() if sorted(list(S[::2])) != sorted(list(T[::2])): print("No") return if sorted(list(S[1::2])) != sorted(list(T[1::2])): print("No") return def f(X:str): N = len(S) even = 0 cnt = [0]*26 for i in range(0, N, 2): tmp = ord(X[i])-ord("a") for j in range(tmp+1, 26): even = (even + cnt[j])%2 cnt[tmp] += 1 odd = 0 cnt = [0]*26 for i in range(1, N, 2): tmp = ord(X[i])-ord("a") for j in range(tmp+1, 26): odd = (odd + cnt[j])%2 cnt[tmp] += 1 return even^odd if f(S)==f(T): print("Yes") else: print("No") return def main(): T = II() for _ in range(T): solve() return if __name__ == '__main__': main()