Rimuovere segmenti da una lista concatenata

Data una lista concatenata, ti viene richiesto di eseguire q query su di essa. Esistono 2 tipi di query:
  1. print – il programma deve stampare la lista concatenata
  1. remove l r – rimuove tutti gli elementi dalla posizione l fino alla posizione r (entrambe incluse).

Input

I dati iniziali per la lista concatenata vengono ottenuti automaticamente. Non è necessario alcun intervento. È garantito che la dimensione della lista non superi 1000 e che i valori in essa contenuti non eccedano in valore assoluto.
La prima riga di input contiene un unico intero q (1 ≤ q ≤ 1000).
Le successive q righe contengono le query: print se il programma deve stampare la lista concatenata, oppure remove l r per rimuovere gli elementi tra la l-esima e la r-esima posizione (1 ≤ l, r ≤ |L|).

Output

Il programma deve stampare correttamente i valori nella lista concatenata per ogni query di tipo print, separandoli con uno spazio.

Esempi

Input
Output
10 4 8 4 0 -2 8 2 8 0 4 5 remove 1 2 print remove 1 2 remove 3 4 print
4 0 -2 8 2 8 0 4 -2 8 0 4
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue