Un'altra attività sulle query in un array
                                         
                                         
                            
                             
                                         
                                          Problem 
                         
                                 Ti viene fornito un array 
a di dimensioni 
n e 
q query ad esso. Esistono due tipi di richieste:
- 
1 li ri — eseguire uno spostamento ciclico del segmento [li, ri] verso destra . Cioè, per ogni x tale che li ≤ x  < ; ri, ax + 1 sub > diventa uguale al valore precedente ax e ali diventa uguale al valore precedente  ;ari;
 
- 
2 li ri — inverti il segmento [li, ri].
 
 
È necessario emettere l'array dopo che tutte le richieste sono state elaborate.
 
Inserimento
La prima riga contiene due numeri interi 
n e 
q (1 ≤ 
n, 
q < /em> ≤ 2·105).
La seconda riga contiene n interi a1, a2< / sub>, ..., an (1 ≤ ai  ≤ 109).
Poi vengono q linee. La iesima contiene tre numeri interi ti, li  em>, ri, dove ti — digita iesima query, [li, ri em >] — segmento su cui viene eseguita la query (1 ≤ ti ≤ 2, 1 ≤ l < sub>i ≤ 
ri ≤ 
n). 
 
Impressum
Stampa 
m numeri, 
iesimo dei quali è uguale al numero nella posizione 
bi  ;dopo che tutte le richieste sono state elaborate.
| 
Entra | 
Uscita | 
| 
 
6 3 
 | 
1 3 2 6 5 4
 | 
(c) Kurbatov E., 2018