Weird Tool
TopCoder Custom Round
Time Limit: 0.4s, Memory Limit: 64MiB
Ели има странно приспособление, което може да променя стрингове. То работи по следния начин: момичето избира два различни индекса на стринга, а уредът изтрива буквите на въпросните позиции, след което обръща на обратно буквите между тях.
Например, нека момичето разполага със стринга "topcoder". Тя може да използва приспособлението в индексите 1 и 5 (индексирано от нула), като така би получила "topcoder" → "tocper". След това тя може да го използва върху 'o'-то и 'e'-то, за да получи "tpcr". Най-накрая тя може да го използва върху 'p'-то и 'c'-то за да получи "tr".
В началото Ели разполага със стринга S. Сега тя иска да го модифицира ползвайки странния уред нула или повече пъти, така че да получи лексикографски най-големия възможен резултат. Помогнете ѝ, като напишете програма, която намира този резултат.
Например, нека момичето разполага със стринга "topcoder". Тя може да използва приспособлението в индексите 1 и 5 (индексирано от нула), като така би получила "topcoder" → "tocper". След това тя може да го използва върху 'o'-то и 'e'-то, за да получи "tpcr". Най-накрая тя може да го използва върху 'p'-то и 'c'-то за да получи "tr".
В началото Ели разполага със стринга S. Сега тя иска да го модифицира ползвайки странния уред нула или повече пъти, така че да получи лексикографски най-големия възможен резултат. Помогнете ѝ, като напишете програма, която намира този резултат.
Вход
На единствен ред на стандартния вход ще бъде зададен стрингът S, съставен от малки букви от английската азбука {'a'-'z'}.
Изход
На стандартния изход изведете един стринг – лексикографски най-големия, който може да бъде получен ползвайки уреда нула или повече пъти.
Ограничения
- 1 ≤ |S| ≤ 13
Примерен Вход | Примерен Изход |
---|---|
topcoder | tr |
zle | zle |
fireandblood | roondb |
thecakeisalie | tslkeee |
Във втория пример няма нужда да ползваме уреда нито веднъж.