#CSPJ1022. 悲剧(tragedy)

悲剧(tragedy)

题目描述

众所周知,小 Z 英语不太好。因此,一些不熟悉的单词可能会让小 Z 感到难过,这些单词被称为“悲剧单词”。具体来说,一个单词被定义为悲剧单词,当且仅当它满足以下所有条件:

  • 首先,它只包含大写字母。

  • 其次,它不包含三个连续的元音字母(A、E、I、O、U)或三个连续的辅音字母(其他 2121 个字母)。

  • 最后,它应该至少包含一个特殊的悲剧字母 L

现在,给定一个单词,这个单词由大写字母或下划线组成,你可以将每个下划线用一个大写字母填充。为了取笑小 Z,你想知道用这种方式可以构造出多少个悲剧单词。

输入格式

tragedy.in 文件读入数据。

输入一行一个单词,这个单词由大写字母和下划线(_)组成。

输出格式

输出到 tragedy.out 文件。

输出一行一个整数,表示可以构造的悲剧单词的总数。

注意:这个数可能非常大,可能超过 3232 位无符号整数的范围,所以需要用 long long 保存答案。

输入输出样例

V__K
10

说明提示

样例解释

元音字母指的是 'A'、'E'、'I'、'O'、'U',辅音字母指的是其他 2121 个字母。特殊的悲剧字母 'L' 属于辅音字母。

22 或第 33 个位置必须包含至少一个元音(因为不能连续三个辅音),元音有 55 种,另一个位置只能放 L,总共有 25=102*5=10 种情况。

数据范围

30%30\% 数据满足下划线的数目不超过 66 个。

100%100\% 数据满足下划线的数目不超过 1010 个,并且输入的单词只包含大写英文字母和下划线,输入单词的长度不超过 100100