#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(i,n) for (ll i = 0; i < (n); i++)
typedef pair<int, int> P;

ll gcd(ll a, ll b) { return b?gcd(b,a%b):a;}
ll lcm(ll a, ll b) { return a/gcd(a,b)*b;}

int main(){
    ll n;
    cin >> n;
    vector<ll> r;
    vector<ll> b;
    vector<ll> g;
    string s;
    cin >> s;
    rep(i,n){
        if(s[i]=='R'){
            r.push_back(i+1);
        }else if(s[i]=='B'){
            b.push_back(i+1);
        }else{
            g.push_back(i+1);
        }
    }
    ll ans = 0;
    ll tmp;
    for(ll i = 0; i < r.size(); i++){
        tmp = r[i];
        auto itr1 = lower_bound(b.begin(), b.end(), tmp);
        int id1 = distance(b.begin(), itr1);
        if(id1 != b.size()){
            for(ll k = id1; k < b.size(); k++){
                auto itr2 = lower_bound(g.begin(), g.end(), b[k]);
                int id2 = distance(g.begin(), itr2);

                if(id2 != g.size()){
                    for(ll j = id2; j < g.size();j++){
                        if(b[k]-r[i]!=g[j]-b[k]){
                            ans++;
                        }
                    }
                }
            }
        }

        itr1 = lower_bound(g.begin(), g.end(), tmp);
        id1 = distance(g.begin(), itr1);
        if(id1 != g.size()){
            for(ll k = id1; k < g.size(); k++){
                auto itr2 = lower_bound(b.begin(), b.end(), g[k]);
                int id2 = distance(b.begin(), itr2);

                if(id2 != b.size()){
                    for(ll j = id2; j < b.size();j++){
                        if(g[k]-r[i]!=b[j]-g[k]){
                            ans++;
                        }
                    }
                }
            }
        }
    }
    // cout << ans << endl;

    for(ll i = 0; i < b.size(); i++){
        tmp = b[i];
        auto itr1 = lower_bound(r.begin(), r.end(), tmp);
        int id1 = distance(r.begin(), itr1);
        if(id1 != r.size()){
            for(ll k = id1; k < r.size(); k++){
                auto itr2 = lower_bound(g.begin(), g.end(), r[k]);
                int id2 = distance(g.begin(), itr2);

                if(id2 != g.size()){
                    for(ll j = id2; j < g.size();j++){
                        if(r[k]-b[i]!=g[j]-r[k]){
                            ans++;
                        }
                    }
                }
            }
        }

        itr1 = lower_bound(g.begin(), g.end(), tmp);
        id1 = distance(g.begin(), itr1);
        if(id1 != g.size()){
            for(ll k = id1; k < g.size(); k++){
                auto itr2 = lower_bound(r.begin(), r.end(), g[k]);
                int id2 = distance(r.begin(), itr2);

                if(id2 != r.size()){
                    for(ll j = id2; j < r.size();j++){
                        if(g[k]-b[i]!=r[j]-g[k]){
                            ans++;
                        }
                    }
                }
            }
        }
    }
    // cout << ans << endl;

    for(ll i = 0; i < g.size(); i++){
        tmp = g[i];
        auto itr1 = lower_bound(b.begin(), b.end(), tmp);
        int id1 = distance(b.begin(), itr1);
        if(id1 != b.size()){
            for(ll k = id1; k < b.size(); k++){
                auto itr2 = lower_bound(r.begin(), r.end(), b[k]);
                int id2 = distance(r.begin(), itr2);

                if(id2 != r.size()){
                    for(ll j = id2; j < r.size();j++){
                        if(b[k]-g[i]!=r[j]-b[k]){
                            ans++;
                        }
                    }
                }
            }
        }

        itr1 = lower_bound(r.begin(), r.end(), tmp);
        id1 = distance(r.begin(), itr1);
        if(id1 != r.size()){
            for(ll k = id1; k < r.size(); k++){
                auto itr2 = lower_bound(b.begin(), b.end(), r[k]);
                int id2 = distance(b.begin(), itr2);

                if(id2 != b.size()){
                    for(ll j = id2; j < b.size();j++){
                        if(r[k]-g[i]!=b[j]-r[k]){
                            ans++;
                        }
                    }
                }
            }
        }
    }




    cout << ans << endl;
    return 0;
}  


Measured memory_bytes: 3656