#include<bits/stdc++.h>
using namespace std;
typedef long long LL;

#define CIN_ONLY if(1)
struct cww{cww(){
    CIN_ONLY{
        ios::sync_with_stdio(false);cin.tie(0);
    }
}}star;
#define fin "\n"
#define FOR(i,bg,ed) for(int i=(bg);i<(ed);i++)
#define REP(i,n) FOR(i,0,n)
#define ALL(v) (v).begin(),(v).end()
#define fi first
#define se second
#define pb push_back
#define DEBUG if(0)
#define REC(ret, ...) std::function<ret (__VA_ARGS__)>
template <typename T>inline void chmin(T &l,T r){l=min(l,r);}
template <typename T>inline void chmax(T &l,T r){l=max(l,r);}
template <typename T>
istream& operator>>(istream &is,vector<T> &v){
    for(auto &it:v)is>>it;
    return is;
}
    
int main(){
    int N;
    cin>>N;
    vector<string> S(N);
    cin>>S;
    vector<vector<LL>> h(N);
    REP(i,N){
        h[i].resize(S[i].size());
        for(auto&it:h[i])it=0;
    }
    FOR(l,1,10){
        vector<int> exist(400000,0);
        REP(i,N)FOR(j,l-1,S[i].size()){
            h[i][j-l+1]*=26;
            h[i][j-l+1]+=S[i][j]-'a';
            
            if(h[i][j-l+1]>=400000)continue;
            exist[h[i][j-l+1]]=1;
            
        }
        LL len=1;
        REP(i,l)len*=26;
        REP(i,len)if(exist[i]==0){
            string s;
            REP(j,l){
                s=string(1,'a'+i%26)+s;
                i/=26;
            }
            cout<<s<<endl;
            return 0;
        }
    }
    return 0;
}