#include <bits/stdc++.h>
using namespace std;
int ispresent(string s, char c, int st) {
  for (int i = st; i < s.length(); i++) {
    if (s[i] == c) return i;
  }
  return -1;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int t;
  cin >> t;
  while (t--) {
    int n;
    cin >> n;
    string s, t;
    vector<string> v;
    cin >> s >> t;
    map<char, int> m;
    map<char, int>::iterator it;
    for (int i = 0; i < n; i++) {
      m[s[i]]++;
      m[t[i]]++;
    }
    int f = 1;
    for (it = m.begin(); it != m.end(); ++it) {
      if (it->second % 2 != 0) {
        f = 0;
        break;
      }
    }
    if (!f) {
      cout << "No" << endl;
      continue;
    } else {
      string str;
      int s1, s2;
      char ch;
      for (int i = 0; i < n - 1; i++) {
        if (s[i] == t[i]) {
          continue;
        }
        s1 = ispresent(s, s[i], i + 1);
        if (s1 == -1) {
          s2 = ispresent(t, s[i], i + 1);
          if (s2 == -1) {
            cout << "No" << endl;
            break;
          }
          ch = s[s2];
          s = s.substr(0, s2) + t[s2] + s.substr(s2 + 1);
          t = t.substr(0, s2) + ch + t.substr(s2 + 1);
          str = to_string(s2 + 1) + " " + to_string(s2 + 1);
          v.push_back(str);
          ch = s[s2];
          s = s.substr(0, s2) + t[i] + s.substr(s2 + 1);
          t = t.substr(0, i) + ch + t.substr(i + 1);
          str = to_string(s2 + 1) + " " + to_string(i + 1);
          v.push_back(str);
        } else {
          ch = s[s1];
          s = s.substr(0, s1) + t[i] + s.substr(s1 + 1);
          t = t.substr(0, i) + ch + t.substr(i + 1);
          str = to_string(s1 + 1) + " " + to_string(i + 1);
          v.push_back(str);
        }
      }
      if (v.size() == 0 || v.size() >= 2 * n) {
        cout << "No" << endl;
      } else {
        cout << "Yes" << endl << v.size() << endl;
        for (int i = 0; i < v.size(); i++) {
          cout << v[i] << endl;
        }
      }
    }
  }
  return 0;
}
