#K60667. Lexicographically Smallest String by Adjacent Swap

    ID: 31138 Type: Default 1000ms 256MiB

Lexicographically Smallest String by Adjacent Swap

Lexicographically Smallest String by Adjacent Swap

Given a string \( S \), you are allowed to perform at most one adjacent swap operation. In this operation, you may swap a character at position \( i \) with the character at position \( i+1 \), and you can perform this swap at most once if the condition is met.

The operation is performed from left to right: find the first index \( i \) such that \( S[i] > S[i+1] \). When such an \( i \) is found, swap the characters \( S[i] \) and \( S[i+1] \) and then terminate the process. If no such index exists, the string remains unchanged.

Your task is to compute and output the lexicographically smallest string possible after applying at most one such adjacent swap.

inputFormat

The input consists of a single line containing the string \( S \). The string will consist of lowercase English letters only.

Note: Input is read from standard input (stdin).

outputFormat

Output the lexicographically smallest string after performing at most one adjacent swap operation as described above. The output should be written to standard output (stdout).

## sample
cba
bca