#include <bits/stdc++.h>
using namespace std;
struct tair {
  long long first, second, third;
};
int32_t main() {
  ios_base::sync_with_stdio(0);
  cin.tie(nullptr);
  long long n, q, m, x, l, r;
  cin >> n >> q >> m;
  vector<long long> v(n + 1);
  vector<tair> qrs(q);
  for (long long i = 0; i < n; i++) cin >> v[i + 1];
  for (long long i = 0; i < q; i++) {
    cin >> x >> l >> r;
    qrs[i].first = x;
    qrs[i].second = l;
    qrs[i].third = r;
  }
  for (long long i = 0; i < m; i++) {
    cin >> x;
    for (long long j = q - 1; j >= 0; j--) {
      l = qrs[j].second;
      r = qrs[j].third;
      if (x >= l && x <= r)
        if (qrs[j].first == 1)
          (x == l) ? x = r : x--;
        else
          x = l + r - x;
    }
    cout << v[x] << ' ';
  }
}
