#XMOJ11720. 秘制酱料

秘制酱料

说明

时间限制:1 Sec 内存限制:256 MB 输入文件sauce.in 输出文件sauce.out

小明是美食发明家,他正在尝试将两种不同的酱料 $A$ 和 $B$ 混合,创造一种全新的“秘制酱料”。每种酱料都可以用一个由小写字母组成的字符串来表示其配方。

小明的混合规则非常独特:他创造的“秘制酱料”字符串,必须能同时从 $A$ 的开头取一段(前缀),以及从 $B$ 的结尾取一段(后缀),将这两段拼接而成。

如果一种“秘制酱料”能用 至少两种不同的方式 拆分成一个 $A$ 的非空前缀 和一个 $B$ 的非空后缀 的组合,那么小明就认为这种酱料是“完美的”。

现在,给定酱料 $A$ 和 $B$ 的配方,小明想知道,他能调配出的 最短 的“完美秘制酱料”是什么?如果不存在,请告诉他。

举个例子:

  • 酱料 $A$ = sarana,酱料 $B$ = olahraga
    酱料 saraga 是完美的,因为它可以拆成 sara ($A$ 的前缀) + ga ($B$ 的后缀),也可以拆成 sa ($A$ 的前缀) + raga ($B$ 的后缀)。
    但更短的 saga 也是完美的(拆成 s+agasa+ga),所以答案是 saga
  • 酱料 $A$ = icpc,酱料 $B$ = jakarta
    无法找到任何“完美”酱料,因为 $A$ 和 $B$ 没有相同的字母可以作为连接点,输出 $-1$。

现在,给定两种酱料 $A$ 和 $B$,请你帮小明找出这个最短的“完美秘制酱料”。

输入格式

第一行,一个字符串 $A$,代表第一种酱料的配方。

第二行,一个字符串 $B$,代表第二种酱料的配方。

输出格式

如果存在“完美秘制酱料”,输出一个字符串,代表最短的那个。如果存在多个,输出其中字典序最小的那个。

如果不存在,输出 $-1$。

样例

样例 1

sarana
olahraga

saga

样例 2

berhiber
wortelhijau

belhijau

样例说明:

berhijau 也是一个有效的答案,但 belhijau 同样最短,而且字典序更小。

样例 3

icpc
icpc

icpc

样例说明:

icpc 本身就是完美的,因为它可以拆成 i+cpcic+pc

样例 4

icpc
jakarta

-1

数据范围

令 $|A|$ 和 $|B|$ 分别表示字符串 $A$ 和 $B$ 的长度。

对 $30\%$ 的数据,满足 $1 \le |A|, |B| \le 2 \times 200$

对 $60\%$ 的数据,满足 $1 \le |A|, |B| \le 2 \times 3000$

对 $100\%$ 的数据,满足 $1 \le |A|, |B| \le 2 \times 10^5$

所有字符串仅由小写英文字母组成。