#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<iostream>
#include<algorithm>
using namespace std;
const int root=0;
int tot;
struct node
{
int cnt;
int next[26];
void newnode()
{
cnt=0;
for(int i=0;i<26;i++)
{
next[i]=-1;
}
}
}t[1000005];
void clear()
{
tot=0;
t[root].newnode();
}
void insert(char *str)
{
int p=root;
int len=strlen(str);
for(int i=0;i<len;i++)
{
int id=str[i]-'a';
if(t[p].next[id]==-1)
{
t[++tot].newnode();
t[p].next[id]=tot;
}
p=t[p].next[id];
t[p].cnt++;
}
}
int query(char *str)
{
int p=root;
int len=strlen(str);
for(int i=0;i<len;i++)
{
int id=str[i]-'a';
if(t[p].next[id]==-1)
{
return 0;
}
p=t