[Baltic2005]ancient
波罗的海的考古学家最近正参与一个非常重要的工程,并发现了一个古老的手稿,这个手稿对于理解他们正在探索区域的居民文化起着关键性的作用。手稿上主要由图案构成,因此考古学家能够对文档的主题有个大致的概念。
然而,手稿中仍有一些书写部分,使考古学家百思不得其解。由于除了其所使用语言过于古老,手稿还有部分段落被毁,其中一些单词也模糊了,所以他们不能完整地理解这部分的含义。
其中一个考古学家说,手稿中的一些单词使他想到了某种语言:在这种语言的单词中,
- 不会有超过 个连续的元音,也不会有超过 个连续的辅音;
- 同时不会有超过 个连续的元音是相同的,也不会有超过 个连续的辅音是相同的。
考古学家留下一组人员寻找更多准确的信息。另一部分人在等待那些人回音的同时,决定检查手稿中是否有东西违背那位考古学家的假设,并且估计目前的工作量,所以他们想知道手稿究竟有多少种译解方法。我们必须帮助他们!
注意:元音是指 a、e、i、o、u,而其他 个英文字母为辅音。
输入格式
第一行包含四个整数 ,用单个空格分隔。
第二行描述一个从手稿中抽出的单词,它由最多 个英文小写字母构成;如果某一位为 *,那么说明这个字母已经模糊不清了。
输出格式
输出只有一个整数,描述有多少种可能的合法单词符合上文给出的限制条件。你可以假设答案不超过 位带符号整数。
有可能那位考古学家的假设是错误的,不存在任何一种可能的合法单词,那么答案输出为 。
样例输入
1 1 1 1
a**
样例输出
105
数据范围
- ;
- ;
- 单词长度不超过 。
来源与许可
本题为 Baltic 2005 试题「ancient」,题面与测试数据整理自 BZOJ 1394。
样例 1
输入
1 1 1 1
a**
输出
105