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(""); } }