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

  2. 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