#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
typedef long long ll;
const int N = 5e5 + 10;
int n;
string s;
int p[N << 1];
ll ans;
inline bool check(char a, char b)
{
if (a == '#')
return b == '#';
if (!isdigit(a) || !isdigit(b))
return 0;
return (a - '0') ^ (b - '0');
}
inline void manacher()
{
string tmp = "$#";
for (int i = 0; i < s.size(); i++)
tmp += s[i], tmp += '#';
tmp += '^';
int mid = 0, max_r = 0;
for (int i = 1; i < tmp.size() - 1; i++)
{
if (i <= max_r)
p[i] = min({p[2 * mid - i], max_r - i + 1, i - mid});
else
p[i] = 1;
while (check(tmp[i + p[i]], tmp[i - p[i]]))
p[i]++;
if (i + p[i] - 1 > max_r)
max_r = i + p[i] - 1, mid = i;
if (tmp[i] == '#')
ans += (p[i] - 1) / 2;
}
}
int main(int argc, char const *argv[])
{
ios::sync_with_stdio(false);
cin.tie(nullptr), cout.tie(nullptr);
cin >> n >> s;
manacher();
cout << ans << endl;
return 0;
}