时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒 空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M 64bit IO Format: %lld
题目描述
威廉·密涅瓦?图书室里,三个人围着一张桌子念叨着这个名字,并寻找着什么。
终于,在一本印有猫头鹰的大书中,他们找到了一个字符串。这个字符串 s 仅由 26 个小写拉丁字母构成,长度为 n 。看似无意义的字母的拼接,会有什么意义呢?诺曼萌生了一个想法。他先从这个大字符串 s 中选择一个子串 ,将其抄写在一张纸上;再选择 s 的一个子串 ,将其紧接着抄写在 后。如此做若干次,直到总共挑选出了恰好 m 个子串 ,它们首尾依次相接能得到另一个大字符串 t 。诺曼想知道,对于一个给定的 m ,最终能得到多少种可能的字符串 t ?
子串是指一段连续的字符;所选择的子串 在位置上可以有重合;可以选择空串,最后得到的字符串也可以是空串;两个字符串 p, q 被视为不同当且仅当两字符串长度不同,或者存在至少一个下标 ,使得 p 的第 i 个字符与 q 的第 i 个字符不同。
输入描述:
输入的第一行包含一个字符串 s 。即在书中找到的大字符串。 第二行包含一个正整数 q ,表示有 q 次询问。 接下去 q 行,每行一个正整数 m ,表示一次询问。m 的意义如题面中所述。