#include #include #include using namespace std; typedef struct node{ int num; node *next[30]; node(){ memset(next,0,sizeof(next)); num=0; } }Trie; char op[32],s[32]; void Insert(node *root,char *s){ node *p=root; for(int i=0; s[i]; i++){ int x=s[i]-'a'; if(p->next[x]==NULL) p->next[x]=new node; p=p->next[x]; p->num++; } } int Search(node *root,char *s){ node *p=root; for(int i=0;s[i];i++){ int x=s[i]-'a'; if(p->next[x]==NULL) return 0; p=p->next[x]; } return p->num; } void Delete(node *root,char *s,int cnt){ node *p=root; for(int i=0;s[i];i++){ int x=s[i]-'a'; p=p->next[x]; p->num-=cnt; } for(int i=0;i<30;i++)p->next[i]=0; } int main(){ int n; scanf("%d",&n); Trie *root=new node; for(int i=0;i