#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
long long a[10010],b[10010],c[10010],d[10010];
int main(){
long long n,Q;
scanf("%lld%lld",&n,&Q);
for(long long i=1;i<=n;i++) scanf("%lld",&a[i]),b[i]=a[i],c[i]=i;
for(long long i=2;i<=n;i++){
for(long long j=i;j>1;j--) if(b[j]<b[j-1]){
swap(b[j],b[j-1]);
swap(c[j],c[j-1]);
}
}
for(long long i=1;i<=n;i++) d[c[i]]=i;
while(Q--){
long long l;
scanf("%lld",&l);
if(l==1){
long long x,v;
scanf("%lld%lld",&x,&v);
a[x]=v,b[d[x]]=v;
while((b[d[x]]>b[d[x]+1] || (b[d[x]]==b[d[x]+1] && x>c[d[x]+1])) && d[x]+1<=n){
swap(b[d[x]],b[d[x]+1]);
d[c[d[x]+1]]--;
swap(c[d[x]],c[d[x]+1]);
d[x]++;
}
while((b[d[x]]<b[d[x]-1] || (b[d[x]]==b[d[x]-1] && x<c[d[x]+1])) && d[x]-1>0){
swap(b[d[x]],b[d[x]+1]);
d[c[d[x]+1]]++;
swap(c[d[x]],c[d[x]+1]);
d[x]--;
}
}
else{
long long x;
scanf("%lld",&x);
printf("%lld\n",d[x]);
}
}
return 0;
}