#include<bits/stdc++.h>
#define ull unsigned long long
#define ll long long
using namespace std;
const int N = 5e5 + 20;
ll n, tot = 0, d[N<<1], l = 1, r = 0, ans = 0, mid = 0;
char x[N], s[N], to[N];
int main (){
cin >> n;
cin >> x+1;
s[0] = '$';
to['1'] = '0', to['0'] = '1', to['#'] = '#', to['$'] = '$';
for(int i = 1; i <= n; i++) {
s[++tot] = '#';
s[++tot] = x[i];
}
s[++tot] = '#';
for(int i = 1; i <= tot; i+= 2) {
if(i <= r) d[i] = min(d[2 * mid - i], r - i + 1);
while(to[s[i + d[i]]] == s[i - d[i]]) d[i]++;
if(i + d[i] > r) mid = i, r = i + d[i] - 1;
if(i % 2 == 1) ans += (d[i] - 1) / 2;
}
printf("%lld", ans);
return 0;
}