import java.io.{BufferedOutputStream, BufferedReader, InputStreamReader, PrintWriter}

import scala.collection.mutable

object Main {
  def main(args: Array[String]): Unit = {
    val in = new BufferedReader(new InputStreamReader(System.in))
    val out = new PrintWriter(new BufferedOutputStream(System.out))
    val n = in.readLine().toInt
    val s = in.readLine()

    val rc = Array.ofDim[Int](n)
    val gc = Array.ofDim[Int](n)
    val bc = Array.ofDim[Int](n)

    for (i <- n - 1 to 0 by -1) {
      s(i) match {
        case 'R' => rc(i) = 1
        case 'G' => gc(i) = 1
        case 'B' => bc(i) = 1
      }
      if (i != n - 1) {
        rc(i) += rc(i + 1)
        gc(i) += gc(i + 1)
        bc(i) += bc(i + 1)
      }
    }

    var count = 0L

    for (i <- 0 until n - 2) {
      for (j <- i + 1 until n - 1) {
        if (s(i) != s(j)) {
          count += {
            List('R', 'G', 'B').filter(c => c != s(i) && c != s(j)).head match {
              case 'R' => rc(j + 1) - {
                if (j + j - i < n && s(j + j - i) == 'R') {
                  1
                } else {
                  0
                }
              }
              case 'G' => gc(j + 1) - {
                if (j + j - i < n && s(j + j - i) == 'G') {
                  1
                } else {
                  0
                }
              }
              case 'B' => bc(j + 1) - {
                if (j + j - i < n && s(j + j - i) == 'B') {
                  1
                } else {
                  0
                }
              }
            }
          }
        }
      }
    }

    out.println(count)

    out.flush()
  }

}
