AT_digitalarts_2 Password
题目描述
对安全性感兴趣的高桥君是一位希望进入 Digital Arts 株式会社工作的青年。
因此,他决定重新审视自己运营的服务 AtCoder 的安全性。
目前 AtCoder 的系统中,密码仅允许由 $1$ 个以上、$20$ 个以下的小写英文字母组成。
对于字符串 $s$,有如下计算哈希值($hash(s)$)的公式:只要输入的字符串与密码的哈希值一致,就认为输入的字符串是正确的密码。
$$
hash(s) = Num(c_1) + Num(c_2) + \cdots + Num(c_N)
$$
其中 $c_i$ 表示字符串 $s$ 的第 $i$ 个字符。
上述公式中的 $Num()$ 是将小写英文字母转换为数字的函数,$Num($`a`$)=1$,$Num($`b`$)=2$,……,$Num($`z`$)=26$,即 `a` 到 `z` 分别对应 $1$ 到 $26$。
高桥君注意到,这个系统下,即使输入的字符串不是密码本身,也很容易出现哈希值相同的情况。
例如,字符串 `abc` 的哈希值为 $1+2+3=6$,而字符串 `bbb` 的哈希值也是 $2+2+2=6$,`f` 的哈希值也是 $6$。
高桥君想知道,对于当前使用的密码,还有哪些字符串会被系统误判为正确的密码。
请输出一个满足条件且不是正确密码的字符串。
如果有多个满足条件的字符串,输出任意一个即可。
如果不存在满足条件的字符串,则输出 `NO`。
需要注意的是,AtCoder 系统允许输入的密码必须是 $1$ 个以上、$20$ 个以下的小写英文字母,因此输出的字符串也必须满足该条件。
输入格式如下,从标准输入读取。
输入格式
输入一行,表示正确密码的字符串,长度为 $N$,$1 \leq N \leq 20$。
字符串仅包含小写英文字母(`a-z`)。
输出格式
输出一个与正确密码哈希值相同、长度为 $1$ 到 $20$ 的小写英文字母字符串,且不是正确密码本身的字符串。
如果不存在这样的字符串,则输出 `NO`。
输出仅一行,末尾需换行。
说明/提示
- 例如,输入 `abc` 时,哈希值为 $6$,可以输出 `bbb`、`f`、`aaaaaa`、`cc` 等任意一个。
- 输入 `zzzzzzzzzzzzzzzzzzzz` 时,只有原密码本身满足条件,因此输出 `NO`。
- 输入 `abcdef` 时,哈希值为 $21$,可以输出 `fedcba` 等。
- 输入 `k` 时,可以输出 `bbbbba`。
- 输入 `aa` 时,可以输出 `b`。
由 ChatGPT 4.1 翻译