#include <bits/stdc++.h>
using namespace std;
const long long N = 2 * 1e5 + 10;
long long a[N], qu[N][3], b[110];
long long n, m, q;
void solve(long long ix, long long jx) {
  long long pos = b[jx];
  long long t = qu[ix][0], l = qu[ix][1], r = qu[ix][2];
  if (pos < l || pos > r) return;
  if (t == 1) {
    if (pos == l)
      pos = r;
    else
      pos--;
  } else {
    pos = l + (r - pos);
  }
  b[jx] = pos;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin >> n >> q >> m;
  for (int i = 1; i <= n; i++) cin >> a[i];
  for (int i = 1; i <= q; i++) cin >> qu[i][0] >> qu[i][1] >> qu[i][2];
  for (int i = 1; i <= m; i++) cin >> b[i];
  for (int i = q; i > 0; i--) {
    for (int j = 1; j <= m; j++) {
      solve(i, j);
    }
  }
  for (int i = 1; i <= m; i++) {
    long long pos = b[i];
    cout << a[pos] << " ";
  }
  cout << endl;
}
