#P3709. Cipher

Cipher

题目描述

对于单词(字符串)ss,保证它只由小写字母组成。设 ss 的长度为 lenlen,下文单词(字符串)下标从 11 开始。

如果一个词可以通过零次或多次运算转换成另一个词,则我们认为这两个词的意思是一致的。运算仅仅包含以下两种方式。

  • 方式一:指定任意一个位置 p (1plen)p\ (1 \le p \le len) 使 sps_p 上的字母变成字母表上的后一个字母(如 aa 变成 bbxx 变成 yy),而 sp+1s_{p+1} 则要变成字母表上的前一个字母(如 dd 变成 cc)。
  • 方式二:指定任意一个位置 p (1plen)p\ (1 \le p \le len) 使 sps_p 上的字母变成字母表上的前一个字母,而 sp+1s_{p+1} 则要变成字母表上的后一个字母。

你需要回答对于输入的单词,一共有多少种与它意思一致的单词。

另外,对于字母 aa,不能将它变成前一个字母(因为它在字母表上没有前一个字母),同理,字母 zz 也不能变成后一个字母。

给出多个单词(字符串),你需要分别对它们做出回答。

输入格式

第一行一个数字 tt 表示单词的个数,t104t \le 10^4

接下来每行一个单词,长度不大于 100100

输出格式

tt 行,每行一个数,表示对于每个单词的答案对 109+710^9+7 取模的结果。

1
ab
1
1
aaaaaaaaaaa
0
2
ya
klmbfxzb
24
320092793