#include<iostream>
#include<cstdio>
#pragma GCC optimize(2)
using namespace std;
template<typename T>
inline void read(T &x)
{
x=0;
register int f=1;
register char c=getchar();
while(c<'0'||c>'9')
{
if(c=='-') f=-1;
c=getchar();
}
while(c>='0'&&c<='9')
{
x=(x<<3)+(x<<1)+(c^48);
c=getchar();
}
x*=f;
}
template<typename T>
void write(T x)
{
if(x<0)
{
putchar('-');
x=~x+1;
}
if(x>=10) write(x/10);
putchar(x%10+'0');
}
long long a[114510];
long long n,q;
int main()
{
// freopen("sort.in","r",stdin);
// freopen("sort.out","w",stdout);
read(n);
read(q);
for(int i=1;i<=n;++i)
read(a[i]);
for(int i=1;i<=q;++i)
{
int cbw;
read(cbw);
if(cbw==1)
{
long long x,v;
read(x);
read(v);
a[x]=v;
}
if(cbw==2)
{
long long x=0,sum=0;
read(x);
for(int j=1;j<=x-1;++j)
{
if(a[j]<=a[x])sum++;
}
for(int j=x+1;j<=n;++j)
{
if(a[j]<a[x])sum++;
}
write(sum+1);
printf("\n");
}
}
return 0;
}
一本通过不去...