{"trustable":true,"prependHtml":"\u003cstyle type\u003d\"text/css\"\u003e\n section pre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n word-break: break-all;\n word-wrap: break-word;\n color: #333;\n background: rgba(255, 255, 255, 0.5);\n border: 1px solid #ccc;\n border-radius: 6px;\n }\n\u003c/style\u003e\n\u003cscript\u003e\n window.katexOptions \u003d {\n delimiters: [\n {left: \u0027\\\\(\u0027, right: \u0027\\\\)\u0027, display: false},\n {left: \u0027\\\\[\u0027, right: \u0027\\\\]\u0027, display: true}\n ]\n };\n\u003c/script\u003e\n","sections":[{"title":"问题声明","value":{"format":"HTML","content":"\u003csection\u003e\n \u003cp\u003e给定长度为 \u003cvar\u003e\\(N\\)\u003c/var\u003e 的字符串 \u003cvar\u003e\\(s\\)\u003c/var\u003e。让 \u003cvar\u003e\\(s_i\\)\u003c/var\u003e 表示 \u003cvar\u003e\\(s\\)\u003c/var\u003e 的第 \u003cvar\u003e\\(i\\)\u003c/var\u003e 个字符。\u003c/p\u003e\n \u003cp\u003eSnuke 将通过以下过程转换 \u003cvar\u003e\\(s\\)\u003c/var\u003e。\u003c/p\u003e\n \u003cul\u003e\n \u003cli\u003e选择一个 \u003cstrong\u003e偶数长度\u003c/strong\u003e(不一定连续)的子序列 \u003cvar\u003e\\(x\u003d(x_1, x_2, \\ldots, x_{2k})\\)\u003c/var\u003e,来自于 \u003cvar\u003e\\((1,2, \\ldots, N)\\)\u003c/var\u003e(\u003cvar\u003e\\(k\\)\u003c/var\u003e可以是 \u003cvar\u003e\\(0\\)\u003c/var\u003e)。\u003c/li\u003e\n \u003cli\u003e交换 \u003cvar\u003e\\(s_{x_1}\\)\u003c/var\u003e 和 \u003cvar\u003e\\(s_{x_{2k}}\\)\u003c/var\u003e。\u003c/li\u003e\n \u003cli\u003e交换 \u003cvar\u003e\\(s_{x_2}\\)\u003c/var\u003e 和 \u003cvar\u003e\\(s_{x_{2k-1}}\\)\u003c/var\u003e。\u003c/li\u003e\n \u003cli\u003e交换 \u003cvar\u003e\\(s_{x_3}\\)\u003c/var\u003e 和 \u003cvar\u003e\\(s_{x_{2k-2}}\\)\u003c/var\u003e。\u003c/li\u003e\n \u003cli\u003e\u003cvar\u003e\\(\\vdots\\)\u003c/var\u003e\u003c/li\u003e\n \u003cli\u003e交换 \u003cvar\u003e\\(s_{x_{k}}\\)\u003c/var\u003e 和 \u003cvar\u003e\\(s_{x_{k+1}}\\)\u003c/var\u003e。\u003c/li\u003e\n \u003c/ul\u003e\n \u003cp\u003e在该过程后可能得到的字符串中,找到字典序最小的那个。\u003c/p\u003e\n \u003cdetails\u003e\n \u003csummary\u003e什么是字典顺序?\u003c/summary\u003e\n \u003cp\u003e简而言之,字典顺序是单词在字典中的排列顺序。作为更正式的定义,以下是确定不同字符串 \u003cvar\u003e\\(S\\)\u003c/var\u003e 和 \u003cvar\u003e\\(T\\)\u003c/var\u003e 字典顺序的算法。\u003c/p\u003e\n \u003cp\u003e在下文中,让 \u003cvar\u003e\\(S_i\\)\u003c/var\u003e 表示 \u003cvar\u003e\\(S\\)\u003c/var\u003e 的第 \u003cvar\u003e\\(i\\)\u003c/var\u003e 个字符。另外,如果 \u003cvar\u003e\\(S\\)\u003c/var\u003e 在字典顺序上小于 \u003cvar\u003e\\(T\\)\u003c/var\u003e,我们用 \u003cvar\u003e\\(S \\lt T\\)\u003c/var\u003e 表示这一事实;如果 \u003cvar\u003e\\(S\\)\u003c/var\u003e 在字典顺序上大于 \u003cvar\u003e\\(T\\)\u003c/var\u003e,我们用 \u003cvar\u003e\\(S \\gt T\\)\u003c/var\u003e 表示。\u003c/p\u003e\n \u003col\u003e\n \u003cli\u003e让 \u003cvar\u003e\\(L\\)\u003c/var\u003e 为 \u003cvar\u003e\\(S\\)\u003c/var\u003e 和 \u003cvar\u003e\\(T\\)\u003c/var\u003e 长度中较小的那一个。对于每个 \u003cvar\u003e\\(i\u003d1,2,\\dots,L\\)\u003c/var\u003e,我们检查 \u003cvar\u003e\\(S_i\\)\u003c/var\u003e 和 \u003cvar\u003e\\(T_i\\)\u003c/var\u003e 是否相同。\u003c/li\u003e\n \u003cli\u003e如果存在 \u003cvar\u003e\\(i\\)\u003c/var\u003e 使得 \u003cvar\u003e\\(S_i \\neq T_i\\)\u003c/var\u003e,让 \u003cvar\u003e\\(j\\)\u003c/var\u003e 为最小的这样的 \u003cvar\u003e\\(i\\)\u003c/var\u003e。然后,我们比较 \u003cvar\u003e\\(S_j\\)\u003c/var\u003e 和 \u003cvar\u003e\\(T_j\\)\u003c/var\u003e。如果 \u003cvar\u003e\\(S_j\\)\u003c/var\u003e 在字典顺序中排在 \u003cvar\u003e\\(T_j\\)\u003c/var\u003e 之前,我们判定 \u003cvar\u003e\\(S \\lt T\\)\u003c/var\u003e 并停止;如果 \u003cvar\u003e\\(S_j\\)\u003c/var\u003e 在字典顺序中排在 \u003cvar\u003e\\(T_j\\)\u003c/var\u003e 之后,我们判定 \u003cvar\u003e\\(S \\gt T\\)\u003c/var\u003e 并停止。\u003c/li\u003e\n \u003cli\u003e如果不存在 \u003cvar\u003e\\(i\\)\u003c/var\u003e 使得 \u003cvar\u003e\\(S_i \\neq T_i\\)\u003c/var\u003e,我们比较 \u003cvar\u003e\\(S\\)\u003c/var\u003e 和 \u003cvar\u003e\\(T\\)\u003c/var\u003e 的长度。如果 \u003cvar\u003e\\(S\\)\u003c/var\u003e 较短,我们判定 \u003cvar\u003e\\(S \\lt T\\)\u003c/var\u003e 并停止;如果 \u003cvar\u003e\\(S\\)\u003c/var\u003e 较长,我们判定 \u003cvar\u003e\\(S \\gt T\\)\u003c/var\u003e 并停止。\u003c/li\u003e\n \u003c/ol\u003e\n \u003c/details\u003e\n\u003c/section\u003e"}},{"title":"约束条件","value":{"format":"HTML","content":"\u003csection\u003e\n \u003cul\u003e\n \u003cli\u003e\u003cvar\u003e\\(1 \\leq N \\leq 2 \\times 10^5\\)\u003c/var\u003e\u003c/li\u003e\n \u003cli\u003e\u003cvar\u003e\\(s\\)\u003c/var\u003e 是一个长度为 \u003cvar\u003e\\(N\\)\u003c/var\u003e 的由小写英文字母组成的字符串。\u003c/li\u003e\n \u003c/ul\u003e\n\u003c/section\u003e"}},{"title":"输入","value":{"format":"HTML","content":"\u003csection\u003e\n \u003cp\u003e输入以以下格式从标准输入给出:\u003c/p\u003e\n \u003cpre\u003e\u003cvar\u003e\\(N\\)\u003c/var\u003e\r\n\u003cvar\u003e\\(s\\)\u003c/var\u003e\r\n\u003c/pre\u003e\n\u003c/section\u003e"}},{"title":"输出","value":{"format":"HTML","content":"\u003csection\u003e\n \u003cp\u003e打印 Snuke 过程后可能的字典序最小字符串 \u003cvar\u003e\\(s\\)\u003c/var\u003e。\u003c/p\u003e\n\u003c/section\u003e"}},{"title":"样例 1","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e4\r\ndcab\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003eacdb\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003csection\u003e\n\u003c/section\u003e\u003csection\u003e\n \u003cul\u003e\n \u003cli\u003e当 \u003cvar\u003e\\(x\u003d(1,3)\\)\u003c/var\u003e 时,该过程只会交换 \u003cvar\u003e\\(s_{1}\\)\u003c/var\u003e 和 \u003cvar\u003e\\(s_{3}\\)\u003c/var\u003e。\u003c/li\u003e\n \u003cli\u003e过程后的 \u003cvar\u003e\\(s\\)\u003c/var\u003e 是 \u003ccode\u003eacdb\u003c/code\u003e,是可能的字典序最小结果。\u003c/li\u003e\n \u003c/ul\u003e\n\u003c/section\u003e"}},{"title":"样例 2","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e2\r\nab\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003eab\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003csection\u003e\n\u003c/section\u003e\u003csection\u003e\n \u003cul\u003e\n \u003cli\u003e当 \u003cvar\u003e\\(x\u003d()\\)\u003c/var\u003e 时,过程后的 \u003cvar\u003e\\(s\\)\u003c/var\u003e 是 \u003ccode\u003eab\u003c/code\u003e,是可能的字典序最小结果。\u003c/li\u003e\n \u003cli\u003e请注意 \u003cvar\u003e\\(x\\)\u003c/var\u003e 可能具有长度 \u003cvar\u003e\\(0\\)\u003c/var\u003e。\u003c/li\u003e\n \u003c/ul\u003e\n\u003c/section\u003e"}},{"title":"样例 3","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e16\r\ncabaaabbbabcbaba\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003eaaaaaaabbbbcbbbc\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003csection\u003e\n\u003c/section\u003e\u003csection\u003e\n\u003c/section\u003e"}},{"title":"样例 4","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e17\r\nsnwfpfwipeusiwkzo\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003eeffwpnwipsusiwkzo\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003csection\u003e\n\u003c/section\u003e\u003csection\u003e\n\u003c/section\u003e"}}]}