#include <bits/stdc++.h>
using namespace std;
const int MAXN = 2e5 + 5;
int n, m, q, b, a[MAXN];
pair<int, pair<int, int>> Q[MAXN];
int main() {
  scanf("%d%d%d", &n, &q, &m);
  for (int i = 1; i <= n; ++i) scanf("%d", a + i);
  for (int i = 1; i <= q; ++i)
    scanf("%d%d%d", &Q[i].first, &Q[i].second.first, &Q[i].second.second);
  while (m--) {
    scanf("%d", &b);
    for (int i = q; i >= 1; --i) {
      int T = Q[i].first, L = Q[i].second.first, R = Q[i].second.second;
      if (L <= b && b <= R) {
        if (T == 1) {
          if (--b < L) b = R;
        } else {
          b = R - b + L;
        }
      }
    }
    printf("%d ", a[b]);
  }
  return 0;
}
