#include <stdio.h>
#include <stdint.h>
#include <string.h>

struct rgb_struct {
        uint64_t r, g, b;
};

void rgb_count(struct rgb_struct *rgb, char c) {
        switch (c) {
        case 'R':
                ++rgb->r;
                break;
        case 'G':
                ++rgb->g;
                break;
        case 'B':
                ++rgb->b;
                break;
        }
}

int is_rgb(char x, char y, char z) {
        struct rgb_struct rgb = {0, 0, 0};

        rgb_count(&rgb, x);
        rgb_count(&rgb, y);
        rgb_count(&rgb, z);

        return (rgb.r == 1 && rgb.g == 1 && rgb.b == 1);
}

uint64_t solve(int k, char *s) {
        int i, j;
        struct rgb_struct rgb = {0, 0, 0};
        size_t size = strlen(s);
        uint64_t nr_sym = 0;

        for (i = 0; i < size; i++) {
                rgb_count(&rgb, s[i]);
        }

        for (i = 0; i < size; i++) {
                for (j = i + 2; j < size; j += 2) {
                        if (is_rgb(s[i], s[j], s[(j+i)/2]) == 1) {
                                ++nr_sym;
                        }
                }
        }

        return (rgb.r * rgb.g * rgb.b) - nr_sym;
}

int main() {
        int n;
        char s[4001];

        if (scanf("%4d %s", &n, s) == 0) {
                perror("scanf");
                return 1;
        }
        printf("%lld\n", solve(n, s));

        return 0;
}
