#include <bits/stdc++.h>
using namespace std;
int n;
string s;
unsigned long long f[5000005], g[5000005], p[5000005];
int main()
{
p[0] = 1;
cin >> n >> s;
for (int i = 1; i <= n; i++) p[i] = p[i-1] * 131;
for (int i = 1; i <= n; i++) f[i] = f[i-1] * 131 + (s[i-1] - '0');
for (int i = n; i >= 1; i--) g[i] = g[i+1] * 131 + ((s[i-1] - '0') ^ 1);
unsigned long long cnt = 0;
for (int i = 1; i <= n; i++)
{
int l = 0, r = min(i-1, n-i);
while (l < r)
{
int mid = (l + r + 1) / 2;
if (f[i] - f[i-mid] * p[mid] == g[i+1] - g[i+1+mid] * p[mid])
{
l = mid;
}
else
{
r = mid - 1;
}
}
cnt += l;
}
cout << cnt << endl;
return 0;
}