#include<bits/stdc++.h>
using namespace std;
int main() {
string s;
cin >> s;
int n = s.size();
vector<int> f(n, 1);
for (int i = n - 2; i >= 0; --i) {
for (int j = i + 1; j < n; ++j) {
if (s[j] < s[i]) {
f[i] = max(f[i], 1 + f[j]);
}
}
}
int cur = 0;
for (int x : f) cur = max(cur, x);
string ans = "";
int last = -1;
char pre = '9' + 1;
for (int k = cur; k > 0; --k) {
char mxchar = '0'-1;
int j = -1;
for (int i = last + 1; i < n; ++i) {
if (s[i] < pre && f[i] >= k) {
if (s[i] > mxchar) {
mxchar = s[i];
j = i;
}
}
}
if (j != -1) {
ans += mxchar;
last = j;
pre = mxchar;
}
}
cout << ans;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIHN0cmluZyBzOwogICAgY2luID4+IHM7CgogICAgaW50IG4gPSBzLnNpemUoKTsKICAgIHZlY3RvcjxpbnQ+IGYobiwgMSk7CiAgICBmb3IgKGludCBpID0gbiAtIDI7IGkgPj0gMDsgLS1pKSB7CiAgICAgICAgZm9yIChpbnQgaiA9IGkgKyAxOyBqIDwgbjsgKytqKSB7CiAgICAgICAgICAgIGlmIChzW2pdIDwgc1tpXSkgewogICAgICAgICAgICAgICAgZltpXSA9IG1heChmW2ldLCAxICsgZltqXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgaW50IGN1ciA9IDA7CiAgICBmb3IgKGludCB4IDogZikgY3VyID0gbWF4KGN1ciwgeCk7CgogICAgc3RyaW5nIGFucyA9ICIiOwogICAgaW50IGxhc3QgPSAtMTsKICAgIGNoYXIgcHJlID0gJzknICsgMTsKCiAgICBmb3IgKGludCBrID0gY3VyOyBrID4gMDsgLS1rKSB7CiAgICAgICAgY2hhciBteGNoYXIgPSAnMCctMTsKICAgICAgICBpbnQgaiA9IC0xOwoKICAgICAgICBmb3IgKGludCBpID0gbGFzdCArIDE7IGkgPCBuOyArK2kpIHsKCiAgICAgICAgICAgIGlmIChzW2ldIDwgcHJlICYmIGZbaV0gPj0gaykgewogICAgICAgICAgICAgICAgaWYgKHNbaV0gPiBteGNoYXIpIHsKICAgICAgICAgICAgICAgICAgICBteGNoYXIgPSBzW2ldOwogICAgICAgICAgICAgICAgICAgIGogPSBpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoaiAhPSAtMSkgewogICAgICAgICAgICBhbnMgKz0gbXhjaGFyOwogICAgICAgICAgICBsYXN0ID0gajsKICAgICAgICAgICAgcHJlID0gbXhjaGFyOwogICAgICAgIH0KICAgIH0KCiAgICBjb3V0IDw8IGFuczsKCiAgICByZXR1cm4gMDsKfQo=