311045 / 密涅瓦的谜题
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

威廉·密涅瓦?图书室里,三个人围着一张桌子念叨着这个名字,并寻找着什么。
终于,在一本印有猫头鹰的大书中,他们找到了一个字符串。这个字符串 s 仅由 26 个小写拉丁字母构成,长度为 n 。看似无意义的字母的拼接,会有什么意义呢?诺曼萌生了一个想法。他先从这个大字符串 s 中选择一个子串 t_1 ,将其抄写在一张纸上;再选择 s 的一个子串 t_2 ,将其紧接着抄写在 t_1 后。如此做若干次,直到总共挑选出了恰好 m 个子串 ,它们首尾依次相接能得到另一个大字符串 t 。诺曼想知道,对于一个给定的 m ,最终能得到多少种可能的字符串 t ?
子串是指一段连续的字符;所选择的子串 在位置上可以有重合;可以选择空串,最后得到的字符串也可以是空串;两个字符串 p, q 被视为不同当且仅当两字符串长度不同,或者存在至少一个下标 ,使得 p 的第 i 个字符与 q 的第 i 个字符不同。

输入描述:

输入的第一行包含一个字符串 s 。即在书中找到的大字符串。
第二行包含一个正整数 q ,表示有 q 次询问。
接下去 q 行,每行一个正整数 m ,表示一次询问。m 的意义如题面中所述。

输出描述:

输出包含 q 行,每行一个整数,表示对应的一次询问的答案在模  意义下的值。
示例1

输入

复制
aab
3
1
2
3

输出

复制
6
25
96

说明

当 m=1 时,可能的字符串有 "", "a", "aa", "aab", "ab", "b" 。共 6 种。
当 m=2 时,可能的字符串有 "aba", "aabaab", "aab", "abb", "aaaa", "abaa", "ba" 等等;但不可能是 "bbb", "aaaaa", "aabaabaab", "baaa" 等字符串。

备注: