#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, q, m;
  cin >> n >> q >> m;
  int a[n + 1];
  int i;
  for (i = 1; i <= n; i++) cin >> a[i];
  vector<pair<int, pair<int, int> > > op;
  for (i = 0; i < q; i++) {
    int t, x, y;
    cin >> t >> x >> y;
    op.push_back(make_pair(t, make_pair(x, y)));
  }
  int j;
  for (j = 0; j < m; j++) {
    int id;
    cin >> id;
    for (i = op.size() - 1; i >= 0; i--) {
      int t = op[i].first;
      int x = op[i].second.first;
      int y = op[i].second.second;
      if (id >= x && id <= y) {
        if (t == 1) {
          if (id == x)
            id = y;
          else
            id--;
        } else {
          if ((y - x) & 1) {
            if (id <= (y - x + 1) / 2) {
              int c = id - x;
              id = y - c;
            } else {
              int c = y - id;
              id = x + c;
            }
          } else {
            if (id <= (y - x) / 2) {
              int c = id - x;
              id = y - c;
            } else {
              int c = y - id;
              id = x + c;
            }
          }
        }
      }
    }
    cout << a[id] << " ";
  }
  return 0;
}
