#include <bits/stdc++.h>
#define ll long long
#define all(v) v.begin(),v.end()
#define MASK(i) (1LL << (i))
#define ii pair<int,int>
#define fi first
#define se second
#define endl '\n'
#define forr(i,l,r,add) for(int i = l;i <= r; i = i + add)
#define fodd(i,l,r,sub) for(int i = l;i >= r ; i = i - sub)
template <typename T1, typename T2> bool minimize(T1 &a, T2 b) {if (a > b) {a = b; return true;} return false;}
template <typename T1, typename T2> bool maximize(T1 &a, T2 b) {if (a < b) {a = b; return true;} return false;}
using namespace std;
mt19937 rd(chrono::steady_clock::now().time_since_epoch().count());
#define rand rd
long long Rand(long long l , long long h){
assert(l <= h);
return l + 1ll * rd() % (h - l + 1) * (rd() % (h - l + 1)) % (h - l + 1);
}
//////////////////////////////////////////////////////////// end of template ////////////////////////////////////////////////////////////
const int MAX = 5e5 + 5;
int n;
int sum[MAX] , pre[MAX];
int a[MAX];
void INP(){
cin >> n;
forr(i , 1 , n , 1){
char x;
cin >> x;
int tmp = int(x) - int('0');
a[i] = tmp;
sum[i] = sum[i - 1] + (tmp ^ 1);
}
forr(i , 1 , n , 1){
if(a[i] == 1){
//cout << i << ' ';
int j = i - 1;
while(j >= 0){
if(a[j] == 1) break;
pre[sum[j]] = i;
j--;
}
//cout << j << endl;
}
}
int res = n - sum[n];
forr(num_0 , 1 , sum[n] , 1){
int nxt = pre[num_0];
//cout << nxt << endl;
if(nxt == 0) break;
int ans = 0;
while(sum[n] - sum[nxt] >= num_0){
if(pre[sum[nxt] + num_0] == 0){
ans++;
break;
}
ans++;
nxt = pre[sum[nxt] + num_0];
}
if(ans == 0) break;
maximize(res , ans + num_0 * (ans + 1));
//cout << num_0 << ' ' << ans << endl;
}
cout << res;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
#define TASK ""
//freopen(TASK".inp" , "r" , stdin);
//freopen(TASK".out" , "w" , stdout);
INP();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgYWxsKHYpIHYuYmVnaW4oKSx2LmVuZCgpCiNkZWZpbmUgTUFTSyhpKSAoMUxMIDw8IChpKSkKI2RlZmluZSBpaSBwYWlyPGludCxpbnQ+CiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBlbmRsICdcbicKI2RlZmluZSBmb3JyKGksbCxyLGFkZCkgZm9yKGludCBpID0gbDtpIDw9IHI7IGkgPSBpICsgYWRkKQojZGVmaW5lIGZvZGQoaSxsLHIsc3ViKSBmb3IoaW50IGkgPSBsO2kgPj0gciA7IGkgPSBpIC0gc3ViKQp0ZW1wbGF0ZSA8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyPiBib29sIG1pbmltaXplKFQxICZhLCBUMiBiKSB7aWYgKGEgPiBiKSB7YSA9IGI7IHJldHVybiB0cnVlO30gcmV0dXJuIGZhbHNlO30KdGVtcGxhdGUgPHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMj4gYm9vbCBtYXhpbWl6ZShUMSAmYSwgVDIgYikge2lmIChhIDwgYikge2EgPSBiOyByZXR1cm4gdHJ1ZTt9IHJldHVybiBmYWxzZTt9Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKbXQxOTkzNyByZChjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkudGltZV9zaW5jZV9lcG9jaCgpLmNvdW50KCkpOwojZGVmaW5lIHJhbmQgcmQKCmxvbmcgbG9uZyBSYW5kKGxvbmcgbG9uZyBsICwgbG9uZyBsb25nIGgpewoJYXNzZXJ0KGwgPD0gaCk7CglyZXR1cm4gbCArIDFsbCAqIHJkKCkgJSAoaCAtIGwgKyAxKSAqIChyZCgpICUgKGggLSBsICsgMSkpICUgKGggLSBsICsgMSk7Cn0KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gZW5kIG9mIHRlbXBsYXRlIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKY29uc3QgaW50IE1BWCA9IDVlNSArIDU7CmludCBuOwppbnQgc3VtW01BWF0gLCBwcmVbTUFYXTsKaW50IGFbTUFYXTsKCnZvaWQgSU5QKCl7CiAgICBjaW4gPj4gbjsKICAgIGZvcnIoaSAsIDEgLCBuICwgMSl7CiAgICAgICAgY2hhciB4OwogICAgICAgIGNpbiA+PiB4OwogICAgICAgIGludCB0bXAgPSBpbnQoeCkgLSBpbnQoJzAnKTsKICAgICAgICBhW2ldID0gdG1wOwogICAgICAgIHN1bVtpXSA9IHN1bVtpIC0gMV0gKyAodG1wIF4gMSk7CgogICAgfQogICAgZm9ycihpICwgMSAsIG4gLCAxKXsKICAgICAgICBpZihhW2ldID09IDEpewogICAgICAgICAgICAvL2NvdXQgPDwgaSA8PCAnICc7CiAgICAgICAgICAgIGludCBqID0gaSAtIDE7CiAgICAgICAgICAgIHdoaWxlKGogPj0gMCl7CiAgICAgICAgICAgICAgICBpZihhW2pdID09IDEpIGJyZWFrOwogICAgICAgICAgICAgICAgcHJlW3N1bVtqXV0gPSBpOwogICAgICAgICAgICAgICAgai0tOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vY291dCA8PCBqIDw8IGVuZGw7CiAgICAgICAgfQogICAgfQogICAgaW50IHJlcyA9IG4gLSBzdW1bbl07CiAgICBmb3JyKG51bV8wICwgMSAsIHN1bVtuXSAsIDEpewogICAgICAgIGludCBueHQgPSBwcmVbbnVtXzBdOwogICAgICAgIC8vY291dCA8PCBueHQgPDwgZW5kbDsKICAgICAgICBpZihueHQgPT0gMCkgYnJlYWs7CiAgICAgICAgaW50IGFucyA9IDA7CiAgICAgICAgd2hpbGUoc3VtW25dIC0gc3VtW254dF0gPj0gbnVtXzApewogICAgICAgICAgICBpZihwcmVbc3VtW254dF0gKyBudW1fMF0gPT0gMCl7CiAgICAgICAgICAgICAgICBhbnMrKzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGFucysrOwogICAgICAgICAgICBueHQgPSBwcmVbc3VtW254dF0gKyBudW1fMF07CiAgICAgICAgfQogICAgICAgIGlmKGFucyA9PSAwKSBicmVhazsKICAgICAgICBtYXhpbWl6ZShyZXMgLCBhbnMgKyBudW1fMCAqIChhbnMgKyAxKSk7CiAgICAgICAgLy9jb3V0IDw8IG51bV8wIDw8ICcgJyA8PCBhbnMgPDwgZW5kbDsKICAgIH0KICAgIGNvdXQgPDwgcmVzOwp9CgppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZSgwKTsKICAgIGNvdXQudGllKDApOwogICAgI2RlZmluZSBUQVNLICIiCiAgICAvL2ZyZW9wZW4oVEFTSyIuaW5wIiAsICJyIiAsIHN0ZGluKTsKICAgIC8vZnJlb3BlbihUQVNLIi5vdXQiICwgInciICwgc3Rkb3V0KTsKICAgIElOUCgpOwogICAgcmV0dXJuIDA7Cn0K