#include <bits/stdc++.h>
#define endl "\n"
#define Dark_knight
#include <complex.h>
#include<ext/pb_ds/assoc_container.hpp>
#include<ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
using namespace std;
typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> orderedSet;
typedef long long ll;
#define int long long
const int N = 2e5 + 2;
const int mod = 1073741824;
long long arr[N]={};
long long pref[N]={};
int lcm(int a , int b ) {
return a/__gcd(a,b) *b;
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int t ;
cin >> t;
while(t--) {
int n ;
cin >> n ;
string s ;
cin >> s;
int ctr = 0 , mx = 0 ;
for(int i = 0 ; i < n ; i++) {
if(s[i]=='0') {
ctr++;
}
else {
mx=max(ctr,mx);
ctr=0;
}
}
mx=max(ctr,mx);
int begin = 0 ;
for(int i = 0 ; i < n ; i++) {
if(s[i]=='0') {
begin++;
}
else {
break;
}
}
int trail = 0 ;
for(int i = n-1 ; i >= 0 ; i++ ) {
if(s[i]=='0') {
trail++;
}
else {
break;
}
}
cout<<max(mx,begin+trail)<<endl;
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgZW5kbCAiXG4iCiNkZWZpbmUgRGFya19rbmlnaHQKI2luY2x1ZGUgPGNvbXBsZXguaD4KI2luY2x1ZGU8ZXh0L3BiX2RzL2Fzc29jX2NvbnRhaW5lci5ocHA+CiNpbmNsdWRlPGV4dC9wYl9kcy90cmVlX3BvbGljeS5ocHA+CnVzaW5nIG5hbWVzcGFjZSBfX2dudV9wYmRzOwp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0eXBlZGVmIHRyZWU8aW50LCBudWxsX3R5cGUsIGxlc3M8aW50PiwgcmJfdHJlZV90YWcsIHRyZWVfb3JkZXJfc3RhdGlzdGljc19ub2RlX3VwZGF0ZT4gb3JkZXJlZFNldDsKdHlwZWRlZiBsb25nIGxvbmcgbGw7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwpjb25zdCBpbnQgTiA9IDJlNSArIDI7CmNvbnN0IGludCBtb2QgPSAxMDczNzQxODI0Owpsb25nIGxvbmcgYXJyW05dPXt9Owpsb25nIGxvbmcgcHJlZltOXT17fTsKaW50IGxjbShpbnQgYSAsIGludCBiICkgewogICAgcmV0dXJuICBhL19fZ2NkKGEsYikgKmI7Cn0Kc2lnbmVkIG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogICAgY291dC50aWUobnVsbHB0cik7CiAgICBpbnQgdCA7CiAgICBjaW4gID4+IHQ7CiAgICB3aGlsZSh0LS0pIHsKICAgICAgICBpbnQgbiA7CiAgICAgICAgY2luID4+IG4gOwogICAgICAgIHN0cmluZyBzIDsKICAgICAgICBjaW4gPj4gczsKICAgICAgICBpbnQgY3RyID0gMCAsIG14ID0gMCAgOwogICAgICAgIGZvcihpbnQgaSA9IDAgOyAgaSA8IG4gOyBpKyspIHsKICAgICAgICAgICAgaWYoc1tpXT09JzAnKSB7CiAgICAgICAgICAgICAgICBjdHIrKzsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIG14PW1heChjdHIsbXgpOwogICAgICAgICAgICAgICAgY3RyPTA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgbXg9bWF4KGN0cixteCk7CiAgICAgICAgaW50IGJlZ2luID0gMCA7CiAgICAgICAgZm9yKGludCBpID0gMCA7ICBpIDwgbiA7IGkrKykgewogICAgICAgICAgICBpZihzW2ldPT0nMCcpIHsKICAgICAgICAgICAgICAgIGJlZ2luKys7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGludCB0cmFpbCA9IDAgOwogICAgICAgIGZvcihpbnQgaSA9IG4tMSA7IGkgPj0gMCA7IGkrKyApIHsKICAgICAgICAgICAgaWYoc1tpXT09JzAnKSB7CiAgICAgICAgICAgICAgICB0cmFpbCsrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY291dDw8bWF4KG14LGJlZ2luK3RyYWlsKTw8ZW5kbDsKCiAgICB9Cgp9CgoK