#include<bits/stdc++.h>
#define int unsigned long long
using namespace std;
const int N = 2e6 + 9,P = 13331;
int n;
char s[N];
int pow_P[N],stk_Hash;
stack<int>stk;
map<int,int>Hash;
int ans;
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin >> n;
cin >> (s + 1);
Hash[0]++;
stk.push(1);
stk_Hash = s[1];
Hash[stk_Hash]++;
for(int i = 2;i <= n;i++){
if(stk.empty()){
stk.push(i);
stk_Hash = (stk_Hash * P) + s[i];
}
else if(s[i] == s[stk.top()]){
stk.pop();
if(stk.empty())
stk_Hash = 0;
else
stk_Hash = (stk_Hash - s[stk.top()]) / P;
}
else{
stk.push(i);
stk_Hash = (stk_Hash * P) + s[i];
}
int cnt = Hash[stk_Hash];
ans -= (cnt * (cnt - 1) >> 1);
cnt++;Hash[stk_Hash]++;
ans += (cnt * (cnt - 1) >> 1);
}
cout << ans;
return 0;
}