#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
const int N = 1e6 + 6;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int n, m, q;
  cin >> n >> q >> m;
  vector<int> a(n);
  for (int &x : a) cin >> x;
  vector<pair<int, pair<int, int>>> v(q);
  for (auto &p : v) {
    cin >> p.first >> p.second.first >> p.second.second;
    --p.second.first;
    --p.second.second;
  }
  reverse((v).begin(), (v).end());
  for (int k = 0; k < m; ++k) {
    int i;
    cin >> i;
    --i;
    for (auto p : v) {
      int l = p.second.first;
      int r = p.second.second;
      if (!(l <= i && i <= r)) continue;
      if (p.first == 1) {
        if (i == l)
          i = r;
        else
          --i;
      } else {
        i = r - (i - l);
      }
    }
    cout << a[i] << ' ';
  }
  return 0;
}
