#include <bits/stdc++.h>
using namespace std;
clock_t start;
mt19937_64 rng(chrono::system_clock::now().time_since_epoch().count());
template <typename T>
void _F(const char *name, T arg1) {
  cerr << name << " = " << arg1 << '\n';
}
template <typename T, typename... Args>
void _F(const char *names, T arg1, Args... args) {
  const char *name = strchr(names, ',');
  cerr.write(names, name - names) << " = " << arg1 << '\n';
  _F(name + 2, args...);
}
template <typename T1, typename T2>
istream &operator>>(istream &in, pair<T1, T2> &q) {
  in >> q.first >> q.second;
  return in;
}
template <typename T1, typename T2>
ostream &operator<<(ostream &out, pair<T1, T2> &q) {
  out << q.first << " " << q.second;
  return out;
}
template <typename T1, typename T2>
pair<T1, T2> operator+(pair<T1, T2> p1, pair<T1, T2> p2) {
  return {p1.first + p2.first, p1.second + p2.second};
}
template <typename T1, typename T2>
pair<T1, T2> operator-(pair<T1, T2> p1, pair<T1, T2> p2) {
  return {p1.first - p2.first, p1.second - p2.second};
}
template <typename T1, typename T2>
bool operator<(pair<T1, T2> p1, pair<T1, T2> p2) {
  return p1 < p2;
}
template <typename T>
void Unique(vector<T> &v) {
  sort((v).begin(), (v).end()),
      v.resize(distance(v.begin(), unique((v).begin(), (v).end())));
}
void solve(long long &test) {
  long long n;
  cin >> n;
  string a, b;
  cin >> a >> b;
  std::vector<long long> ans;
  long long sum = 0, cnt = 0;
  auto invert = [&](char c, long long cnt) {
    if (cnt % 2 == 0) return c;
    return (c == '1' ? '0' : '1');
  };
  for (long long i = n - 1; i >= 0; i--) {
    long long j = sum + (cnt % 2 ? -i : i);
    char cur = a[j];
    cur = invert(cur, cnt);
    if (b[i] == cur) continue;
    if (cur == invert(a[sum], cnt)) {
      ans.push_back(i);
    } else {
      a[sum] = invert(a[sum], 1);
      ans.push_back(0);
      ans.push_back(i);
    }
    sum += (cnt % 2 == 0 ? i : -i);
    cnt++;
  }
  cout << (long long)((ans).size()) << '\n';
  for (auto u : ans) cout << u + 1 << " ";
  cout << '\n';
}
signed main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  start = clock();
  long long t = 1;
  cin >> t;
  cout << fixed << setprecision(2);
  for (long long i = 1; i <= t; ++i) {
    solve(i);
  }
  cerr << (double(clock() - start) / double(CLOCKS_PER_SEC));
  return 0;
}
