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 product
  
  x1 = int(input())
  x2 = input()
  
  R_i = [i for i, x in enumerate(x2) if x == "R"]
  G_i = [i for i, x in enumerate(x2) if x == "G"]
  B_i = {i for i, x in enumerate(x2) if x == "B"}
  
  R = len(R_i)
  G = len(G_i)
  B = len(B_i)
  
  xs = map(sorted, product(R_i, G_i))
  
  s = 0
  for a in xs:
      k = a[1] * 2 - a[0]  # 2j-i
      if k in B_i:
          s += 1
      i = a[0] * 2 - a[1]  # 2j-k
      if i in B_i:
          s += 1
      j = (a[0] + a[1]) / 2  # (i+k)/2
      if j in B_i:
          s += 1
  print(R * G * B - s)
  
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"}]