code:(cpp17 -o2)
#include<bits/stdc++.h>
using namespace std;
struct stu{
int di,id;
}s[8010];
int a[8010],e[8010];
int main(){
int n,Q;
scanf("%d%d",&n,&Q);
for(int i=1;i<=n;++i)scanf("%d",&a[i]);
for(int i=1;i<=n;++i)s[i].di=a[i],s[i].id=i;
for(int i=1;i<=n;i++)
for(int j=i;j>=2;j--)
if(s[j].di<s[j-1].di) {
swap(s[j],s[j-1]);
}
for(int i=1;i<=n;++i)e[s[i].id]=i;
for(int j=1;j<=Q;++j){
int op;
scanf("%d",&op);
if(op==2){
int x;
scanf("%d",&x);
printf("%d\n",e[x]);
}else{
int x,c;
scanf("%d%d",&x,&c);
if(a[x]<c){
s[e[x]].di=c;
for(int i=e[x]+1;i<=n;++i){
if(s[e[x]+1].di<s[e[x]].di){
swap(e[x],e[s[e[x]+1].id]);
swap(e[s[e[x]].id],e[s[e[x]+1].id]);
}else if(s[e[x]+1].di==s[e[x]].di&&s[e[x]+1].id<s[e[x]].id){
swap(e[x],e[s[e[x]+1].id]);
swap(e[s[e[x]].id],e[s[e[x]+1].id]);
}else break;
}
}else{
for(int i=e[x]-1;i>0;--i){
s[e[x]].di=c;
if(s[e[x]+1].di>s[e[x]].di){
swap(e[x],e[s[e[x]+1].id]);
swap(s[e[x]],s[e[x]-1]);
}else if(s[e[x]-1].di==s[e[x]].di&&s[e[x]-1].id>s[e[x]].id){
swap(e[x],e[s[e[x]-1].id]);
swap(s[e[x]],s[e[x]-1]);
}else break;
}
}
}
}
return 0;
}