#include <bits/stdc++.h>
#define ll long long
#define el '\n'
#define sandra ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;
ll count_swaps(const string &s, char start) {
ll mismatch = 0;
for (ll i = 0; i < s.size(); i++) {
char expected = (i % 2 == 0) ? start : (start == '0' ? '1' : '0');
if (s[i] != expected) mismatch++;
}
return mismatch / 2;
}
signed main() {
sandra
ll t = 0;
cin >> t;
while (t--) {
ll num;
string s;
cin >> num >> s;
int zeros = count(s.begin(), s.end(), '0');
int ones = num - zeros;
if (abs(zeros - ones) > 1) {
cout << -1 << el;
} else {
ll ans = LLONG_MAX;
if (zeros >= ones)
ans = min(ans, count_swaps(s, '0'));
if (ones >= zeros)
ans = min(ans, count_swaps(s, '1'));
cout << ans << el;
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZWwgJ1xuJwojZGVmaW5lIHNhbmRyYSBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpsbCBjb3VudF9zd2Fwcyhjb25zdCBzdHJpbmcgJnMsIGNoYXIgc3RhcnQpIHsKICAgIGxsIG1pc21hdGNoID0gMDsKICAgIGZvciAobGwgaSA9IDA7IGkgPCBzLnNpemUoKTsgaSsrKSB7CiAgICAgICAgY2hhciBleHBlY3RlZCA9IChpICUgMiA9PSAwKSA/IHN0YXJ0IDogKHN0YXJ0ID09ICcwJyA/ICcxJyA6ICcwJyk7CiAgICAgICAgaWYgKHNbaV0gIT0gZXhwZWN0ZWQpIG1pc21hdGNoKys7CiAgICB9CiAgICByZXR1cm4gbWlzbWF0Y2ggLyAyOwp9CgpzaWduZWQgbWFpbigpIHsKICAgIHNhbmRyYQogICAKICAgIGxsIHQgPSAwOwogICAgY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKSB7CiAgICAgICAgbGwgbnVtOwogICAgICAgIHN0cmluZyBzOwogICAgICAgIGNpbiA+PiBudW0gPj4gczsKCiAgICAgICAgaW50IHplcm9zID0gY291bnQocy5iZWdpbigpLCBzLmVuZCgpLCAnMCcpOwogICAgICAgIGludCBvbmVzID0gbnVtIC0gemVyb3M7CgogICAgICAgIGlmIChhYnMoemVyb3MgLSBvbmVzKSA+IDEpIHsKICAgICAgICAgICAgY291dCA8PCAtMSA8PCBlbDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsbCBhbnMgPSBMTE9OR19NQVg7CiAgICAgICAgICAgIGlmICh6ZXJvcyA+PSBvbmVzKQogICAgICAgICAgICAgICAgYW5zID0gbWluKGFucywgY291bnRfc3dhcHMocywgJzAnKSk7CiAgICAgICAgICAgIGlmIChvbmVzID49IHplcm9zKQogICAgICAgICAgICAgICAgYW5zID0gbWluKGFucywgY291bnRfc3dhcHMocywgJzEnKSk7CiAgICAgICAgICAgIGNvdXQgPDwgYW5zIDw8IGVsOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAwOwp9Cg==