#include <bits/stdc++.h>
#include <iostream>
#include <algorithm>
#define ll long long;
const int maxn = 2e5 + 5;
using namespace std;
void AlShafii()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
}
// make simmler chars together like abab be like aabb or baab
int main()
{
AlShafii();
int t;
cin >> t;
while (t--)
{
int n;
cin >> n;
string s;
cin >> s;
int count = 0;
int pos[maxn];
for (int i = 0; i < n; i++)
{
if (s[i] == 'a')
{
pos[count] = i;
count++;
}
}
long long coasta = 0;
if (count > 0)
{
int midi = count / 2;
int tar = pos[midi] - midi;
for (int i = 0; i < count; i++)
{
int x = pos[i] - i;
coasta += abs(x - tar);
}
}
count = 0;
for (int i = 0; i < n; i++)
{
if (s[i] == 'b')
{
pos[count] = i;
count++;
}
}
long long costb = 0;
if (count > 0)
{
int midi = count / 2;
int tar = pos[midi] - midi;
for (int i = 0; i < count; i++)
{
int x = pos[i] - i;
costb += abs(x - tar);
}
}
cout << min(coasta, costb) << endl;
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2RlZmluZSBsbCBsb25nIGxvbmc7CmNvbnN0IGludCBtYXhuID0gMmU1ICsgNTsKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdm9pZCBBbFNoYWZpaSgpCnsKCWlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwoJY2luLnRpZShOVUxMKTsKCWNvdXQudGllKE5VTEwpOwoJCn0KLy8gbWFrZSBzaW1tbGVyIGNoYXJzIHRvZ2V0aGVyIGxpa2UgYWJhYiBiZSBsaWtlIGFhYmIgb3IgYmFhYgppbnQgbWFpbigpCnsKCUFsU2hhZmlpKCk7CglpbnQgdDsKCWNpbiA+PiB0OwoJd2hpbGUgKHQtLSkKCXsKCQlpbnQgbjsKCQljaW4gPj4gbjsKCQlzdHJpbmcgczsKCQljaW4gPj4gczsKCQlpbnQgY291bnQgPSAwOwoJCWludCBwb3NbbWF4bl07CgkJZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCgkJewoJCQlpZiAoc1tpXSA9PSAnYScpCgkJCXsKCQkJCXBvc1tjb3VudF0gPSBpOwoJCQkJY291bnQrKzsKCQkJfQoJCX0KCQlsb25nIGxvbmcgY29hc3RhID0gMDsKCQlpZiAoY291bnQgPiAwKQoJCXsKCQkJaW50IG1pZGkgPSBjb3VudCAvIDI7CgkJCWludCB0YXIgPSBwb3NbbWlkaV0gLSBtaWRpOwoJCQlmb3IgKGludCBpID0gMDsgaSA8IGNvdW50OyBpKyspCgkJCXsKCQkJCWludCB4ID0gcG9zW2ldIC0gaTsKCQkJCWNvYXN0YSArPSBhYnMoeCAtIHRhcik7CgkJCX0KCgkJfQoJCWNvdW50ID0gMDsKCQlmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKCQl7CgkJCWlmIChzW2ldID09ICdiJykKCQkJewoJCQkJcG9zW2NvdW50XSA9IGk7CgkJCQljb3VudCsrOwoJCQl9CgkJfQoJCWxvbmcgbG9uZyBjb3N0YiA9IDA7CgkJaWYgKGNvdW50ID4gMCkKCQl7CgkJCWludCBtaWRpID0gY291bnQgLyAyOwoJCQlpbnQgdGFyID0gcG9zW21pZGldIC0gbWlkaTsKCQkJZm9yIChpbnQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKQoJCQl7CgkJCQlpbnQgeCA9IHBvc1tpXSAtIGk7CgkJCQljb3N0YiArPSBhYnMoeCAtIHRhcik7CgkJCX0KCQl9CgkJY291dCA8PCBtaW4oY29hc3RhLCBjb3N0YikgPDwgZW5kbDsKCQkKCQkKCgoKCgl9Cn0=