2804: PFS集合

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:0 解决:

题目描述

    有一种特殊的集合叫做PFS(Prefix Free Set)集合。
  一个PFS集合由若干字符串构成,且不存在一个字符串是另一个字符串的前缀。空集也被看作是PFS集合。
  例如 {"hello"} 和 {"hello", "goodbye", "giant", "hi"} 是pfs集合,但 {"hello","hell"} 和{"great","gig","g"} 不是。
  现在给你一个集合,请你求出它的子集是PFS集合的子集个数对9191取模后的答案。

输入

    输入数据第一行一个整数n,表示集合里元素的个数。
    以下n行,每行一个非空字符串s,仅包含小写英文字母,表示集合中的元素。数据保证不存在两个相同的字符串。

输出

    输出一个正整数ans,表示对9191取模后的答案。

样例输入 复制

3
hello
hi
hell 

样例输出 复制

6

提示

【输入输出解释】
  除了 {"hell","hello"} 和 {"hi","hello","hell"} 两种情况外,其余情况均是PFS集合。
【数据范围】
  对于30%的数据,n≤20;
  对于100%的数据,1≤n≤50000,字符串长度不大于50。