Удаление сегментов из связного списка

Допустим, у нас есть связный список, и требуется выполнить над ним q запросов. Существует два типа запросов:

  1. print — программа должна вывести на экран связный список.

  2. remove l r — удалить все элементы, начиная с l-го и заканчивая r-м включительно.

Входные данные

Исходные данные для связного списка формируются автоматически, и никаких действий с вашей стороны не требуется. Гарантируется, что размер списка не превышает 1000, а значения в нём не превосходят по модулю .

В первой строке входных данных содержится одно целое число q (1 ≤ q ≤ 1000).

В следующих q строках находятся запросы: print, если нужно вывести весь связный список, и remove l r, если требуется удалить элементы с l-го по r-й (1 ≤ l, r ≤ |L|).

Вывод

Программа должна корректно выводить элементы связного списка для каждого запроса print. Значения должны быть разделены пробелами.

Примеры

Входные данные

Выходные данные

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