#include<bits/stdc++.h>
using namespace std;
int f[100001],nu[10001],a[100001];
int main(){
long long n,q,p,b[100001],k=0;
cin>>n>>q;
for(int i=1;i<=n;i++){
cin>>p;
k=max(k,p);
a[p]+=1;
// cout<<"p="<<p<<" a="<<a[p]<<endl;
}
long long nk,c,kj=0;
for(int i=1;i<=q;i++){
cin>>nk>>c;
if(nk==1){
a[c]+=1;
}
if(nk==2){
a[c]-=1;
}
if(nk==3){
kj+=1;
for(int j=0;j<=k;j++){
//cout<<a[j]<<" "<<nu<<endl;
if(a[j]>c){
nu[kj]=nu[kj]+a[j]-c;
// cout<<"nu="<<nu<<endl;
}
}
}
}
if(kj>0){
for(int i=1;i<=kj-1;i++){
cout<<nu[i]<<endl;
}
cout<<nu[kj];
}
return 0;
}
/*3 5
5 5 5
1 2
1 3
3 5*/