int size = 1;
struct t
{
int p, v;
}trie[20005][26];
void insert(char *s)
{
int idx;
int p = 0;
while(*s)
{
idx = *s - 'a';
if(!trie[p][idx].p)
trie[p][idx].p = size++;
trie[p][idx].v ++;
p = trie[p][idx].p;
s++;
}
}
int size = 1;
struct t
{
int p, v;
}trie[20005][26];
void insert(char *s)
{
int idx;
int p = 0;
while(*s)
{
idx = *s - 'a';
if(!trie[p][idx].p)
trie[p][idx].p = size++;
trie[p][idx].v ++;
p = trie[p][idx].p;
s++;
}
}