Description:


某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。

Input:


第一个一个整数N,表示有多少个单词,接下来N行每行一个单词。每个单词由小写字母组成,N<=200,单词长度不超过10^6

Output:


输出N个整数,第i行的数字表示第i个单词在文章中出现了多少次。

Sample Input:


Sample Output:


 

题解:


题意其实不太清楚。

考虑使用AC自动机,我们如果从某个单词的某个节点一路getfail到了另一个单词的末节点,那么另一个单词出现次数加1。

即fail树上对应的子树权值和。

代码如下: