#include<bits/stdc++.h>
#define ll long long
using namespace std;
struct ax{
int inde;
ll value;
};
ll n,q,t1,t2,t3;
ax a[8003];
map<ll,int> trans;
bool cmp(ax a,ax b){
return a.value < b.value || (a.value == b.value && a.inde < b.inde);
}
int main(){
// freopen("sort.in","r",stdin);
// freopen("sort.out","w",stdout);
scanf("%lld%lld",&n,&q);
for(int i=1;i<=n;i++){
// cin>>a[i].value;
scanf("%lld",&a[i].value);
a[i].inde=i;
}
sort(a+1,a+1+n,cmp);
for(int i=1;i<=n;i++){
trans[a[i].inde] = i;
}
for(int _=0;_<q;_++){
scanf("%lld",&t1);
if(t1==1){
scanf("%lld%lld",&t2,&t3);
a[trans[t2]].value = t3;
for(int j=1;j<n;j++){
if(cmp(a[j+1],a[j])){
swap(a[j],a[j+1]);
}
}
for(int j=n-1;j>=1;j--){
if(cmp(a[j+1],a[j])){
swap(a[j],a[j+1]);
}
}
for(int i=1;i<=n;i++){
trans[a[i].inde] = i;
}
}
else{
scanf("%lld",&t2);
printf("%d\n",trans[t2]);
// cout<<trans[t2]<<endl;
}
}
return 0;
}//O(n+n*n+n+15000*n+(q-5000))
我也不是 O(n2q) 啊