3
rjnflsbpxqivrcdjptj
vpojopbwbwbswdu
rydkiwnugwddcgcrng
 1
z
 30
b
u
p
n
f
m
t
i
j
k
p
h
a
c
w
z
z
p
t
d
o
w
u
q
l
y
i
o
a
u
 5
splt
ohqykk
xqpz
knojbur
pmfm
 2
hk
obsp
 5
zzxpfk
abcdefghijklmnopqrst
uvwxz
srgkjaskldfkln
vgnsdfdgfh
 2
rxscdzkkezud
wjehahqgouqvjienq
 5
ojdfhi
abcdefghijklmnopqrst
uvwxyz
ddfhdfhlasjt
qqq
 1
epkotfpkkrhhmuipmtdk
 10
kpmwcdoysw
gtpr
kuzoxmiixxbl
crgqtuo
jhbplhpklrgwnaugdf
zuxdaat
aycv
qwghrkqwkobrgevsjrk
tdxgc
lxyzgcmbzulcst
 5
dfijdfhi
abcdefghijklmnopqrst
uvwxy
kopsdfgiopjipw
jty
 2
xlaxwpjabtpwddc
txwdjmohrrszorrnomc
 1
a
 30
waiphwcqrrinr
o
qiqehzmgsjdoqd
kjexeesevrlowxhghq
judikhzkj
z
xo
lsdzypkfqro
sshgcxsky
gecntpcmoojfwp
svmytmcfhc
jrsrvsvbaiumlmkptn
s
wpcsovfjlyspviflk
ktvyzvddgllht
szahigtmklglrcocbo
znligfxkgxzkcfeu
liryvzmqwhr
xgrxkgiehxztv
etrjxdczppafly
jrdgajschhwsci
doxnxbjwptnimjmsuijx
zciwkbvrhgsjhrr
ehh
bzlnmd
xpbtbpftimnn
khbknqbvdkdd
mldj
skrvnyz
avptgpjmenfzfxwckmt
 30
e
x
itaubd
xcn
v
x
i
ci
aqs
zbi
q
cvdu
a
jos
qy
fjf
nayke
ge
s
q
qwad
gvz
o
ubn
nzoc
h
wnjwjrf
t
bq
bw
 1
b

a
 a
 e
 a
 a
 y
 b
 aa
 a
 ab
 z
 e
 b
 aa
 l
 a

#include <bits/stdc++.h>
using namespace std;
struct Tire {
  int ch[60008][26];
  int sz;
  Tire() {
    sz = 1;
    memset(ch, 0, sizeof(ch));
  }
  int idx(char c) { return c - 'a'; }
  void insert(char *s) {
    int len = strlen(s);
    int u = 0;
    for (int i = 0; i < len; i++) {
      int c = idx(s[i]);
      if (!ch[u][c]) {
        ch[u][c] = sz++;
      }
      u = ch[u][c];
    }
  }
  bool find(char *s) {
    int len = strlen(s);
    int u = 0;
    for (int i = 0; i < len; i++) {
      int c = idx(s[i]);
      if (!ch[u][c]) {
        return 1;
      }
      u = ch[u][c];
    }
    return 0;
  }
} wa;
int main() {
  int n;
  char A[28];
  while (scanf("%d", &n) != EOF) {
    for (int i = 1; i <= n; i++) {
      cin >> A;
      int len = strlen(A);
      for (int j = 0; j < len; j++) {
        for (int k = 0; k < len; k++) {
          char B[24];
          int m = 0;
          for (int v = j; v <= k; v++) {
            B[m++] = A[v];
          }
          B[m] = '\0';
          wa.insert(B);
        }
      }
    }
    bool flag = false;
    for (int i = 0; i < 26; i++) {
      if (!wa.ch[0][i]) {
        flag = true;
        char cc = i + 'a';
        cout << cc << endl;
        break;
      }
    }
    if (!flag) {
      for (int i = 0; i < 26; i++) {
        for (int j = 0; j < 26; j++) {
          char C[3];
          C[0] = i + 'a';
          C[1] = j + 'a';
          C[2] = '\0';
          if (wa.find(C)) {
            flag = true;
            cout << C << endl;
            break;
          }
        }
        if (flag) break;
      }
    }
    if (!flag) {
      for (int i = 0; i < 26; i++) {
        for (int j = 0; j < 26; j++) {
          for (int k = 0; k < 26; k++) {
            char C[4];
            C[0] = i + 'a';
            C[1] = j + 'a';
            C[2] = k + 'a';
            C[3] = '\0';
            if (wa.find(C)) {
              flag = true;
              cout << C << endl;
              break;
            }
          }
          if (flag) break;
        }
      }
    }
  }
  return 0;
}
