#include <bits/stdc++.h>
#define int long long
using namespace std;
int k[1000100],b[1000100];
map<int,bool> vis;
map<int,int> tong;
map<int,map<int,int> > m;
signed main(){
int n,k1,b1;
cin>>n;
int num,numm=0;
bool flag=0;
for(int i=1;i<=n;i++){
cin>>num;
if(num==1){
cin>>k[i]>>b[i];
if(vis[k[i]]==0 && flag==1){
m[k[i]][b[i]]=0;
tong[k[i]]=0;
vis[k[i]]=1;
}
m[k[i]][b[i]]++;
tong[k[i]]++;
numm++;
}
else if(num==2){
cin>>k1>>b1;
if(vis[k1]==0 && flag==1){
cout<<numm<<endl;
}
else cout<<numm-tong[k1]<<endl;
}
else {
vis.clear();
flag=1;
cin>>k1>>b1;
numm=tong[k1];
if(m[k1][b1]) {
numm-=m[k1][b1];
m[k1][b1]=0;
}
vis[k1]=1;
}
}
return 0;
}