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 翻译