AT_abc425_c [ABC425C] Rotate and Sum Query
Description
長さ $ N $ の整数列 $ A=(A_1,A_2,\ldots,A_N) $ が与えられます。
$ Q $ 個のクエリが与えられるので順に処理してください。クエリは $ 2 $ 種類あり、以下のいずれかの形式で与えられます。
- `1 c`: $ A $ の先頭の要素を末尾に移動させる操作を $ c $ 回行う。
- `2 l r`: $ \displaystyle \sum_{i=l}^r A_i $ の値を出力する。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ Q $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $ $ \text{query}_1 $ $ \text{query}_2 $ $ \vdots $ $ \text{query}_Q $
各クエリ $ \text{query}_i $ は以下の $ 2 $ 種類のいずれかの形式で与えられる。
> $ 1 $ $ c $
> $ 2 $ $ l $ $ r $
Output Format
問題文の指示に従って $ 2 $ つ目の形式のクエリへの答えを改行区切りで出力せよ。
Explanation/Hint
### Sample Explanation 1
各クエリは以下のように処理されます。
- $ 1 $ つ目のクエリ: $ A_1+A_2+A_3=3+1+4=8 $ なので $ 8 $ を出力します。
- $ 2 $ つ目のクエリ: $ A=(3,1,4,5) $ が $ A=(1,4,5,3) $ に変化します。
- $ 3 $ つ目のクエリ: $ A_2+A_3=4+5=9 $ なので $ 9 $ を出力します。
### Constraints
- $ 1\le N\le 2\times 10^5 $
- $ 1\le Q\le 2\times 10^5 $
- $ 1\le A_i \le 10^9 $
- $ 1\le c\le N $
- $ 1\le l\le r \le N $
- $ 2 $ つ目の形式のクエリが $ 1 $ つ以上存在する
- 入力される値は全て整数