Module: 데카르트 트리


Problem

2 /3


배열의 쿼리에 대한 또 다른 작업

Problem

크기가 n인 배열과 이에 대한 q 쿼리가 제공됩니다. 요청에는 두 가지 유형이 있습니다.
    <리> 1 li ri — 세그먼트[li, ri] 를 오른쪽으로 주기적 이동 수행 . 즉, 모든 x에 대해 li ≤ x  < ; riax + 1 이전 값 ax과 ali  이전 값과 같아집니다. 이전 값ari; <리> 2 li ri — 세그먼트를 뒤집습니다.[li, ri].
 
모든 요청이 처리된 후 배열을 출력해야 합니다.
 
입력
첫 번째 줄에는 두 개의 정수 n 및 q (1 ≤ n, q < /em> ≤ 2·105).
두 번째 줄에는 n 정수 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