Remover segmentos de uma lista ligada

Dada uma lista ligada, pede-se que executes q consultas nela. Existem 2 tipos de consultas:

  1. print – o programa deve imprimir a lista ligada

  2. remove l r – remove todos os elementos desde o l-ésimo até ao r-ésimo, inclusive.

Input

Os dados iniciais para a lista ligada são obtidos automaticamente. Não é necessário fazeres nada. Garante-se que o tamanho da lista ligada não excede 1000 e que os valores na lista não ultrapassam em valor absoluto.

A primeira linha do input contém um único inteiro q (1 ≤ q ≤ 1000).

As seguintes q linhas contêm as consultas – print se o programa tiver de imprimir a lista ligada, e remove l r se for necessário remover os valores entre o l-ésimo e o r-ésimo elementos (1 ≤ l, r ≤ |L|).

Output

O programa deve imprimir corretamente os valores na lista ligada para todas as consultas print. Os valores devem ser separados por espaços.

Examples

Entrada

Saída

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