#include<bits/stdc++.h>
using namespace std;
int n,q;
struct dat{
int p,v;
}a[200005];
int pos[200005];
int main(){
cin >> n >> q;
for(int i = 1;i<=n;i++){
cin >> a[i].v;
a[i].p=i;
}
for(int i = 1;i<=n;i++){
for(int j = i;j>=2;j--){
if(a[j].v<a[j-1].v)
swap(a[j],a[j-1]);
}
}
for(int i = 1;i<=n;i++) pos[a[i].p]=i;
while(q--){
int op,x;
cin >> op >> x;
if(op==2) cout<<pos[x]<<'\n';
else{
int v;
cin >> v;
int p = 1;
while(a[p].p!=x) ++p;
a[p].v=v;
while(p>1&&(a[p].v<a[p-1].v||a[p].v==a[p-1].v&&a[p].p<a[p-1].p)){
swap(pos[a[p].p],pos[a[p-1].p]);
swap(a[p],a[p-1]);
--p;
}
while(p<n&&(a[p].v>a[p+1].v||a[p].v==a[p+1].v&&a[p].p>a[p+1].p)){
swap(pos[a[p].p],pos[a[p+1].p]);
swap(a[p],a[p+1]);
++p;
}
}
}
}