伟大的巫师给了 Alice 和 Bob 一个长度为 $2 \cdot n$ 的循环字符串,该字符串中没有长度为 $n$ 的重复子串。在循环字符串中,字符 $s_{i+1}$ 紧跟在 $s_i$ 之后。此外,$s_1$ 紧跟在 $s_{2n}$ 之后。
不幸的是,邪恶的精灵打乱了字符串中所有的符号。请帮助 Alice 和 Bob 恢复原始字符串,使其满足上述条件。
输入格式
第一行包含一个长度为 $2 \cdot n$ 的字符串 $s$ ($2 \le 2 \cdot n \le 1\,000\,000$),仅由小写拉丁字母组成。
输出格式
如果无法恢复字符串以满足条件,则在第一行输出 “NO”(不含引号)。否则,在第一行输出 “YES”(不含引号)。
在第二行输出一个字符串——即恢复后的字符串。
如果存在多个答案,输出任意一个即可。
样例
样例输入 1
cbbabcacbb
样例输出 1
YES abbabcbccb
样例输入 2
aa
样例输出 2
NO
样例输入 3
afedbc
样例输出 3
YES afedbc
说明
在第一个样例中,恢复后的字符串的长度为 $n=5$ 的子串为:“abbab”、“bbabc”、“babcb”、“abcbc”、“bcbcc”、“cbccb”、“bccba”、“ccbab”、“cbabb”、“babba”。
注意,第一个样例本身不包含重复子串,但它也可以被重写为另一个没有重复子串的循环字符串。因此,解是不唯一的——给出的样例也是一个正确的解。
在第二个样例中,无法恢复字符串以使其不存在重复子串。
在第三个样例中,无需进行任何更改。