#include <bits/stdc++.h>
using namespace std;
template <class T>
T gcd(T a, T b) {
  return b ? gcd(b, a % b) : a;
}
int num[26];
int main() {
  int T;
  scanf("%d", &T);
  while (T--) {
    int n;
    string s, t;
    cin >> n >> s >> t;
    int rev = 0, flg = 0;
    memset(num, 0, sizeof(num));
    for (int i = 0; i < n; i++) {
      for (int j = s[i] - 'a' + 1; j < 26; j++) {
        rev += num[j];
      }
      num[s[i] - 'a']++;
    }
    for (int i = 0; i < 26; i++) {
      if (num[i] >= 2) flg = 1;
    }
    memset(num, 0, sizeof(num));
    for (int i = 0; i < n; i++) {
      for (int j = t[i] - 'a' + 1; j < 26; j++) {
        rev += num[j];
      }
      num[t[i] - 'a']++;
    }
    for (int i = 0; i < 26; i++) {
      if (num[i] >= 2) flg = 1;
    }
    sort(s.begin(), s.end());
    sort(t.begin(), t.end());
    if (s != t || (rev % 2 != 0 && !flg))
      puts("NO");
    else
      puts("YES");
  }
  return 0;
}
