#include<bits/stdc++.h>
using namespace std;
long long n,Q;
long long a[8050];
long long ax[8050];
long long b[8055];
long long bx[8055];
int main(){
cin>>n>>Q;
for(int i=1;i<=n;i++){
cin>>a[i];
ax[i]=i;
}
memcpy(b,a,sizeof(a));
memcpy(bx,ax,sizeof(ax));
for(int i=2;i<=n;i++){
for(int j=i;j>=2;j--){
if(a[j]<a[j-1]){
int t=a[j-1];
int tx=ax[j-1];
a[j-1]=a[j];
ax[j-1]=ax[j];
a[j]=t;
ax[j]=tx;
}
if(a[j]==a[j-1]&&ax[j]<ax[j-1]){
int t=a[j-1];
int tx=ax[j-1];
a[j-1]=a[j];
ax[j-1]=ax[j];
a[j]=t;
ax[j]=tx;
}
}
}
int input;
for(int j=0;j<Q;j++){
cin>>input;
if(input==1){
long long x,v;
cin>>x>>v;
b[x]=v;
for(int i=1;i<=n;i++){
if(ax[i]==x){
a[i]=v;
x=i;
break;
}
}
if(a[x]<a[x-1]){
for(int i=n;i>=2;i--){
if(a[i]<a[i-1]||(a[i]==a[i-1]&&ax[i]<ax[i-1])){
int t=a[i-1];
int tx=ax[i-1];
a[i-1]=a[i];
ax[i-1]=ax[i];
a[i]=t;
ax[i]=tx;
}
}
}
else if(a[x]>a[x+1]){
for(int i=2;i<=n;i++){
if(a[i]<a[i-1]||(a[i]==a[i-1]&&ax[i]<ax[i-1])){
int t=a[i-1];
int tx=ax[i-1];
a[i-1]=a[i];
ax[i-1]=ax[i];
a[i]=t;
ax[i]=tx;
}
}
}
else if(a[x]==a[x+1]||a[x]==a[x-1]){
for(int i=2;i<=n;i++){
if(a[i]<a[i-1]||(a[i]==a[i-1]&&ax[i]<ax[i-1])){
int t=a[i-1];
int tx=ax[i-1];
a[i-1]=a[i];
ax[i-1]=ax[i];
a[i]=t;
ax[i]=tx;
}
}
}
}
else if(input==2){
long long x;
cin>>x;
for(int i=1;i<=n;i++){
if(ax[i]==x){
cout<<i<<endl;
break;
}
}
}
}
}