#include <bits/stdc++.h>
using namespace std;

#define rep(i, n) for(int i = 0; i < (int64_t)(n); i++)

int N;
string S;

void solve() {
    cin >> N >> S;
    int64_t count = 0;
    vector<int64_t> R(N + 1), G(N + 1), B(N + 1);
    R.at(0) = 0;
    G.at(0) = 0;
    B.at(0) = 0;

    rep(i, N) {
        if (S.at(i) == 'R') {
            R.at(i + 1) = R.at(i) + 1;
            G.at(i + 1) = G.at(i);
            B.at(i + 1) = B.at(i);
        }
        else if (S.at(i) == 'G') {
            R.at(i + 1) = R.at(i);
            G.at(i + 1) = G.at(i) + 1;
            B.at(i + 1) = B.at(i);
        }
        else {
            R.at(i + 1) = R.at(i);
            G.at(i + 1) = G.at(i);
            B.at(i + 1) = B.at(i) + 1;
        }
    }

    rep(i, N) {
        for (int j = i + 1; j < N; j++) {
            if (S.at(i) != S.at(j)) {
                if ((S.at(i) == 'R' && S.at(j) == 'G') || (S.at(i) == 'G' && S.at(j) == 'R')) {
                    count += (B.at(N) - B.at(j));
                }
                else if ((S.at(i) == 'R' && S.at(j) == 'B') || (S.at(i) == 'B' && S.at(j) == 'R')) {
                    count += (G.at(N) - G.at(j));
                }
                else {
                    count += (R.at(N) - R.at(j));
                }
                if (2 * j - i < N) {
                    if (S.at(2 * j - i) != S.at(i) && S.at(2 * j - i) != S.at(j)) {
                        count--;
                    }
                }
            }
        }
    }

    cout << count << endl;
    return;
}

int main() {
    solve();
}
