单点时限: 2.0 sec
内存限制: 256 MB
恺撒密码实质上可以认为是在集合 $Alphabet={a,b,c,d,\ldots,y,z}$ 和 $Alphabet$ 建立了一个双射 $f$,使得每一个字母恰好有一个密文与之对应。密码的核心便在于这个 $f$,如果 $f$ 泄露了,由于是双射,所以 $f^{-1}$ 也能求出,所有的密码也就能破解了。但猜出这个 $f$ 是不容易的,显然 $f$ 的数量与 $Alphabet$ 全排列数量相同,是 $26!$。
但是,如果有一些别的条件就不一样了。比如你有一个密文字符串 $s$,同时已知明文 $s’$ 中出现了子串 abcdefghijklmnopqrstuvwxyz
(你可以不用检查了,就是 26 个字母按顺序)。$f$ 的数量会大幅减少,甚至可以存储在 $32$ 位整数范围内。
本题的要求是要求出有多少个这样的 $f$ 满足要求。
一行一个字符串 $s$ ($1 \le |s| \le 5 \cdot 10^5$)。由小写英文字母组成。
输出答案。
zyxwvutsrqponmlkjihgfedcba
1
abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba
2