#include<iostream>usingnamespace std;constint N =100010;int son[N][26],cnt[N],idx;char str[N];voidinsert(char str[]){int p =0;for(int i =0;str[i];i++){int u = str[i]-'a';//字母映射为0-25if(!son[p][u]) son[p][u]=++idx;//创建节点,给予节点编号
p = son[p][u];//通过节点编号寻找子节点}
cnt[p]++;// 通过节点编号增加次数}intquery(char str[]){int p =0;for(int i =0;str[i];i++){int u = str[i]-'a';if(!son[p][u])return0;
p = son[p][u];}return cnt[p];}intmain(){int n ;scanf("%d",&n);while(n--){char op[2];scanf("%s %s",op,str);if(op[0]=='I')insert(str);elseprintf("%d\n",query(str));}return0;}