Problem

2 /3


Une autre tâche sur les requêtes dans un tableau

Problem

Vous recevez un tableau a de taillen et q requêtes. Il existe deux types de demandes :
  • li ri &mdash ; effectuer un décalage cyclique du segment [li, ri] vers la droite . Autrement dit, pour chaque x tel que li ≤ x  < ; riax + 1 devient égal à la valeur précédente ax et ali devient égal au valeur précédente  ;ari ;
  • li ri &mdash ; retournez le segment [li, ri].
 
Il est nécessaire de générer le tableau une fois que toutes les requêtes ont été traitées.
 
Entrée
La première ligne contient deux entiers n et q (1 ≤ n, q < /em> ≤ 2·105).
La deuxième ligne contient n entiers a1a2< / sub>, ..., an (1 ≤ ai  ≤ 109).
Viennent ensuite q lignes. Le ième d'entre eux contient trois entiers tili ri, où ti &mdash ; tapez iième requête, [li, ri] — segment sur lequel la requête est exécutée (1 ≤ ti ≤ 2, 1 ≤ l < sub>i
 ≤ ri ≤ n). < br />  
Mentions légales
Imprimer m numéros, ième dont est égal au nombre à la position bi  ;une fois que toutes les demandes ont été traitées.

Entrez
Sortie
6 3
1 2 3 4 5 6
2 1 3
2 3 6
1 1 6
1 3 2 6 5 4


(c) Kurbatov E., 2018