//#pragma GCC optimize "trapv"
#include<bits/stdc++.h>
using std::cout;
using std::cin;
using namespace std;
typedef long long int lli;
typedef unsigned long long int ulli;
typedef long double ld;
#define S 5000001
#define M 1000000007
#define nl cout<<"\n";
#define er  cout<<"\n***********\n";
#define fast ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define test lli t;  cin>>t; while(t--)
#define f0(s,a,b) for(lli s=a;s<b;s++)
#define f1(s,a,b) for(lli s=a;s<=b;s++)
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define T 100
#define print(x) cout<< #x <<"=" <<x<<"\n";


int main()
{
     fast
     char  str[100000];
     lli n;
     cin>>n>>str;
     lli g[n]={0},r[n]={0},b[n]={0};
     for(lli i=n-1;i>=0;i--)
     {
         if(i==n-1)
         {
             g[i]=0;
             r[i]=0;
            b[i]=0;
         }
         else
         {
            
            if(str[i+1]=='G') 
            g[i]=g[i+1]+1;
            else
            g[i]=g[i+1];


            if(str[i+1]=='R') 
            r[i]=r[i+1]+1;
            else
            r[i]=r[i+1];

            if(str[i+1]=='B') 
            b[i]=b[i+1]+1;
            else
            b[i]=b[i+1];



         }
         
     }
    //  for(lli i=0;i<n;i++)
    //  {
    //     print(g[i]) 
    //     print(b[i])
    //     print(r[i])
    //  }

lli ans=0;

    for(lli i=0;i<n;i++)
    {
            for(lli j=i+1;j<n;j++)
            {
                if(str[i]!=str[j])
                {
                    if((str[i]=='R'&&str[j]=='G')||(str[i]=='G'&&str[j]=='R'))
                    {

                        ans=ans+b[j];
                        // cout<<"a =";
                        // er
                        // print(i)
                        // print(j)
                        if((2*j-i)<n&&str[2*j-i]=='B')
                        {
                            ans=ans-1;
                            // cout<<1<<"\n";
                        }
                   // print(ans)
                    }
                    else  if((str[i]=='R'&&str[j]=='B')||(str[i]=='B'&&str[j]=='R'))
                    {
                        ans=ans+g[j];
                        //  cout<<"b =";
                        // er
                        // print(i)
                        // print(j)
                        if((2*j-i)<n&&str[2*j-i]=='G')
                        {
                            ans=ans-1;
                            // cout<<2<<"\n";
                        }
                        // print(ans)
                    }

                        else  if((str[i]=='G'&&str[j]=='B')||(str[i]=='B'&&str[j]=='G'))
                    {
                            ans=ans+r[j];
                        //      cout<<"c =";
                        //     er
                        // print(i)
                        // print(j)
                            if((2*j-i)<n&&str[2*j-i]=='R')
                        {
                            ans=ans-1;
                            // cout<<3<<"\n";
                        }
                        //  print(ans)
                    }                    
                }
            }
    }

    cout<<ans;

    
}

Measured memory_bytes: 3724