import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        scanner.nextLine();

        // 1. 用布尔数组标记第一个字符串的所有字符(初始候选集)
        boolean[] hasChar = new boolean[26]; // 对应26个小写字母
        String first = scanner.nextLine();
        for (char c : first.toCharArray()) {
            hasChar[c - 'a'] = true;
        }

        // 2. 遍历后续所有字符串,逐步缩小候选集(求交集)
        for (int i = 1; i < n; i++) {
            String s = scanner.nextLine();
            boolean[] currHas = new boolean[26];
            // 先标记当前字符串含有的字符
            for (char c : s.toCharArray()) {
                currHas[c - 'a'] = true;
            }
            // 候选集与当前字符串字符取交集(只保留两者都有的)
            for (int j = 0; j < 26; j++) {
                hasChar[j] = hasChar[j] && currHas[j];
            }
        }

        // 3. 输出任意一个公共字符(优先输出第一个找到的)
        for (int j = 0; j < 26; j++) {
            if (hasChar[j]) {
                System.out.println((char) (j + 'a'));
                return;
            }
        }

        // 无公共字符时输出空
        System.out.println("");
    }
}