#include <bits/stdc++.h>
using namespace std;
struct cm {
  int t, l, r;
};
int main() {
  int n, q, m;
  cin >> n >> q >> m;
  vector<int> a(n);
  for (int i = 0; i < n; ++i) {
    cin >> a[i];
  }
  vector<cm> cq(q);
  for (int i = 0; i < q; ++i) {
    cin >> cq[i].t >> cq[i].l >> cq[i].r;
  }
  vector<int> b(m);
  for (int i = 0; i < m; ++i) cin >> b[i];
  for (int i = q - 1; i >= 0; --i) {
    int t = cq[i].t, l = cq[i].l, r = cq[i].r;
    if (t == 1) {
      for (int j = 0; j < m; ++j) {
        if (b[j] == l) {
          b[j] = r;
        } else if (l < b[j] && b[j] <= r) {
          b[j] -= 1;
        }
      }
    } else {
      int k = r - l + 1;
      for (int j = 0; j < m; ++j) {
        if (l <= b[j] && b[j] <= r) {
          b[j] = k - (b[j] - l) + l - 1;
        }
      }
    }
  }
  cout << a[b[0] - 1];
  for (int i = 1; i < m; ++i) {
    cout << ' ' << a[b[i] - 1];
  }
}
