output_description: Print the number of triplets in question.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      S
attempt: N = int(input())
  T = input()
  S = [0 for _ in range(N)]
  for i in range(N):
      if T[i] == "G":
          S[i] = 1
      elif T[i] == "B":
          S[i] = 2
  
  ls = [(0, 0, 0) for _ in range(N)]
  for i in range(N):
      if S[i] == 0:
          ls[i] = (ls[i - 1][0] + 1, ls[i - 1][1], ls[i - 1][2])
      elif S[i] == 1:
          ls[i] = (ls[i - 1][0], ls[i - 1][1] + 1, ls[i - 1][2])
      else:
          ls[i] = (ls[i - 1][0], ls[i - 1][1], ls[i - 1][2] + 1)
  
  
  def count(x):
      val = 0
      y = (x + 1) % 3
      z = (x + 2) % 3
      for i in range(N):
          if S[i] == x:
              for j in range(i + 1, N):
                  if S[j] == y:
                      val += ls[N - 1][z] - ls[j][z]
                      if 2 * j - i < N and S[2 * j - i] == z:
                          val -= 1
                  if S[j] == z:
                      val += ls[N - 1][y] - ls[j][y]
                      if 2 * j - i < N and S[2 * j - i] == y:
                          val -= 1
      return val
  
  
  print(count(0) + count(1) + count(2))
  
problem_description: Statement
  
  We have a string S of length N consisting of `R`, `G`, and `B`.
  
  Find the number of triples (i,~j,~k)~(1 \leq i < j < k \leq N) that satisfy
  both of the following conditions:
  
    * S_i \neq S_j, S_i \neq S_k, and S_j \neq S_k.
    * j - i \neq k - j.
samples: [{"input": "4\n    RRGB", "output": "1\n    \n\nOnly the triplet (1,~3,~4) satisfies both conditions. The triplet (2,~3,~4)\nsatisfies the first condition but not the second, so it does not count.\n\n* * *"}, {"input": "39\n    RBRBGRBGGBBRRGBBRRRBGGBRBGBRBGBRBBBGBBB", "output": "1800"}]