#include<bits/stdc++.h>
using namespace std;
struct node {
int id;
int data;
};
node a[8001];
bool cmp(node x,node y) {
if(x.data!=y.data) return x.data<y.data;
else return x.id<y.id;
}
int t[8001],x,v,opt,n,q;
int main() {
cin>>n>>q;
for(int i=1;i<=n;i++) {
cin>>a[i].data;
a[i].id=i;
}
sort(a+1,a+1+n,cmp);
for(int i=1;i<=n;i++) {
t[a[i].id]=i;
}
for(int i=1;i<=q;i++) {
cin>>opt;
if(opt==1) {
cin>>x>>v;
a[t[x]].data=v;
for(int j=t[x];j<n;j++) {
if(cmp(a[j+1],a[j])) {
node t=a[j];
a[j]=a[j+1];
a[j+1]=a[j];
}
}
for(int j=t[x];j>1;j--) {
if(cmp(a[j],a[j-1])) {
node t=a[j];
a[j]=a[j-1];
a[j-1]=a[j];
}
}
for(int j=1;j<=n;j++) t[a[j].id]=j;
}
if(opt==2) {
cin>>x>>v;
cout<<t[x]<<' ';
}
}
return 0;
}