SP8333 PLCNMGME - Place-name game

题目描述

在反乌托邦,地名游戏是学生们最喜欢的消遣活动。这款游戏的规则是:一个玩家报出一个城市的名字,下一个玩家必须接上一个以这个城市名字最后一个字母为开头的城市名称。游戏就这样持续下去。 最近,反乌托邦的城市名进行了一次大规模改动。现在,每个城市的名字都必须以辅音字母开头,并以辅音字母结尾。 阿纳克西曼德是一名地理知识欠佳的学生,因此他在游戏中成绩不佳。他最近灵机一动,想出了一个新策略。他准备只记住 21 个反乌托邦城市的名字。他希望能够选择这 21 个城市,使得每个辅音字母中恰好有一个城市的名字是以这个辅音字母开头,并且恰好有一个城市的名字是以这个辅音字母结尾。这样无论他是先行还是后行,都能在游戏中占优势。 给定反乌托邦共有 $N$ 个城市的名字,要求你计算出阿纳克西曼德满足上述条件的 21 个城市名字的选择方法数。由于结果可能会很大,因此请输出它对 $100000007$ 取模的值。

输入格式

输入的第一行包含一个整数 $N$($21 \le N \le 10^5$),表示城市的数量。 接下来的 $N$ 行中,每行有一个字符串代表一个城市的名字。每个城市名字的长度不超过 50,只包含小写字母。

输出格式

输出一个整数,表示阿纳克西曼德选择符合条件的21个城市名字的方法数,并将结果对 $100000007$ 取模。

说明/提示

- $21 \le N \le 10^5$ - 每个城市的名称长度不超过 50,且仅由小写字母组成。 **本翻译由 AI 自动生成**