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

Вам дается массив a размера n и q запросов к нему. Есть запросы двух типов:

  • 1 li ri — осуществить циклический сдвиг отрезка [li, ri] вправо. То есть, для каждого такого x, что li ≤ x < ri, ax + 1 становится равным прежнему значению ax, а ali становится равным прежнему значению ari;
  • 2 li ri — перевернуть отрезок [li, ri].

Также заданы m важных позиций в массиве b1, b2, ..., bm. Для каждого такого i, что 1 ≤ i ≤ m, выведите то число, которое будет стоять на позиции bi в массиве после обработки всех запросов.

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

В первой строке записаны три целых числа n, q и m (1 ≤ n, q ≤ 2·105, 1 ≤ m ≤ 100).

Во второй строке записаны n целых чисел a1, a2, ..., an (1 ≤ ai ≤ 109).

Дальше идут q строк. В i-й из них записаны три целых числа ti, li, ri, где ti — тип i-го запроса, [li, ri] — отрезок, на котором запрос выполняется (1 ≤ ti ≤ 2, 1 ≤ li ≤ ri ≤ n).

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

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

Выведите m чисел, i-е из которых равно числу на позиции bi после обработки всех запросов.

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