AT_abc455_e [ABC455E] Unbalanced ABC Substrings

Description

`A`, `B`, `C` の $ 3 $ 種類の文字のみからなる長さ $ N $ の文字列 $ S $ が与えられます。 $ S $ の空でない部分文字列は $ \frac{N(N+1)}{2} $ 個ありますが、そのうち以下の条件を満たすものがいくつあるか求めてください。 - `A`, `B`, `C` の出現回数が相異なる。 ただし、 $ 2 $ つの部分文字列は、 $ S $ から取り出す場所が異なれば文字列として同じでも区別して数えることに注意してください。 部分文字列とは? $ S $ の**部分文字列**とは、 $ S $ の先頭から $ 0 $ 文字以上、末尾から $ 0 $ 文字以上削除して得られる文字列のことをいいます。 例えば、`AB` は `ABC` の部分文字列ですが、`AC` は `ABC` の部分文字列ではありません。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ S $

Output Format

答えを $ 1 $ 行で出力せよ。

Explanation/Hint

### Sample Explanation 1 $ S $ の先頭から $ 0 $ 文字、末尾から $ 3 $ 文字を削除すると `AAB` となり、これは条件を満たします。 $ S $ の先頭から $ 1 $ 文字、末尾から $ 2 $ 文字を削除すると `ABB` となり、これは条件を満たします。 $ S $ の先頭から $ 2 $ 文字、末尾から $ 1 $ 文字を削除すると `BBC` となり、これは条件を満たします。 $ S $ の先頭から $ 3 $ 文字、末尾から $ 0 $ 文字を削除すると `BCC` となり、これは条件を満たします。 また、これら以外の部分文字列は条件を満たしません。 ### Sample Explanation 2 どの部分文字列も条件を満たしません。 ### Constraints - $ 1 \leq N \leq 2 \times 10^5 $ - $ |S|=N $ - $ N $ は整数 - $ S $ は `A`, `B`, `C` の $ 3 $ 種類の文字のみからなる文字列