#include <bits/stdc++.h>
using namespace std;
int c, n, last_bin;
bool was_it = 0;
int main() {
cin >> c; // wczytujemy liczbe przypadkow
for (int cases = 0; cases < c; cases++) {
cin >> n;
string s;
int out = 0;
cin >> s;
for (int i = 0; i < n; i++) {
if (s[i] == '1') { // jezeli smietnik jest pod domem
last_bin == i; //ustawiamy last bin na index ostatniego smietnika
was_it = 1;
// out += 0
}
else if (s[i] == '0' && was_it == 1 && i - last_bin == 1) { // jezeli smietnik jest dom obok
out += 1;
}
else if (s[i] == '0' && was_it != 1) { // jezeli nie bylo jeszcze zadnego smietnika
int x = 0;
for (int j = i-1; j < n; j++) {
x++;
if (s[j] == '1') {
out += x;
break;
}
}
}
else if (s[i] == '0') { // jezeli byl juz jakis smietnik ale niekonieczne obok
int x = 0;
for (int j = i-1; j < n-last_bin-1; j++) {
x++;
if (s[j] == '1') {
out += x;
break;
}
}
}
}
cout << out << '\n';
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgYywgbiwgbGFzdF9iaW47CmJvb2wgd2FzX2l0ID0gMDsKCmludCBtYWluKCkgewogICAgY2luID4+IGM7IC8vIHdjenl0dWplbXkgbGljemJlIHByenlwYWRrb3cKICAgIGZvciAoaW50IGNhc2VzID0gMDsgY2FzZXMgPCBjOyBjYXNlcysrKSB7CiAgICAgICAgY2luID4+IG47CiAgICAgICAgc3RyaW5nIHM7CiAgICAgICAgaW50IG91dCA9IDA7CiAgICAgICAgY2luID4+IHM7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICAgICAgaWYgKHNbaV0gPT0gJzEnKSB7IC8vIGplemVsaSBzbWlldG5payBqZXN0IHBvZCBkb21lbQogICAgICAgICAgICAgICAgbGFzdF9iaW4gPT0gaTsgLy91c3Rhd2lhbXkgbGFzdCBiaW4gbmEgaW5kZXggb3N0YXRuaWVnbyBzbWlldG5pa2EKICAgICAgICAgICAgICAgIHdhc19pdCA9IDE7CiAgICAgICAgICAgICAgICAvLyBvdXQgKz0gMAogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYgKHNbaV0gPT0gJzAnICYmIHdhc19pdCA9PSAxICYmIGkgLSBsYXN0X2JpbiA9PSAxKSB7IC8vIGplemVsaSBzbWlldG5payBqZXN0IGRvbSBvYm9rCiAgICAgICAgICAgICAgICBvdXQgKz0gMTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmIChzW2ldID09ICcwJyAmJiB3YXNfaXQgIT0gMSkgeyAvLyBqZXplbGkgbmllIGJ5bG8gamVzemN6ZSB6YWRuZWdvIHNtaWV0bmlrYQogICAgICAgICAgICAgICAgaW50IHggPSAwOwogICAgICAgICAgICAgICAgZm9yIChpbnQgaiA9IGktMTsgaiA8IG47IGorKykgewogICAgICAgICAgICAgICAgICAgIHgrKzsKICAgICAgICAgICAgICAgICAgICBpZiAoc1tqXSA9PSAnMScpIHsKICAgICAgICAgICAgICAgICAgICAgICAgb3V0ICs9IHg7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmIChzW2ldID09ICcwJykgeyAvLyBqZXplbGkgYnlsIGp1eiBqYWtpcyBzbWlldG5payBhbGUgbmlla29uaWVjem5lIG9ib2sKICAgICAgICAgICAgICAgIGludCB4ID0gMDsKICAgICAgICAgICAgICAgIGZvciAoaW50IGogPSBpLTE7IGogPCBuLWxhc3RfYmluLTE7IGorKykgewogICAgICAgICAgICAgICAgICAgIHgrKzsKICAgICAgICAgICAgICAgICAgICBpZiAoc1tqXSA9PSAnMScpIHsKICAgICAgICAgICAgICAgICAgICAgICAgb3V0ICs9IHg7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjb3V0IDw8IG91dCA8PCAnXG4nOwoKICAgIH0KCiAgICByZXR1cm4gMDsKfQ==