#include<bits/stdc++.h>
using namespace std;
int a[8005],c[8005];
int n,q;
int y,z;
struct node{
int a,m;
}b[8005];
void refresh(){
for(int i=1;i<=n;i++)
c[b[i].m]=i;
}
void sort(){
int w;
for(int i=1;i<=n;i++)
if(b[i].m==y){
w=i;
break;
}
b[w].a=z;
for(int i=n;i>=2;i--)
if(b[i].a<b[i-1].a)
swap(b[i],b[i-1]);
for(int i=1;i<n;i++)
if(b[i].a>b[i+1].a)
swap(b[i],b[i+1]);
refresh();
}
int main(){
//freopen("sort.in","r",stdin);
//freopen("sort.out","w",stdout);
cin>>n>>q;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++) b[i].a=a[i],b[i].m=i;
for(int i=1;i<=n;i++){
for(int j=i;j>=2;j--){
if(b[j].a<b[j-1].a){
swap(b[j],b[j-1]);
}
}
}
refresh();
while(q--){
int x;
cin>>x;
if(x==1){
cin>>y>>z;
a[y]=z;
sort();
}
if(x==2){
int z;
cin>>z;
cout<<c[z]<<endl;
}
}
return 0;
}