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


import java.util.Deque;
import java.util.LinkedList;
import java.util.Scanner;

public class Solution

{
	public static void main(String[] args)
	{
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		sc.nextLine();
		Node rt=new Node();
		int maxLen=0;
		for(int i=0;i<n;i++)
		{
			String ln=sc.nextLine();
			maxLen=Math.max(maxLen, ln.length());
			addToTree(rt,ln);
		}
		
		String result=getUniqueTitle(rt,maxLen);
		System.out.println(result);
		
	}

	private static String getUniqueTitle(Node rt,int maxLen) {
		boolean found=false;
		for(int i=1;i<=maxLen;i++)
		{
			Deque<Character>stack=new LinkedList<Character>();
			found=dfs(i,rt,stack);
			if(found)
			{
				return makeString(stack);
			}
		}
		return "";
		
	}
	
	private static String makeString(Deque<Character> stack) {
		StringBuilder sb=new StringBuilder(stack.size());
		while(!stack.isEmpty())
		{
			sb.append(stack.removeLast().charValue());
		}
		return sb.toString();
	}

	private static boolean dfs(int len,Node rt,Deque<Character>stack)
	{
		boolean result=false;
		if(len==1)
		{
			for(int i=0;i<rt.arr.length;i++)
			{
				if(rt.arr[i]==null)
				{
					stack.addLast((char)(i+'a'));
					result=true;
					break;
				}
			}
		}else
		{
			for(int i=0;i<rt.arr.length;i++)
			{
				if(rt.arr[i]!=null)
				{
				result=dfs(len-1,rt.arr[i],stack);
				if(result)
				{
					stack.addLast((char)(i+'a'));
					break;
				}
				}
			}
		}
		return result;
	}

	private static void addToTree(Node rt, String str) {
		for(int i=str.length()-1;i>=0;i--)
		{
			Node v=rt;
			for(int j=i;j<str.length();j++)
			{
				int idx=(int)str.charAt(j)-'a';
				if(v.arr[idx]==null)
				{
					v.arr[idx]=new Node();
				}
				v=v.arr[idx];
			}
		}
		
	}
	
	
	

	
}

class Node
{
	Node[] arr;
	
	public Node()
	{
		arr=new Node[26];
	}
}