字典序最小的公共子串
题号:NC206547
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

在提供的个字符串中,它们的公共子串形成一个集合。你需要输出集合中字典序最小的那个子串。

输入描述:

第一行一个整数n表示共个字符串(
以下n行每行有一个字符串s_i,字符串长度为且全部为小写字母 (

输出描述:

个字符串没有公共子串则输出,否则输出公共子串集合中字典序最小的子串。    
示例1

输入

复制
3
bcd
cfg
accept

输出

复制
c

说明

在样例一中,\ bcd\ cfg\ accept仅有唯一的公共子串\ c
示例2

输入

复制
2
yyyy
zzzz

输出

复制
-1

说明

在样例二中,\ yyyy\ zzzz没有公共子串

备注:

在一个字符串中截取其中连续的一段字符生成一个新的字符称作原字符串的子串
公共子串,在众多字符串中每个字符串中都存在的子串称作公共子串。在此题中,空子串不计算在公共子串内。