#include <bits/stdc++.h>
using namespace std;
const int maxn = 200010;
int N, Q, M;
int A[maxn], T[maxn], L[maxn], R[maxn];
int main() {
  cin >> N >> Q >> M;
  for (int i = 0; i < N; i++) scanf("%d", A + i);
  for (int i = 0; i < Q; i++) {
    scanf("%d%d%d", T + i, L + i, R + i);
    L[i]--;
    R[i]--;
  }
  for (int i = 0; i < M; i++) {
    int b;
    scanf("%d", &b);
    b--;
    for (int qid = Q - 1; qid >= 0; qid--) {
      if (L[qid] <= b && b <= R[qid]) {
        if (T[qid] == 1) {
          b--;
          if (b < L[qid]) b = R[qid];
        } else
          b = R[qid] - (b - L[qid]);
      }
    }
    printf("%d ", A[b]);
  }
  printf("\n");
}
