小狗
描述
小 Q 是个爱狗狂魔,他饲养了 N(N<=2000)条中华田园犬狗和 M(M<=2000)条秋田犬,并且给每条狗取了一个英文名字,例如:Sally,Sussan,Lysa 等,为了方便起见,小 Q 登记时只会登记首字母,例如 Sally、Sussan、Lysa 只会登记为 S、S、L。现在中华田园犬和秋田犬分别从左至右各站成了一队。小 Q 准备带他们出去踏青了!但因为踏青的路实在太窄,小 Q 不得不在踏青前把两条队伍合成一队。那如何合呢?我们假设中华秋田犬所在的队伍为 A 队,秋田犬所在队伍为 B。最后合成的新队伍为 C。大家知道的如果从队伍中间选择小狗加入新队伍,容易使原队伍混乱,所以现在我们制定如下规则:
(1)每次从 A 队或者 B 队的头或者尾选取一条小狗加入到新的队伍 C 的尾部去(第一条选择的小狗为头)。
(2)重复(1)的操作,直到 A 队和 B 队的所有小狗都站到 C 队为止。
现在小 Q 想知道,按照这种规则,他登记的新队列的最小字典序为多大?
输入
第 1 行:两个整数 N 和 M.
第 2 行至第 N+1 行:每行一个大写字母,表示 A 队中小狗的头字母.
第 N+2 至 N+1+M 行:每行一个大写字母,表示 B 队中小狗的头字母.
输出
一行,得到的最小字典序的序列.
输入样例 1
3 3 A C D B C B
输出样例 1
ABBCCD
提示
【数据说明】
50%数据 1<=n,m<=100 100%数据 1<=n,m<=2000