#include <bits/stdc++.h>
#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
using namespace std;
long long power(long long a, long long b, long long modi) {
  a %= modi;
  long long res = 1;
  while (b) {
    if (b % 2) {
      res = (res * a) % modi;
    }
    b /= 2;
    a = (a * a) % modi;
  }
  return res;
}
int a[200001];
int b[101];
vector<pair<int, pair<int, int> > > vec;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int t = 1;
  while (t--) {
    int n, q, m;
    cin >> n >> q >> m;
    for (int i = 1; i <= n; i++) cin >> a[i];
    for (int i = 0; i < q; i++) {
      int e, f, g;
      cin >> e >> f >> g;
      vec.push_back({e, {f, g}});
    }
    for (int i = 1; i <= m; i++) {
      int ind;
      cin >> ind;
      for (int i = q - 1; i >= 0; i--) {
        int l = vec[i].second.first;
        int r = vec[i].second.second;
        if (ind >= l && ind <= r) {
          if (vec[i].first == 1) {
            if (ind == l)
              ind = r;
            else
              ind--;
          } else
            ind = r - (ind - l);
        }
      }
      cout << a[ind] << " ";
    }
  }
  return 0;
}
