//21-11-19
#include<cstdio>
#include<vector>
#include<cstdlib>
#include<algorithm>
#define scl(n) scanf("%d",&n)
#define pb push_back
#define For(i,n) for(int i=0;i<n;i++)
using namespace std;
int n,q;
vector<int>v;
int main()
{
scl(n);
scl(q);
For(i,n)
{
int x;
scl(x);
v.pb(x);
}
For(i,q)
{
int num;
scl(num);
if(num==1)
{
int k,x;
scl(k);
scl(x);
k--;
if(k>v.size())
continue;
if(k<v.size())
v.insert(v.begin()+k, x);
if(k==v.size())
v.pb(x);
}
if(num==2)
{
int k;
scl(k);
k--;
if(k>=v.size())
continue;
v.erase(v.begin()+k);
}
if(num==3)
{
int k;
scl(k);
k--;
printf("%d\n",v[k]);
}
}
return 0;
}
Ly8yMS0xMS0xOQojaW5jbHVkZTxjc3RkaW8+CiNpbmNsdWRlPHZlY3Rvcj4KI2luY2x1ZGU8Y3N0ZGxpYj4KI2luY2x1ZGU8YWxnb3JpdGhtPgoKI2RlZmluZSBzY2wobikgICBzY2FuZigiJWQiLCZuKQojZGVmaW5lIHBiICAgIHB1c2hfYmFjawojZGVmaW5lIEZvcihpLG4pICAgICBmb3IoaW50IGk9MDtpPG47aSsrKQp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbixxOwp2ZWN0b3I8aW50PnY7CmludCBtYWluKCkKewogICAgc2NsKG4pOwogICAgc2NsKHEpOwogICAgRm9yKGksbikKICAgIHsKICAgICAgICBpbnQgeDsKICAgICAgICBzY2woeCk7CiAgICAgICAgdi5wYih4KTsKICAgIH0KICAgIEZvcihpLHEpCiAgICB7CiAgICAgICAgaW50IG51bTsKICAgICAgICBzY2wobnVtKTsKICAgICAgICBpZihudW09PTEpCiAgICAgICAgewogICAgICAgICAgICBpbnQgayx4OwogICAgICAgICAgICBzY2woayk7CiAgICAgICAgICAgIHNjbCh4KTsKICAgICAgICAgICAgay0tOwogICAgICAgICAgICBpZihrPnYuc2l6ZSgpKQogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIGlmKGs8di5zaXplKCkpCiAgICAgICAgICAgICAgICB2Lmluc2VydCh2LmJlZ2luKCkraywgeCk7CiAgICAgICAgICAgIGlmKGs9PXYuc2l6ZSgpKQogICAgICAgICAgICAgICAgdi5wYih4KTsKICAgICAgICB9CiAgICAgICAgaWYobnVtPT0yKQogICAgICAgIHsKICAgICAgICAgICAgaW50IGs7CiAgICAgICAgICAgIHNjbChrKTsKICAgICAgICAgICAgay0tOwogICAgICAgICAgICBpZihrPj12LnNpemUoKSkKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB2LmVyYXNlKHYuYmVnaW4oKStrKTsKICAgICAgICB9CiAgICAgICAgaWYobnVtPT0zKQogICAgICAgIHsKICAgICAgICAgICAgaW50IGs7CiAgICAgICAgICAgIHNjbChrKTsKICAgICAgICAgICAgay0tOwogICAgICAgICAgICBwcmludGYoIiVkXG4iLHZba10pOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAwOwp9Cgo=