output_description: Print the number of triplets in question.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      S
attempt: from itertools import permutations
  
  inputs = open(0).readlines()
  n = int(inputs[0])
  S = inputs[1].strip()
  
  R = [i for i, c in enumerate(S) if c == "R"]
  G = [i for i, c in enumerate(S) if c == "G"]
  B = [i for i, c in enumerate(S) if c == "B"]
  
  
  def f(Z, i, x, y):
      for z in Z[i:]:
          if z == 2 * y - x:
              return 1
          if z > 2 * y - x:
              return 0
      return 0
  
  
  ans = 0
  for X, Y, Z in list(permutations([R, G, B])):
      for x in X:
          for y in Y:
              if x < y:
                  idx = 0
                  for i, z in enumerate(Z):
                      if y < z:
                          break
                  if y < z:
                      ans += len(Z) - i - f(Z, i, x, y)
  print(ans)
  
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"}]