#include <bits/stdc++.h>
#define yo_con_marcelita
#define F first
#define S second
#define pb push_back
#define eb emplace_back
#define ln cout<<endl;
#define sz(x) int((x).size())
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define read(x) for(auto &el : x) cin >> el;
#define For(i,s,n) for(int i=s; i < int(n); ++i)
#define dFor(i,f,n) for (int i = n - 1; i >= f; --i)
#define DBG(x) cout << #x << " = " << x << endl;
#define print(x) for(auto &el : x) {cout << el << " ";} cout<<endl;
#define lw(c, x) int(lower_bound((c).begin(), (c).end(), (x)) - (c).begin())
#define up(c, x) int(upper_bound((c).begin(), (c).end(), (x)) - (c).begin())
#define sino(b) cout<<(b ? "YES\n":"NO\n");
#define syso(x) cout<< (x) <<endl;
#define kill(x) {cout<< (x) <<endl; return;}
using namespace std;
typedef long long ll;
typedef long double ld;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
ll gcd(ll a, ll b){while(b){a%=b; swap(a,b);} return a;} ll lcm(ll a,ll b){return a*b/gcd(a,b);}
int lg2(const int &x) { return 31-__builtin_clz(x);} // int lg2(const ll &x) {return 63-__builtin_clzll(x);}
// Para leer e imprimir .txt
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
void solve() {
int n;
string s;
cin >> n >> s;
vector<bool> need(26,false);
for (int i = 0; i < n / 2; i++) {
int a = s[i] - 'a', b = s[n - 1 - i] - 'a';
if (a > b) swap(a, b);
for (int j = a + 1; j <= b; j++) need[j] = 1;
}
int ans = 0;
for (int i = 1; i < 26; i++) {
ans += need[i];
}
cout << ans << '\n';
}
int main(){
yo_con_marcelita
int t = 1;
cin >> t;
while (t--) {
solve();
}
return 0;
}
//VisualSaquenASebastianDelEquipoPorFavorCode
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgeW9fY29uX21hcmNlbGl0YQojZGVmaW5lIEYgZmlyc3QKI2RlZmluZSBTIHNlY29uZAojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGViIGVtcGxhY2VfYmFjawojZGVmaW5lIGxuIGNvdXQ8PGVuZGw7CiNkZWZpbmUgc3ooeCkgaW50KCh4KS5zaXplKCkpCiNkZWZpbmUgYWxsKHgpICh4KS5iZWdpbigpLCAoeCkuZW5kKCkKI2RlZmluZSByYWxsKHgpICh4KS5yYmVnaW4oKSwgKHgpLnJlbmQoKQojZGVmaW5lIHJlYWQoeCkgZm9yKGF1dG8gJmVsIDogeCkgY2luID4+IGVsOwojZGVmaW5lIEZvcihpLHMsbikgZm9yKGludCBpPXM7IGkgPCBpbnQobik7ICsraSkKI2RlZmluZSBkRm9yKGksZixuKSBmb3IgKGludCBpID0gbiAtIDE7IGkgPj0gZjsgLS1pKQojZGVmaW5lIERCRyh4KSBjb3V0IDw8ICN4IDw8ICIgPSAiIDw8IHggPDwgZW5kbDsKI2RlZmluZSBwcmludCh4KSBmb3IoYXV0byAmZWwgOiB4KSB7Y291dCA8PCBlbCA8PCAiICI7fSBjb3V0PDxlbmRsOwojZGVmaW5lIGx3KGMsIHgpIGludChsb3dlcl9ib3VuZCgoYykuYmVnaW4oKSwgKGMpLmVuZCgpLCAoeCkpIC0gKGMpLmJlZ2luKCkpCiNkZWZpbmUgdXAoYywgeCkgaW50KHVwcGVyX2JvdW5kKChjKS5iZWdpbigpLCAoYykuZW5kKCksICh4KSkgLSAoYykuYmVnaW4oKSkKI2RlZmluZSBzaW5vKGIpIGNvdXQ8PChiID8gIllFU1xuIjoiTk9cbiIpOwojZGVmaW5lIHN5c28oeCkgY291dDw8ICh4KSA8PGVuZGw7CiNkZWZpbmUga2lsbCh4KSB7Y291dDw8ICh4KSA8PGVuZGw7IHJldHVybjt9CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwp0eXBlZGVmIGxvbmcgZG91YmxlIGxkOwp0eXBlZGVmIHZlY3RvcjxpbnQ+IHZpOwp0eXBlZGVmIHZlY3RvcjxsbD4gdmxsOwp0eXBlZGVmIHBhaXI8aW50LGludD4gcGlpOwp0eXBlZGVmIHBhaXI8bGwsbGw+IHBsbDsKbGwgZ2NkKGxsIGEsIGxsIGIpe3doaWxlKGIpe2ElPWI7IHN3YXAoYSxiKTt9IHJldHVybiBhO30gbGwgbGNtKGxsIGEsbGwgYil7cmV0dXJuIGEqYi9nY2QoYSxiKTt9CmludCBsZzIoY29uc3QgaW50ICZ4KSB7IHJldHVybiAzMS1fX2J1aWx0aW5fY2x6KHgpO30gLy8gaW50IGxnMihjb25zdCBsbCAmeCkge3JldHVybiA2My1fX2J1aWx0aW5fY2x6bGwoeCk7fQovLyBQYXJhIGxlZXIgZSBpbXByaW1pciAudHh0Ci8vIGZyZW9wZW4oImlucHV0LnR4dCIsICJyIiwgc3RkaW4pOwovLyBmcmVvcGVuKCJvdXRwdXQudHh0IiwgInciLCBzdGRvdXQpOwoKdm9pZCBzb2x2ZSgpIHsKICAgIGludCBuOwogICAgc3RyaW5nIHM7CiAgICBjaW4gPj4gbiA+PiBzOwogICAgdmVjdG9yPGJvb2w+IG5lZWQoMjYsZmFsc2UpOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuIC8gMjsgaSsrKSB7CiAgICAgICAgaW50IGEgPSBzW2ldIC0gJ2EnLCBiID0gc1tuIC0gMSAtIGldIC0gJ2EnOwogICAgICAgIGlmIChhID4gYikgc3dhcChhLCBiKTsKICAgICAgICBmb3IgKGludCBqID0gYSArIDE7IGogPD0gYjsgaisrKSBuZWVkW2pdID0gMTsKICAgIH0KCiAgICBpbnQgYW5zID0gMDsKICAgIGZvciAoaW50IGkgPSAxOyBpIDwgMjY7IGkrKykgewogICAgICAgIGFucyArPSBuZWVkW2ldOwogICAgfQoKICAgIGNvdXQgPDwgYW5zIDw8ICdcbic7Cn0KCmludCBtYWluKCl7CiAgICB5b19jb25fbWFyY2VsaXRhCiAgICBpbnQgdCA9IDE7CiAgICBjaW4gPj4gdDsKICAgIHdoaWxlICh0LS0pIHsKICAgICAgICBzb2x2ZSgpOwogICAgfQogICAgcmV0dXJuIDA7Cn0KLy9WaXN1YWxTYXF1ZW5BU2ViYXN0aWFuRGVsRXF1aXBvUG9yRmF2b3JDb2Rl