#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
void Code_By_Mohamed_Khaled() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
}
const ll mod=1e9+7;
ll add(ll a, ll b) { return ((a % mod) + (b % mod)) % mod; }
ll mul(ll a, ll b) { return ((a % mod) * (b % mod)) % mod; }
ll sub(ll a, ll b) { return ((a % mod) - (b % mod) + mod) % mod; }
ll sol(string&s) {
ll n=s.size();ll coun=0,i,cnt=0,mx=0;
for (i=0;i<n;i++) {
if (s[i]==s[0])cnt++;
else break;
}
for (;i<n;i++) {
if (s[i]==s[0])coun++;
else {
mx=max(mx,coun);
coun=0;
}
}
mx=max(mx,coun);
return mx+cnt;
}
int main() {
Code_By_Mohamed_Khaled();
ll t;cin>>t;
while (t--) {
ll n;string a;cin>>n>>a;
ll cnt=1,mx=0;
for (ll i=1;i<n;i++) {
if (a[i]==a[i-1])cnt++;
else {
mx=max(cnt,mx);
cnt=1;
}
}
mx=max(cnt,mx);
cout<<max(sol(a),mx)<<"\n";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnR5cGVkZWYgbG9uZyBsb25nIGxsOwp1c2luZyBuYW1lc3BhY2Ugc3RkOwp2b2lkIENvZGVfQnlfTW9oYW1lZF9LaGFsZWQoKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CiAgICBjb3V0LnRpZShudWxscHRyKTsKI2lmbmRlZiBPTkxJTkVfSlVER0UKICAgIGZyZW9wZW4oImlucHV0LnR4dCIsICJyIiwgc3RkaW4pOwogICAgZnJlb3Blbigib3V0cHV0LnR4dCIsICJ3Iiwgc3Rkb3V0KTsKI2VuZGlmCn0KY29uc3QgbGwgbW9kPTFlOSs3OwpsbCBhZGQobGwgYSwgbGwgYikgeyByZXR1cm4gKChhICUgbW9kKSArIChiICUgbW9kKSkgJSBtb2Q7IH0KbGwgbXVsKGxsIGEsIGxsIGIpIHsgcmV0dXJuICgoYSAlIG1vZCkgKiAoYiAlIG1vZCkpICUgbW9kOyB9CmxsIHN1YihsbCBhLCBsbCBiKSB7IHJldHVybiAoKGEgJSBtb2QpIC0gKGIgJSBtb2QpICsgbW9kKSAlIG1vZDsgfQpsbCBzb2woc3RyaW5nJnMpIHsKICAgIGxsIG49cy5zaXplKCk7bGwgY291bj0wLGksY250PTAsbXg9MDsKICAgIGZvciAoaT0wO2k8bjtpKyspIHsKICAgICAgICBpZiAoc1tpXT09c1swXSljbnQrKzsKICAgICAgICBlbHNlIGJyZWFrOwogICAgfQogICAgZm9yICg7aTxuO2krKykgewogICAgICAgIGlmIChzW2ldPT1zWzBdKWNvdW4rKzsKICAgICAgICBlbHNlIHsKICAgICAgICAgICAgbXg9bWF4KG14LGNvdW4pOwogICAgICAgICAgICBjb3VuPTA7CiAgICAgICAgfQogICAgfQogICAgbXg9bWF4KG14LGNvdW4pOwogICAgcmV0dXJuIG14K2NudDsKfQppbnQgbWFpbigpIHsKICAgIENvZGVfQnlfTW9oYW1lZF9LaGFsZWQoKTsKICAgIGxsIHQ7Y2luPj50OwogICAgd2hpbGUgKHQtLSkgewogICAgICAgIGxsIG47c3RyaW5nIGE7Y2luPj5uPj5hOwogICAgICAgIGxsIGNudD0xLG14PTA7CiAgICAgICAgZm9yIChsbCBpPTE7aTxuO2krKykgewogICAgICAgICAgICBpZiAoYVtpXT09YVtpLTFdKWNudCsrOwogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIG14PW1heChjbnQsbXgpOwogICAgICAgICAgICAgICAgY250PTE7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgbXg9bWF4KGNudCxteCk7CiAgICAgICAgY291dDw8bWF4KHNvbChhKSxteCk8PCJcbiI7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==