#include<iostream>
#include<stdio.h>
using namespace std;
typedef long long int ll;
ll pre1[1000010],pre2[1000010],wz[1000010];
//ll read(){
// char a=getchar();
// ll qwq=0;
// while(a<'0'||a>'9'){
// a=getchar();
// }
// while(a>='0'&&a<='9'){
// qwq*=10;
// qwq+=a-'0';
// a=getchar();
// }
// return qwq;
//}
int cun[6];
int main() {
// freopen("in.txt","r",stdin);
// freopen("out.txt","w",stdout);
int n;
cin>>n;
char in;
scanf("%c",&in);
for(int i=1; i<=n; i++) {
in=getchar();
wz[i]=(in=='G'?1:2);
int cz;
if(in=='G')
cz=1;
if(in=='H')
cz=0;
pre1[i]=pre1[i-1]+cz;
pre2[i]=pre2[i-1]+(cz^1);
}
ll sum=0;
for(ll i=1; i<=n-2; i++) {
// ll end=i+2;
ll r=n,l=i;
while(l<r&&r-l>1) {
if(pre1[r]-pre1[l-1]==1||pre2[r]-pre2[l-1]==1) {
sum+=r-l-1;
break;
}
int mid=(l+r)>>1;
if(pre1[mid]-pre1[l-1]>1||pre2[mid]-pre2[l-1]>1) {
r=mid;
} else {
// if(pre1[mid]-pre1[l-1]==1||pre2[mid]-pre2[l-1]==1) {
// sum+=mid-l-1;
// break;
// } else {
l=mid;
// }
}
}
// while((pre1[end]-pre1[i-1]==1||pre2[end]-pre2[i-1]==1)&&end<=n){
// sum++;
// end++;
// }
}
cout<<sum;
return 0;
}