struct Trie
{
int son[N][30], idx, cnt[N];
void insert(string x)
{
int np = 0;
for(int i = 0;i < x.size();i ++ )
{
int u = x[i] - 'a';
if(!son[np][u]) son[np][u] = ++idx;
np = son[np][u];
}
cnt[np] ++ ;
}
int query(string x)
{
int np = 0;
for(int i = 0;i < x.size();i ++ )
{
int u = x[i] - 'a';
if(!son[np][u]) return 0;
np = son[np][u];
}
return cnt[np];
}
} trie;