#D0791. 共同字母

共同字母

题目描述

小 C 收集了 nn 个由小写字母组成的字符串。他想知道:对于每个字母 az,它在每一个字符串中至少出现了多少次?

换句话说,对于字母 c,统计它在每个字符串中出现的次数,取这些次数的最小值,这就是字母 c 的"共同出现次数"。最后,将每个字母按其共同出现次数输出(按 az 的顺序,每个字母出现几次就输出几次)。

例如,三个字符串分别为 abcaacabb

  • 字母 a 在各串中出现 1,2,11, 2, 1 次,最小为 11,输出一个 a
  • 字母 b 在各串中出现 1,0,21, 0, 2 次,最小为 00,不输出;
  • 字母 c 在各串中出现 1,1,01, 1, 0 次,最小为 00,不输出;
  • 其余字母均为 00

最终输出为 a

输入格式

输入共 n+1n + 1 行。

第一行,一个整数 nn,表示字符串的数量。

接下来 nn 行,每行一个仅由小写字母组成的字符串。

输出格式

输出共一行,一个字符串,表示按字典序排列的所有共同字母。

3
abc
aac
abb
a
2
hello
world
lo
3
aabb
aab
abab
aab

样例解释

对于样例 1:见题目描述。

对于样例 2:helloworld

  • lhello 中出现 22 次,在 world 中出现 11 次,最小 11
  • ohello 中出现 11 次,在 world 中出现 11 次,最小 11
  • 其余字母至少有一个串出现 00 次。故输出 lo

对于样例 3:aabbaababab 三个串:

  • 字母 a 在各串中出现 2,2,22, 2, 2 次,最小为 22,输出两个 a
  • 字母 b 在各串中出现 2,1,22, 1, 2 次,最小为 11,输出一个 b
  • 其余字母均为 00。故输出 aab

数据规模与约定

子任务 分值 限制 特殊性质
11 5050 n=2n = 2,每个串长度 10\le 10 只有两个字符串
22 1n501 \le n \le 50,每个串长度 50\le 50 无特殊限制

对于 100%100\% 的数据,1n501 \le n \le 50,每个字符串长度 50\le 50,仅含小写字母。