#ARC134B. 保留或翻转

保留或翻转

保留或翻转

时间限制:2s
空间限制:1024MB

题目描述

给定一个长度为 NN 的小写英文字母串 ss,第 ii 个字符记为 sis_i。你可以选择序列 (1,2,…,N)(1,2,\ldots,N) 的一个长度为偶数的子序列 x=(x1,x2,…,x2k)x=(x_1,x_2,\ldots,x_{2k}),其中允许 k=0k=0,并依次交换 sx1s_{x_1} 与 sx2ks_{x_{2k}}、sx2s_{x_2} 与 sx2k−1s_{x_{2k-1}},直至交换 sxks_{x_k} 与 sxk+1s_{x_{k+1}}。

求一次上述操作后可能得到的字符串中字典序最小的一个。

输入格式

第一行一个整数 NN,第二行一个长度为 NN 的小写英文字母串 ss。

输出格式

输出操作后可能得到的字符串中字典序最小的一个。

样例输入 1

4
dcab

样例输出 1

acdb

样例输入 2

2
ab

样例输出 2

ab

样例输入 3

16
cabaaabbbabcbaba

样例输出 3

aaaaaaabbbbcbbbc

样例输入 4

17
snwfpfwipeusiwkzo

样例输出 4

effwpnwipsusiwkzo

数据范围

  • 1≤N≤2×1051\le N\le 2\times 10^5;
  • ss 仅由小写英文字母组成。
子任务编号 分值 特殊限制
1 15 N≤10N\le 10
2 25 N≤5000N\le 5000
3 30 ss 中至多出现两种不同字符
4 无特殊限制