#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll pp=131,ans,p[1000010],hl[1000010],hr[1000010],n;
string s,t;
void find(ll x){
ll l=0,r=min(x,n-x);
while(l<r){
ll mid=(l+r+1)>>1;
if(hl[x]-hl[x-mid]*p[mid]==hr[x+1]-hr[x+1+mid]*p[mid]){
l=mid;
}else{
r=mid-1;
}
}
ans+=l;
}
void read(){
cin>>n>>s;
p[0]=1;
for(ll i=0;i<n;++i){
s[i]=='1'?t[i]='0':t[i]='1';
}
for(ll i=1;i<=n;++i)p[i]=p[i-1]*pp;
for(ll i=1;i<=n;++i)hl[i]=hl[i-1]*pp+s[i-1];
for(ll i=n;i>=1;--i)hr[i]=hr[i+1]*pp+t[i-1];
for(ll i=1;i<n;++i){
find(i);
}
}
int main(){
read();
printf("%lld",ans);
return 0;
}