#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> PII;
#define Yes cout<<"YES\n"
#define No cout<<"NO\n"
#define all(a) a.begin(),a.end()
#define pb push_back
#define endl '\n'
//#define int ll
const ll mod=1e9+7;const int M=2e5+5;const int N=2e5+5;
int dx[] = {-1, 1, 0, 0};int dy[] = {0, 0, -1, 1};
struct node
{
int op,l,r;
};
void solve()
{
int n,q,m;cin>>n>>q>>m;
vector<int> a(n+1,0);
for(int i=1;i<=n;i++) cin>>a[i];
vector<node> opp;
while(q--)
{
node tmp;cin>>tmp.op>>tmp.l>>tmp.r;
opp.pb(tmp);
}
reverse(all(opp));
while(m--)
{
int pos;cin>>pos;
for(auto x:opp)
{
if(x.op==1&&x.l<=pos&&x.r>=pos)
{
if(pos>x.l) pos--;
else pos=x.r;
}
else if(x.op==2&&x.l<=pos&&x.r>=pos)
{
pos=x.l+x.r-pos;
}
}
cout<<a[pos]<<endl;
}
}
signed main()
{
ios::sync_with_stdio(0);cin.tie(0);
int __;
__=1;
//cin>>__;
while(__--)
{
solve();
}
}
1035. Uncrossed Lines | 328. Odd Even Linked List |
1219. Path with Maximum Gold | 1268. Search Suggestions System |
841. Keys and Rooms | 152. Maximum Product Subarray |
337. House Robber III | 869. Reordered Power of 2 |
1593C - Save More Mice | 1217. Minimum Cost to Move Chips to The Same Position |
347. Top K Frequent Elements | 1503. Last Moment Before All Ants Fall Out of a Plank |
430. Flatten a Multilevel Doubly Linked List | 1290. Convert Binary Number in a Linked List to Integer |
1525. Number of Good Ways to Split a String | 72. Edit Distance |
563. Binary Tree Tilt | 1306. Jump Game III |
236. Lowest Common Ancestor of a Binary Tree | 790. Domino and Tromino Tiling |
878. Nth Magical Number | 2099. Find Subsequence of Length K With the Largest Sum |
1608A - Find Array | 416. Partition Equal Subset Sum |
1446. Consecutive Characters | 1618A - Polycarp and Sums of Subsequences |
1618B - Missing Bigram | 938. Range Sum of BST |
147. Insertion Sort List | 310. Minimum Height Trees |