#include <bits/stdc++.h>
using namespace std;
int solve_for(char king, const string &s){
int n = s.size();
vector<int> pref(n+1, 0);
for(int i = 1; i <= n; i++){
if(s[i-1] == king) pref[i] = pref[i-1] + 1;
else pref[i] = pref[i-1] - 1;
}
stack<int> st;
for(int i = 0; i <= n; i++){
if(st.empty() || pref[i] < pref[st.top()])
st.push(i);
}
int ans = 0;
for(int r = n; r >= 0; r--){
while(!st.empty() && pref[r] > pref[st.top()]){
ans = max(ans, r - st.top());
st.pop();
}
}
return ans;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
string s;
cin >> s;
int ans = 0;
ans = max(ans, solve_for('a', s));
ans = max(ans, solve_for('b', s));
ans = max(ans, solve_for('c', s));
cout << ans << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgc29sdmVfZm9yKGNoYXIga2luZywgY29uc3Qgc3RyaW5nICZzKXsKICAgIGludCBuID0gcy5zaXplKCk7CiAgICB2ZWN0b3I8aW50PiBwcmVmKG4rMSwgMCk7CgogICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspewogICAgICAgIGlmKHNbaS0xXSA9PSBraW5nKSBwcmVmW2ldID0gcHJlZltpLTFdICsgMTsKICAgICAgICBlbHNlIHByZWZbaV0gPSBwcmVmW2ktMV0gLSAxOwogICAgfQoKICAgIHN0YWNrPGludD4gc3Q7CiAgICBmb3IoaW50IGkgPSAwOyBpIDw9IG47IGkrKyl7CiAgICAgICAgaWYoc3QuZW1wdHkoKSB8fCBwcmVmW2ldIDwgcHJlZltzdC50b3AoKV0pCiAgICAgICAgICAgIHN0LnB1c2goaSk7CiAgICB9CgogICAgaW50IGFucyA9IDA7CiAgICBmb3IoaW50IHIgPSBuOyByID49IDA7IHItLSl7CiAgICAgICAgd2hpbGUoIXN0LmVtcHR5KCkgJiYgcHJlZltyXSA+IHByZWZbc3QudG9wKCldKXsKICAgICAgICAgICAgYW5zID0gbWF4KGFucywgciAtIHN0LnRvcCgpKTsKICAgICAgICAgICAgc3QucG9wKCk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIGFuczsKfQoKaW50IG1haW4oKXsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CgogICAgaW50IG47CiAgICBjaW4gPj4gbjsKICAgIHN0cmluZyBzOwogICAgY2luID4+IHM7CgogICAgaW50IGFucyA9IDA7CiAgICBhbnMgPSBtYXgoYW5zLCBzb2x2ZV9mb3IoJ2EnLCBzKSk7CiAgICBhbnMgPSBtYXgoYW5zLCBzb2x2ZV9mb3IoJ2InLCBzKSk7CiAgICBhbnMgPSBtYXgoYW5zLCBzb2x2ZV9mb3IoJ2MnLCBzKSk7CgogICAgY291dCA8PCBhbnMgPDwgJ1xuJzsKfQo=