C. Отчёт
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Каждый месяц Блейк получает отчёт об основных показателях деятельности компании «Blake Technologies». Компания производит n продуктов, поэтому в отчёте указано n целых чисел — выручка по каждому из этих продуктов. Однако перед тем, как этот отчёт попадёт в руки Блейка, он проходит нелёгкий путь через m менеджеров. Каждый из менеджеров, прежде чем передать отчёт следующему менеджеру (или Блейку), может переставить некоторые числа по своему усмотрению. А именно: i-й менеджер сортирует первые ri чисел в порядке неубывания или невозрастания, после чего передаёт отчёт менеджеру с номером i + 1, если i < m, или Блейку, если i = m.

Сейчас как раз настал момент, когда сотрудники составляют очередной отчёт для Блейка. Вам известна изначальная последовательность длины n, а также дано описание каждого менеджера, то есть значение ri и какой порядок сортировки он предпочитает. Вас попросили ускорить процесс и сразу определить итоговый вид отчёта.

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

В первой строке входных данных записаны два целых числа n и m (1 ≤ n, m ≤ 200 000) — количество чисел в отчёте и количество менеджеров соответственно.

Во второй строке содержатся n целых чисел ai (|ai| ≤ 109) — числа в отчете, до того как он попал в руки первого менеджера.

В следующих m строках содержатся описания последовательных операций с отчётом, которые проводят менеджеры. В i-й из этих строк записаны два целых числа ti и ri (, 1 ≤ ri ≤ n), означающих, что i-й менеджер сортирует первые ri чисел в порядке неубывания, если ti = 1, или в порядке невозрастания, если ti = 2.

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

В единственной строке выведите n целых чисел — итоговый отчёт, который попадёт к Блейку.

Примеры
Входные данные
3 1
1 2 3
2 2
Выходные данные
2 1 3 
Входные данные
4 2
1 2 4 3
2 3
1 2
Выходные данные
2 4 1 3 
Примечание

В первом примере изначально отчёт выглядел так: 1 2 3. После первого менеджера были переставлены первые два числа: 2 1 3. В таком виде отчёт попал к Блейку.

Во втором примере первоначально отчёт был таким: 1 2 4 3. После первого менеджера отчёт стал таким: 4 2 1 3. После второго менеджера отчёт стал выглядеть так: 2 4 1 3. Такой отчёт был передан Блейку.