#include <iostream>

using namespace std;

int main()
{
    string s;
    cin >> s;
    string maxS = s;
    int start = s.size() - 1;
    bool found = false;
    for(int i = 0; i < s.size() and !found; i++){
        for(int j = i; j < s.size(); j++){
            if(s[j] > s[i]){
                start = i;
                found = true;
                break;
            }
        }
    }
    for(int j = start + 1; j < s.size(); j++){
        if(s[j] >= s[start]) {
            string curMax = s;
            for (int k = j; k < s.size(); k++) {
                curMax.insert(start + k - j, 1, s[k]);
                curMax.erase(k + 1, 1);
                maxS = max(curMax, maxS);
            }
        }
    }
    cout << maxS;
    return 0;
}