Module: árbol cartesiano


Problem

2 /3


Otra tarea sobre consultas en una matriz

Problem

Se le proporciona una matriz a de tamaño n y q consultas. Hay dos tipos de solicitudes:
  • li ri — realizar un desplazamiento cíclico del segmento [li, ri] a la derecha . Es decir, para cada x tal que li ≤ x  < ; riax + 1 se vuelve igual al valor anterior axali se vuelve igual al valor anterior  ;ari;
  • li ri — voltear el segmento [li, ri].
 
Es necesario generar la matriz después de que se hayan procesado todas las solicitudes.
 
Entrada
La primera línea contiene dos números enteros nq (1 ≤ n, q < /em> ≤ 2·105).
La segunda línea contiene n enteros a1a2< / sub>, ..., an (1 ≤ ai  ≤ 109).
Luego vienen las líneas q . El iésimo de ellos contiene tres números enteros tili ri, donde ti — escriba iésima consulta, [li, ri] — segmento sobre el que se ejecuta la consulta (1 ≤ ti ≤ 2, 1 ≤ l < sub>i
 ≤ ri ≤ n).
 
Impresión
Escribe m números, iésimo de los cuales es igual al número en la posición bi  ;después de que se hayan procesado todas las solicitudes.

Entrar Salida
6 3
1 2 3 4 5 6
2 1 3
2 3 6
1 1 6 1 3 2 6 5 4

(c) E. Kurbatov, 2018