AT_scpc2026_div2_d Coloring
Description
#### 表示言語
/ / ルルとテラは赤色,緑色,青色の絵の具で塗り絵をしている.
ルルとテラは $ N $ 個の正方形のマスが一列につながった絵を塗ろうとしている.テラが先に絵の一部を塗った後,残りの部分をルルに渡した.テラが塗った絵は `R`, `G`, `B`, `X` からなる長さ $ N $ の文字列 $ S $ で表される.文字列 $ S $ の $ i $ 番目の文字が `R` なら赤色,`G` なら緑色,`B` なら青色,`X` なら塗られていない空のマスを表す.
ルルはテラが塗った絵が気に入らず,絵の特定の区間を切り出して,その区間を **完璧な絵** にすることにした.ルルが考える **完璧な絵** とは,次の $ 2 $ つの条件を満たす絵である.
1. すべてのマスは赤色,緑色,青色のいずれかで塗られていなければならない.
2. ルルは色とりどりなものが好きなので,隣り合う $ 2 $ つのマスの色は常に異ならなければならない.
ルルは,テラが塗っていない空のマスを好きな色で塗ることができ,テラがすでに塗ったマスの色を別の色に塗り直すこともできる.
ルルが切り出す区間は $ 2 $ つの整数 $ l $ と $ r $ で表され,これは左から $ l $ 番目のマスから $ r $ 番目のマスまでの連続した区間を意味する.特定の区間を切り出す $ Q $ 通りの場合について,ルルが **完璧な絵** を作るために塗り直す必要があるマスの最小個数を求めよ.
Input Format
入力は以下の形式で標準入力から与えられる.
> $ N $ $ Q $ $ S $ $ l_1 $ $ r_1 $ $ l_2 $ $ r_2 $ $ \vdots $ $ l_Q $ $ r_Q $
Output Format
$ Q $ 行にわたり,各場合について,ルルが **完璧な絵** を完成させるために塗り直す必要があるマスの最小個数を $ 1 $ 行に出力せよ.
Explanation/Hint
### Constraints
- $ 1 \leq N, Q \leq 300\,000 $
- 文字列 $ S $ は英大文字 `R`, `G`, `B`, `X` のみからなる.
- 各クエリについて, $ 1 \leq l_i \leq r_i \leq N $
- 入力される数値はすべて整数である.