#include<bits/stdc++.h>
using namespace std;
int a[100010],b[100010];
int main()
{
int n,q;
scanf("%d%d",&n,&q);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=i;j++)
{
if(a[i]==a[j]) b[i]++;
}
}
while(q--)
{
int x,y,z;
scanf("%d",&x);
if(x==1)
{
scanf("%d%d",&y,&z);
b[y]=0;
for(int i=y+1;i<=n;i++)
{
if(a[i]==a[y]) b[i]--;
}
for(int i=y+1;i<=n;i++)
{
if(a[i]==z) b[i]++;
}
a[y]=z;
for(int i=1;i<=y;i++)
{
if(a[i]==z) b[y]++;
}
//cout<<b[3]<<endl<<a[2]<<endl<<a[3]<<endl;
}
else
{
scanf("%d",&y);
int sum=0;
for(int i=1;i<=n;i++)
{
if(a[y]>a[i]) sum++;
}
printf("%d\n",sum+b[y]);
}
}
}
是不是应该加强一下了(doge