#include <bits/stdc++.h>
using namespace std;
int N, uz[1005], kay;
char ar[1005][1005], k[1005];
int kontrol(int a, int say) {
  for (int i = 1; i <= uz[a] - say + 1; i++) {
    if (ar[a][i] == k[1]) {
      int m = 1, j, k1;
      for (j = i + 1, k1 = 2; j <= uz[a] && k1 <= say && m; j++, k1++)
        if (ar[a][j] != k[k1]) m = 0;
      if (m) {
        return 0;
      }
    }
  }
  return 1;
}
int maxs = 0;
void oku() {
  cin >> N;
  for (int i = 1; i <= N; i++) {
    scanf(" %s", ar[i] + 1);
    uz[i] = strlen(ar[i] + 1);
    maxs = max(maxs, uz[i]);
  }
  int o = 1, l;
  k[o] = 'a';
  k[o]--;
  while (o <= maxs) {
    l = 1;
    if (k[o] != 'z')
      k[o]++;
    else {
      int p1 = o;
      while (p1) {
        if (k[p1] != 'z') {
          k[p1]++;
          break;
        } else
          p1--;
      }
      if (!p1) {
        memset(k, 0, sizeof(k));
        o++;
        for (int i = 1; i <= o; i++) k[i] = 'a';
      } else {
        p1++;
        while (p1 <= o) {
          k[p1] = 'a';
          p1++;
        }
      }
    }
    l = 1;
    for (int i = 1; i <= N && l; i++) l = kontrol(i, o);
    if (l) {
      printf("%s\n", k + 1);
      return;
    }
  }
}
int main() {
  oku();
  return 0;
}
