
#pragma warning (disable:4996)
#include <iostream>
#include <algorithm>
#include <iomanip>
#include <cstring>
#include <string>
#include <cstdio>
#include <cmath>
#include <vector>
#include <stack>
#include <queue>
#include <map>
#include <set>
#define inf 0X3f3f3f3f
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int maxn = 1e5 + 20;
int a[maxn];
int pos[maxn * 2];
int main() {
int n;
while (scanf("%d", &n) != EOF) {
string str;
cin >> str;
for (int i = 1; i <= n; i++) {
str[i - 1] == '0' ? a[i] = -1 : a[i] = 1;
}
int sum = 0, ans = 0;
for (int i = 1; i <= n; i++) {
sum += a[i];
if (sum == 0) {
ans = max(ans, i);
continue;
}
int tmp = sum;
if (tmp < 0) {
tmp = -tmp + n;
}
if (!pos[tmp])
pos[tmp] = i;
else
ans = max(ans, i - pos[tmp]);
}
printf("%d\n", ans);
}
return 0;
}