def getSwaps(c, s):
positions = [i for i, char in enumerate(s) if char == c]
if len(positions) <= 1:
return 0
offsets = [pos - i for i, pos in enumerate(positions)]
offsets.sort()
median = offsets[len(offsets) // 2]
swaps = sum(abs(offset - median) for offset in offsets)
return swaps
def solve():
n = int(input())
s = input()
swapsA = getSwaps('a', s)
swapsB = getSwaps('b', s)
print(min(swapsA, swapsB))
def main():
num_test_cases_str = input()
if not num_test_cases_str: return
num_test_cases = int(num_test_cases_str)
for _ in range(num_test_cases):
solve()
main()
ZGVmIGdldFN3YXBzKGMsIHMpOgogICAgcG9zaXRpb25zID0gW2kgZm9yIGksIGNoYXIgaW4gZW51bWVyYXRlKHMpIGlmIGNoYXIgPT0gY10KICAgIAogICAgaWYgbGVuKHBvc2l0aW9ucykgPD0gMToKICAgICAgICByZXR1cm4gMAogICAgCiAgICBvZmZzZXRzID0gW3BvcyAtIGkgZm9yIGksIHBvcyBpbiBlbnVtZXJhdGUocG9zaXRpb25zKV0KICAgIG9mZnNldHMuc29ydCgpCiAgICBtZWRpYW4gPSBvZmZzZXRzW2xlbihvZmZzZXRzKSAvLyAyXQogICAgc3dhcHMgPSBzdW0oYWJzKG9mZnNldCAtIG1lZGlhbikgZm9yIG9mZnNldCBpbiBvZmZzZXRzKQogICAgCiAgICByZXR1cm4gc3dhcHMKCgpkZWYgc29sdmUoKToKICAgIG4gPSBpbnQoaW5wdXQoKSkKICAgIHMgPSBpbnB1dCgpCgogICAgc3dhcHNBID0gZ2V0U3dhcHMoJ2EnLCBzKQogICAgc3dhcHNCID0gZ2V0U3dhcHMoJ2InLCBzKQogICAgCiAgICBwcmludChtaW4oc3dhcHNBLCBzd2Fwc0IpKQoKCmRlZiBtYWluKCk6CiAgICBudW1fdGVzdF9jYXNlc19zdHIgPSBpbnB1dCgpCiAgICBpZiBub3QgbnVtX3Rlc3RfY2FzZXNfc3RyOiByZXR1cm4KICAgIG51bV90ZXN0X2Nhc2VzID0gaW50KG51bV90ZXN0X2Nhc2VzX3N0cikKICAgIGZvciBfIGluIHJhbmdlKG51bV90ZXN0X2Nhc2VzKToKICAgICAgICBzb2x2ZSgpCgptYWluKCk=