#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e6+10;
const int MOD=1e9+7;
const int base1=151,base2=131;
ll pow1[N],pow2[N],ha1[N],ha2[N];
char a[N],st[N];
int main()
{
int n;
pow1[0]=1;
pow2[0]=1;
for(int i=1;i<=2e6;i++)
{
pow1[i]=pow1[i-1]*base1%MOD;
pow2[i]=pow2[i-1]*base2%MOD;
}
scanf("%d%s",&n,a+1);
map<pair<ll,ll>,int> mp;
mp[make_pair(ha1[0],ha2[0])]++;
ll ans=0;
int tot=0;
for(int i=1;i<=n;i++)
{
if(st[tot]==a[i])
{
ha1[i]=(ha1[i-1]-a[i]*pow1[tot]%MOD+MOD)%MOD;
ha2[i]=(ha2[i-1]-a[i]*pow2[tot]%MOD+MOD)%MOD;
}
else
{
tot++;
st[tot]=a[i];
ha1[i]=(ha1[i-1]+a[i]*pow1[tot])%MOD;
ha2[i]=(ha2[i-1]+a[i]*pow2[tot])%MOD;
}
ans+=mp[make_pair(ha1[i],ha2[i])];
mp[make_pair(ha1[i],ha2[i])]++;
}
cout<<ans;
return 0;
}