#include <bits/stdc++.h>
using namespace std;
#define lli long long int
#define pb push_back
vector<lli> v;
unordered_map<char, int> m;
vector<string> ans;
string s;
lli n;
string a, b;
void doMan(lli n)
{
m.clear();
for (lli i = 0; i < n; i++)
m[a[i]] = i;
lli cnt = 0;
char ch ;
while (a != b)
{
cnt++;
for (lli i = 0; i < n; i++)
if (a[i] != b[i])
{
ch = min(a[i], b[i]);
v.pb(i);
}
v.pb(m[ch]);
//cout<<v.size()<<" ";
s += to_string(v.size());
s += " ";
for (lli x : v)
{
a[x] = ch;
s += to_string(x);
s += " ";
}
//cout<<x<<" ";
v.clear();
ans.pb(s);
s.clear();
//a = b;
}
cout << cnt << "\n";
for (auto x : ans)
cout << x << "\n";
}
void solve()
{
cin >> n;
cin >> a >> b;
for (int i = 0; i < n; i++)
m[b[i]]++;
for (int i = 0; i < n; i++)
{
if (m[a[i]] > 0)
m[a[i]] = 0;
}
lli f = 0;
for (auto x : m)
{
if (x.second > 0)
{
cout << "-1" << "\n";
f = 1;
break;
}
}
if (f != 1)
doMan(n);
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
lli test;
cin >> test;
while (test--)
{
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGxpIGxvbmcgbG9uZyBpbnQKI2RlZmluZSBwYiBwdXNoX2JhY2sKCnZlY3RvcjxsbGk+IHY7CnVub3JkZXJlZF9tYXA8Y2hhciwgaW50PiBtOwp2ZWN0b3I8c3RyaW5nPiBhbnM7CnN0cmluZyBzOwpsbGkgbjsKc3RyaW5nIGEsIGI7CnZvaWQgZG9NYW4obGxpIG4pCnsKICAgIG0uY2xlYXIoKTsKICAgIGZvciAobGxpIGkgPSAwOyBpIDwgbjsgaSsrKQogICAgICAgIG1bYVtpXV0gPSBpOwogICAgbGxpIGNudCA9IDA7CiAgICBjaGFyIGNoIDsKICAgIHdoaWxlIChhICE9IGIpCiAgICB7CiAgICAgICAgY250Kys7CiAgICAgICAgZm9yIChsbGkgaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgICAgIGlmIChhW2ldICE9IGJbaV0pCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNoID0gbWluKGFbaV0sIGJbaV0pOwogICAgICAgICAgICAgICAgdi5wYihpKTsKICAgICAgICAgICAgfQogICAgICAgIHYucGIobVtjaF0pOwogICAgICAgIC8vY291dDw8di5zaXplKCk8PCIgIjsKICAgICAgICBzICs9IHRvX3N0cmluZyh2LnNpemUoKSk7CiAgICAgICAgcyArPSAiICI7CiAgICAgICAgZm9yIChsbGkgeCA6IHYpCiAgICAgICAgewogICAgICAgICAgICBhW3hdID0gY2g7CiAgICAgICAgICAgIHMgKz0gdG9fc3RyaW5nKHgpOwogICAgICAgICAgICBzICs9ICIgIjsKICAgICAgICB9CiAgICAgICAgLy9jb3V0PDx4PDwiICI7CiAgICAgICAgdi5jbGVhcigpOwogICAgICAgIGFucy5wYihzKTsKICAgICAgICBzLmNsZWFyKCk7CiAgICAgICAgLy9hID0gYjsKICAgIH0KICAgIGNvdXQgPDwgY250IDw8ICJcbiI7CiAgICBmb3IgKGF1dG8geCA6IGFucykKICAgICAgICBjb3V0IDw8IHggPDwgIlxuIjsKfQoKdm9pZCBzb2x2ZSgpCnsKICAgIGNpbiA+PiBuOwogICAgY2luID4+IGEgPj4gYjsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQogICAgICAgIG1bYltpXV0rKzsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQogICAgewogICAgICAgIGlmIChtW2FbaV1dID4gMCkKICAgICAgICAgICAgbVthW2ldXSA9IDA7CiAgICB9CiAgICBsbGkgZiA9IDA7CiAgICBmb3IgKGF1dG8geCA6IG0pCiAgICB7CiAgICAgICAgaWYgKHguc2Vjb25kID4gMCkKICAgICAgICB7CiAgICAgICAgICAgIGNvdXQgPDwgIi0xIiA8PCAiXG4iOwogICAgICAgICAgICBmID0gMTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgfQogICAgaWYgKGYgIT0gMSkKICAgICAgICBkb01hbihuKTsKfQppbnQgbWFpbigpCnsKI2lmbmRlZiBPTkxJTkVfSlVER0UKICAgIGZyZW9wZW4oImlucHV0LnR4dCIsICJyIiwgc3RkaW4pOwogICAgZnJlb3Blbigib3V0cHV0LnR4dCIsICJ3Iiwgc3Rkb3V0KTsKI2VuZGlmCgogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKDApOwogICAgY291dC50aWUoMCk7CgogICAgbGxpIHRlc3Q7CiAgICBjaW4gPj4gdGVzdDsKICAgIHdoaWxlICh0ZXN0LS0pCiAgICB7CiAgICAgICAgc29sdmUoKTsKICAgIH0KICAgIHJldHVybiAwOwp9Cg==