#include<bits/stdc++.h>
#define ll long long
#define endl "\n"
#define F first
#define S second
#define loop(a,n) for(int i=a; i<=n ; i++)
#define TIME (1.0 * clock() / CLOCKS_PER_SEC)
#define NAME "Dance"
using namespace std;
int a[1000],f[1000],n,res=0;
string s;
void nhap(){
cin >> n;
cin>>s;
s=' '+s;
for(int i=1;i<=n;++i) {
if(s[i]=='A' || s[i] == 'a') a[i] = -1;
if(s[i]=='B' || s[i] == 'b') a[i] = 1;
}
}
void solve(){
a[0]=0;
f[0]=0;
for(int i=1;i<=n;++i) f[i]=f[i-1]+a[i];
for(int i=1;i<=n-1;++i) {
for(int j=i+1;j<=n;++j) {
if (f[j] - f[i-1]==0) res++;
}
}
cout<<res;
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
freopen(NAME".INP","r",stdin);
freopen(NAME".OUT","w",stdout);
nhap();
solve();
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBlbmRsICJcbiIKI2RlZmluZSBGIGZpcnN0CiNkZWZpbmUgUyBzZWNvbmQKI2RlZmluZSBsb29wKGEsbikgZm9yKGludCBpPWE7IGk8PW4gOyBpKyspCiNkZWZpbmUgVElNRSAoMS4wICogY2xvY2soKSAvIENMT0NLU19QRVJfU0VDKQojZGVmaW5lIE5BTUUgIkRhbmNlIgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgYVsxMDAwXSxmWzEwMDBdLG4scmVzPTA7CnN0cmluZyBzOwp2b2lkIG5oYXAoKXsKICAgIGNpbiA+PiBuOwogICAgY2luPj5zOwogICAgcz0nICcrczsKICAgIGZvcihpbnQgaT0xO2k8PW47KytpKSB7CiAgICAgICAgaWYoc1tpXT09J0EnIHx8IHNbaV0gPT0gJ2EnKSBhW2ldID0gLTE7CiAgICAgICAgaWYoc1tpXT09J0InIHx8IHNbaV0gPT0gJ2InKSBhW2ldID0gMTsKICAgIH0KfQp2b2lkIHNvbHZlKCl7CiAgICBhWzBdPTA7CiAgICBmWzBdPTA7CiAgICBmb3IoaW50IGk9MTtpPD1uOysraSkgZltpXT1mW2ktMV0rYVtpXTsKICAgIGZvcihpbnQgaT0xO2k8PW4tMTsrK2kpIHsKICAgICAgICBmb3IoaW50IGo9aSsxO2o8PW47KytqKSB7CiAgICAgICAgICAgIGlmIChmW2pdIC0gZltpLTFdPT0wKSByZXMrKzsKICAgICAgICB9CiAgICB9CiAgICBjb3V0PDxyZXM7Cn0KCmludCBtYWluKCl7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTtjb3V0LnRpZSgwKTsKICAgIGZyZW9wZW4oTkFNRSIuSU5QIiwiciIsc3RkaW4pOwogICAgZnJlb3BlbihOQU1FIi5PVVQiLCJ3IixzdGRvdXQpOwogICAgbmhhcCgpOwogICAgc29sdmUoKTsKICAgIAogICAgcmV0dXJuIDA7Cn0=