// 维护一个字符串集合
// 1插入自符串
// 2询问次数
#include<iostream>
using namespace std;
const int N=100010;
int idx;//存储下标,唯一性标记
int sons[N][26];//N为idx,26为后面跟着的字母
int res[N];//存储单词个数
char str[N];
//插入单词
void insert(char str[])
{
int p=0;//头节点
for(int i=0;str[i];i++)
{
int u=str[i]-'a';//化为数字
if(!sons[p][u])sons[p][u]=++idx;
p=sons[p][u];
}
res[p]++;
}
//查找
int find(char str[])
{
int p=0;
for(int i=0;str[i];i++)
{
int u=str[i]-'a';
if(!sons[p][u])return 0;
p=sons[p][u];
}
return res[p];
}
int main()
{
int n;
cin>>n;
while(n--)
{
char op[2];
cin>>op>>str;
if(op[0]=='I')insert(str);
else cout<<find(str)<<endl;
}
return 0;
}