#include <bits/stdc++.h>
long long int inf = 1e18;
using namespace std;
long long int add(long long a, long long b) {
  return ((a % 1000000007) + (b % 1000000007)) % 1000000007;
}
long long int subtract(long long a, long long b) {
  return ((a % 1000000007) - (b % 1000000007)) % 1000000007;
}
long long int mult(long long a, long long b) {
  return ((a % 1000000007) * (b % 1000000007)) % 1000000007;
}
long long int add1(long long a, long long b) {
  return ((a % 998244353) + (b % 998244353)) % 998244353;
}
long long int subtract1(long long a, long long b) {
  return ((a % 998244353) - (b % 998244353)) % 998244353;
}
long long int mult1(long long a, long long b) {
  return ((a % 998244353) * (b % 998244353)) % 998244353;
}
long long int binmodwithMOD1(long long int a, long long int b) {
  long long int res = 1;
  while (b) {
    if (b & 1) res = mult1(res, a) % 998244353;
    a = mult1(a, a) % 998244353;
    b >>= 1;
  }
  return res;
}
long long int binmodwithMOD(long long int a, long long int b) {
  long long int res = 1;
  while (b) {
    if (b & 1) res = mult(res, a) % 1000000007;
    a = mult(a, a) % 1000000007;
    b >>= 1;
  }
  return res;
}
long long int binmodwithoutMOD1orMOD2(long long int a, long long int b) {
  long long int res = 1;
  while (b) {
    if (b & 1) res = res * a;
    a = a * a;
    b >>= 1;
  }
  return res;
}
long long int gcd(long long int a, long long int b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
long long int inverse(long long int n) {
  return binmodwithMOD(n, 1000000007 - 2);
}
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long int t;
  cin >> t;
  while (t--) {
    long long int n;
    cin >> n;
    string s1, s2;
    cin >> s1 >> s2;
    vector<long long int> a, b;
    for (long long int i = 1; i < n; i++) {
      if (s1[i] != s1[i - 1]) {
        a.push_back(i);
      }
    }
    if (s1[n - 1] != s2[n - 1]) a.push_back(n);
    for (long long int i = 1; i < n; i++) {
      if (s2[i] != s2[i - 1]) {
        b.push_back(i);
      }
    }
    reverse(b.begin(), b.end());
    cout << (long long int)a.size() + (long long int)b.size() << " ";
    for (auto x : a) cout << x << " ";
    for (auto x : b) cout << x << " ";
    cout << "\n";
  }
  return 0;
}
