#ABC242B. [ABC242B] Minimize Ordering

[ABC242B] Minimize Ordering

题目背景

翻译自「AtCoder ABC 242B」

题目描述

给定一个字符串 SS。找出通过重新排列 SS 中的字符得到的字典序最小的字符串 SS'

这里,对于两个不同的字符串 s=s1s2sns=s_1s_2\cdots s_nt=t1t2tnt=t_1t_2\cdots t_n,当满足以下条件之一时,s<ts<t 在字典序上成立:

  • 存在一个整数 i(1imin(n,m))i(1\le i\le \min(n,m)) 使得 si<tis_i<t_i 且对于所有整数 j(1j<i)j(1\le j<i) 都有 sj=tjs_j=t_j

  • 对于所有整数 i(1imin(n,m))i(1\le i\le \min(n,m)) 都有 si=tis_i=t_in<mn<m

输入格式

一行一个字符串 SS

输出格式

输出通过重新排列 SS 中的字符得到的字典序最小的字符串 SS'

样例

aba
aab
zzzz
zzzz

说明/提示

样例 1 解释

通过重新排列 aba 可以得到三个字符串:

  • aba
  • aab
  • baa

其中字典序最小的是 aab

数据范围

SS 是一个长度在 112×1052\times 10^5 之间(包含)的字符串,仅由小写英文字母组成。