小 Ivica 在一家生产计算机字体的公司找到了一份暑期工作。Ivica 工作的部门专门负责测试计算机字体,而 Ivica 的团队仅负责测试英文小写字母。
测试字体的方法是打印出使用这些字母的各种句子,然后手动(更准确地说是通过视觉)检查排版是否正确。只有包含全部 26 个英文小写字母(a-z)的句子才会被用于测试。这些句子被称为测试句子。
你可能已经猜到了,Ivica 的工作就是寻找测试句子。他有一本包含 $N$ 个单词的词典,他需要计算利用这些单词可以组成多少个不同的测试句子。词典中的每个单词在句子中最多只能使用一次,且句子中单词的顺序无关紧要(例如,“uvijek jedem sarmu” 和 “jedem sarmu uvijek” 被视为相同的句子)。
输入格式
输入的第一行包含一个整数 $N$ ($1 \le N \le 25$),表示词典中单词的数量。
接下来的 $N$ 行,每行包含一个来自词典的单词,其长度不超过 100。
词典中的所有单词都是互不相同的。
输出格式
输出的第一行也是唯一的一行,应当包含题目所要求的答案。
样例
输入样例 1
9 the quick brown fox jumps over a sleazy dog
输出样例 1
2
输入样例 2
3 a b c
输出样例 2
0
输入样例 3
15 abcdefghijkl bcdefghijklm cdefghijklmn defghijklmno efghijklmnop fghijklmnopq ghijklmnopqr hijklmnopqrs ijklmnopqrst jklmnopqrstu klmnopqrstuv lmnopqrstuvw mnopqrstuvwx nopqrstuvwxy opqrstuvwxyz
输出样例 3
8189
说明
样例 1 说明:除了单词 “a” 以外,其他所有单词都必须在测试句子中使用,因为每个单词都包含一个在其他任何单词中都找不到的字母。因此,有两种可能的解决方案。第一种是包含所有单词的句子,第二种是包含除 “a” 以外所有单词的句子。
样例 3 说明:鉴于该样例较长,我们强调该样例中的所有单词均由英文字母表中的连续字母组成。