//注释掉的cout是调试时用的
#include <bits/stdc++.h>
using namespace std;
const int N=2e6;
int f[N+5][N+5]={0};
long long sum=0;
string s;
bool check(int x,int y)
{
if(f[x][y]==1)
{
return true;
}
if(f[x][y]==2)
{
return false;
}
if(y-x==1&&s[x]==s[y])
{
f[x][y]=1;
return true;
}
if(x<y&&check(x+1,y-1)==true&&s[x]==s[y])
{
f[x][y]=1;
return true;
}
f[x][y]=2;
return false;
}
int main()
{
int n;
scanf("%d",&n);
cin>>s;
for(int i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
if((j-i)%2==0)
{
continue;
}
else
{
cout<<"check"<<endl;
if(check(i,j)==true)
{
sum++;
}
}
}
}
printf("%lld",sum);
return 0;
}