#include <iostream>
#include <fstream>
#include <map>
std::map<long long int, int> libri;
using namespace std;
// Declaring functions
void aggiungi(long long int id);
void togli(long long int id);
int conta(long long int id);
void aggiungi(long long int id) {
libri[id]++;
}
void togli(long long int id) {
if(libri[id] > 0){
libri[id]--;
if(libri[id] == 0){
libri.erase(id);
}
}
}
int conta(long long int id) {
return libri[id];
}
int main() {
ios::sync_with_stdio(false);
// Uncomment the following lines if you want to read/write from files
// ifstream cin("input.txt");
// ofstream cout("output.txt");
int Q;
cin >> Q;
for(int i = 0; i < Q; i++){
char t;
long long int id;
cin >> t >> id;
if(t == 'a') {
aggiungi(id);
} else if (t == 't') {
togli(id);
} else if (t == 'c') {
cout << conta(id) << '\n';
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnN0cmVhbT4KI2luY2x1ZGUgPG1hcD4Kc3RkOjptYXA8bG9uZyBsb25nIGludCwgaW50PiBsaWJyaTsKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIERlY2xhcmluZyBmdW5jdGlvbnMKdm9pZCBhZ2dpdW5naShsb25nIGxvbmcgaW50IGlkKTsKdm9pZCB0b2dsaShsb25nIGxvbmcgaW50IGlkKTsKaW50IGNvbnRhKGxvbmcgbG9uZyBpbnQgaWQpOwoKdm9pZCBhZ2dpdW5naShsb25nIGxvbmcgaW50IGlkKSB7CiAgICBsaWJyaVtpZF0rKzsKfQoKdm9pZCB0b2dsaShsb25nIGxvbmcgaW50IGlkKSB7CiAgICBpZihsaWJyaVtpZF0gPiAwKXsKICAgICAgICBsaWJyaVtpZF0tLTsKICAgICAgICBpZihsaWJyaVtpZF0gPT0gMCl7CiAgICAgICAgICAgIGxpYnJpLmVyYXNlKGlkKTsKICAgICAgICB9CiAgICB9Cn0KCmludCBjb250YShsb25nIGxvbmcgaW50IGlkKSB7CiAgICByZXR1cm4gbGlicmlbaWRdOwp9CgoKaW50IG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CgogICAgLy8gVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgbGluZXMgaWYgeW91IHdhbnQgdG8gcmVhZC93cml0ZSBmcm9tIGZpbGVzCiAgICAvLyBpZnN0cmVhbSBjaW4oImlucHV0LnR4dCIpOwogICAgLy8gb2ZzdHJlYW0gY291dCgib3V0cHV0LnR4dCIpOwoKICAgIGludCBROwogICAgY2luID4+IFE7CgogICAgZm9yKGludCBpID0gMDsgaSA8IFE7IGkrKyl7CiAgICAgICAgY2hhciB0OwogICAgICAgIGxvbmcgbG9uZyBpbnQgaWQ7CiAgICAgICAgY2luID4+IHQgPj4gaWQ7CgogICAgICAgIGlmKHQgPT0gJ2EnKSB7CiAgICAgICAgICAgIGFnZ2l1bmdpKGlkKTsKICAgICAgICB9IGVsc2UgaWYgKHQgPT0gJ3QnKSB7CiAgICAgICAgICAgIHRvZ2xpKGlkKTsKICAgICAgICB9IGVsc2UgaWYgKHQgPT0gJ2MnKSB7CiAgICAgICAgICAgIGNvdXQgPDwgY29udGEoaWQpIDw8ICdcbic7CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiAwOwp9Cg==