#include<bits/stdc++.h>
#define f1(i, n) for(ll i=1;i<=n;++i)
#define f0(i, n) for(ll i=0;i<n;++i)
#define ull unsigned long long
#define ll long long
#define rev(a) reverse(a.begin(),a.end())
#define all(x) x.begin(),x.end()
#define so(A, n) sort(A+1, A+n+1)
using namespace std;
const int maxn = 200010;
const int N = 2e5 + 5;
int main()
{
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
string s;
cin >> s;
vector<string> v;
v.push_back(s);
pair<char, int> MIN[s.size() + 1];
MIN[s.size()].first = char('z' + 1);
MIN[s.size()].second = s.size();
for (int i = s.size() - 1; i >= 0; --i) {
if (MIN[i + 1].first > s[i]) {
MIN[i].first = s[i];
MIN[i].second = i;
}
else {
MIN[i].first = MIN[i + 1].first;
MIN[i].second = MIN[i + 1].second;
}
}
for (int i = 0; i < s.size() - 1; ++i) {
string a = s;
swap(a[MIN[i + 1].second], a[i]);
v.push_back(a);
}
sort(all(v));
cout << v[0];
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBmMShpLCBuKSBmb3IobGwgaT0xO2k8PW47KytpKQojZGVmaW5lIGYwKGksIG4pIGZvcihsbCBpPTA7aTxuOysraSkKI2RlZmluZSB1bGwgdW5zaWduZWQgbG9uZyBsb25nCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgcmV2KGEpIHJldmVyc2UoYS5iZWdpbigpLGEuZW5kKCkpCiNkZWZpbmUgYWxsKHgpIHguYmVnaW4oKSx4LmVuZCgpCiNkZWZpbmUgc28oQSwgbikgc29ydChBKzEsIEErbisxKQp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgbWF4biA9IDIwMDAxMDsKY29uc3QgaW50IE4gPSAyZTUgKyA1OwppbnQgbWFpbigpCnsKCWlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7IGNvdXQudGllKDApOwoJc3RyaW5nIHM7CgljaW4gPj4gczsKCXZlY3RvcjxzdHJpbmc+IHY7Cgl2LnB1c2hfYmFjayhzKTsKCXBhaXI8Y2hhciwgaW50PiBNSU5bcy5zaXplKCkgKyAxXTsKCU1JTltzLnNpemUoKV0uZmlyc3QgPSBjaGFyKCd6JyArIDEpOwoJTUlOW3Muc2l6ZSgpXS5zZWNvbmQgPSBzLnNpemUoKTsKCWZvciAoaW50IGkgPSBzLnNpemUoKSAtIDE7IGkgPj0gMDsgLS1pKSB7CgkJaWYgKE1JTltpICsgMV0uZmlyc3QgPiBzW2ldKSB7CgkJCU1JTltpXS5maXJzdCA9IHNbaV07CgkJCU1JTltpXS5zZWNvbmQgPSBpOwoJCX0KCQllbHNlIHsKCQkJTUlOW2ldLmZpcnN0ID0gTUlOW2kgKyAxXS5maXJzdDsKCQkJTUlOW2ldLnNlY29uZCA9IE1JTltpICsgMV0uc2Vjb25kOwoJCX0KCX0KCWZvciAoaW50IGkgPSAwOyBpIDwgcy5zaXplKCkgLSAxOyArK2kpIHsKCQlzdHJpbmcgYSA9IHM7CgkJc3dhcChhW01JTltpICsgMV0uc2Vjb25kXSwgYVtpXSk7CgkJdi5wdXNoX2JhY2soYSk7Cgl9Cglzb3J0KGFsbCh2KSk7Cgljb3V0IDw8IHZbMF07CgoKCXJldHVybiAwOwp9CgoK