#include #include using namespace std; typedef struct node { int num; node *next[30]; node() { memset(next,0,sizeof(next)); num=0; } }Trie; void insert(node *root,string s) { node *p=root; int i=0; while(s[i]) { int x=s[i]-'a'; if(p->next[x]==0) p->next[x]=new node(); p=p->next[x]; p->num++; i++; } } int search(node *root,string s) { node *p=root; int i=0; while(s[i]) { int x=s[i]-'a'; if(p->next[x]==0) return 0; p=p->next[x]; i++; } return p->num; } void delet(node *root,string s,int k) { node *p=root; int i=0; while(s[i]) { int x=s[i]-'a'; p=p->next[x]; p->num-=k; i++; } for(i=0;i<30;i++) p->next[i]=0; } int main() { int i,n; char s1[35],s2[35]; scanf("%d",&n); Trie *root = new node(); for(i=0;i