Module: デカルト木


Problem

2 /3


配列内のクエリに関する別のタスク

Problem

サイズ n の配列 a と q クエリが与えられます。リクエストには次の 2 種類があります。
    <リ> 1 li ri —セグメント [li, ri] を右に巡回シフトします.つまり、 li ≤ x  < である  x ごとに; riax + 1 前の値と等しくなる ax および ali が以前の値  ;ari; <リ> 2 li ri —セグメントを反転 [li, ri].
 
すべてのリクエストが処理された後、配列を出力する必要があります。
 
入力
最初の行には 2 つの整数  n と  q (1 ≤ n, q < /em> ≤ 2·105).
2 行目には  n integers a1a2, ..., an (1 ≤ ai  ≤ 109).
次は q 行です。  i 番目には 3 つの整数が含まれます  tili 、 ri、ここで ti —  i 番目のクエリを入力, [li, ri] —クエリが実行されるセグメント (1 ≤ ti ≤ 2, 1 ≤ l < sub>i
 ≤ ri ≤ n)。 < br />  
インプリント
 m 数字を出力します。 i 番目は位置の数字と同じです bi  ;すべてのリクエストが処理された後。

<本体>

(c) クルバトフ E.、2018
入る 出力
6 3
1 2 3 4 5 6
2 1 3
2 3 6
1 1 6
1 3 2 6 5 4