#include<iostream>
#include<cstdio>
#include<vector>
#include<string>
using namespace std;

#define cerr if(0)cerr
bool isSubstr(
    vector<vector<int> > &next,
    string &word) {
    int len = word.length();
    int index = 0, i;
    for (i = 0; i < len && index >= 0; i++) {
        index = next[word[i]-'a'][index];
        cerr << "index = " << index << endl;
    }
    // return (i==len);
    return index >= 0;
}

string dfs(
    vector<vector<int> > &next,
        int length, string word = "", int depth=0){
    if (length == depth) {
        cerr << "isSubstr: " << word << endl;
        return (!isSubstr(next, word) ? word : "");
    }
    for (char ch='a'; ch<='z'; ch++) {
        string ans = dfs(next, length, word + ch, depth + 1);
        if (ans.length() > 0) return ans;
    }
    return "";
}
int main(){
    string buf;
    cin >> buf;
    int len = buf.length();
    vector<vector<int> > next(26, vector<int>(len+1, -1));

    cerr << "check line: " << __LINE__ << " " << len << endl;

    for (int i=len;i>0;i--) {
    cerr << "check line: " << __LINE__ << endl;
        for (int j=0;j<26;j++)
            next[j][i-1] = next[j][i];
    cerr << "check line: " << __LINE__ << " " << buf[i-1] << endl;
        next[buf[i-1]-'a'][i-1] = i;
    }

    cerr << "check line: " << __LINE__ << endl;

    for (int resultLength = 1; ; resultLength++) {
       string ans = dfs(next, resultLength); 
        if (ans.length() > 0) {
            cout << ans << endl;
            break;
        }
    }

    return 0;
}
