#include<bits/stdc++.h>
#include <iostream>
#include <sstream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <cctype>
#include <string>
#include <vector>
#include <list>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <algorithm>
#include <functional>
using namespace std; 
#define DEBUG(x) cout << '>' << #x << ':' << x << endl;
#define REP(i,n) for(int i=0;i<(n);i++)
#define FOR(i,a,b) for(int i=(a);i<=(b);i++)
#define FORD(i,a,b) for(int i=(a);i>=(b);i--)
inline bool EQ(double a, double b) { return fabs(a-b) < 1e-9; }
const int INF = 1<<29;
typedef long long int ll;
inline int two(int n) { return 1 << n; }
inline int test(int n, int b) { return (n>>b)&1; }
inline void set_bit(int & n, int b) { n |= two(b); }
inline void unset_bit(int & n, int b) { n &= ~two(b); }
inline int last_bit(int n) { return n & (-n); }
inline int ones(int n) { int res = 0; while(n && ++res) n-=n&(-n); return res; }
template<class T> void chmax(T & a, const T & b) { a = max(a, b); }
template<class T> void chmin(T & a, const T & b) { a = min(a, b); }
const int MOD=1000000007;

bool isPowerOfTwo (ll x)  
{  
    return x && (!(x&(x-1)));  
}
bool isPrime(int n) 
{ 
    if (n <= 1)  return false; 
    if (n <= 3)  return true; 
    if (n%2 == 0 || n%3 == 0) return false; 
  
    for (int i=5; i*i<=n; i=i+6) 
        if (n%i == 0 || n%(i+2) == 0) 
           return false; 
  
    return true; 
}
int highestPowerof2(unsigned int n) 
{ 
    // Invalid input 
    if (n < 1) 
        return 0; 
  
    int res = 1;
    for (int i=0; i<8*sizeof(unsigned int); i++) 
    { 
        int curr = 1 << i; 
        if (curr > n) 
           break; 
  
        res = curr; 
    } 
  
    return res; 
} 
long long binpow(long long a, long long b) {
    long long res = 1;
    while (b > 0) {
        if (b & 1)
            res = res * a;
        a = a * a;
        b >>= 1;
    }
    return res;
}       
////////////////////////////////////////////////////////////////////
int red[4005]{};
int blue[4005]{};
int green[4005]{};
int main()
{
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);  
  cout.tie(NULL);
  int t=1;
  while(t--)
  {
    int n;
    cin>>n;
    string s;
    cin>>s;
    ll sum=0;
    REP(i,n)
    {
        if(s[i]=='R')red[i]++;
        else if(s[i]=='B')blue[i]++;
        else green[i]++;
        if(i)
        {
            red[i]+=red[i-1];
            blue[i]+=blue[i-1];
            green[i]+=green[i-1];
        }
    }
    for(int i=0;i<n-1;i++)
    {
        for(int j=i+1;j<n;j++)
        {
            if((s[i]=='R' && s[j]=='G') ||(s[i]=='G' && s[j]=='R'))
            {
                sum+=blue[n-1]-blue[j-1];
                if(s[j+j-i]=='B' && j+j-i<n)sum--;
            }
           else if((s[i]=='R' && s[j]=='B') ||(s[i]=='B' && s[j]=='R'))
            {
                sum+=green[n-1]-green[j-1];
                if(s[j+j-i]=='G' && j+j-i<n)sum--;
            }
            if((s[i]=='B' && s[j]=='G') ||(s[i]=='G' && s[j]=='B'))
            {
                sum+=red[n-1]-red[j-1];
                if(s[j+j-i]=='R' && j+j-i<n)sum--;
            }
        }
    }
    cout<<sum;
  }
  return 0;
}

Measured memory_bytes: 3652