给定两个数列
可以对数列s1进行任意次操作,每次操作可交换其中任意两个数字的位置,也就是说可以任意排列数列s1中的数字。目标是让排列后的s1构成的数字最大,但同时必须严格小于数列s2构成的数字。如果不存在满足条件的排列,则输出−1。
多多有两个仅由正整数构成的数列s1和s2,多多可以对s1进行任意次操作,每次操作可以置换s1中任意两个数字的位置.
多多想让数列s1构成的数字尽可能大,但是小于s2
请问再经过任意次操作后,满足上述条件的数列s1构成的数字是多少.
第一行,包含一个正整数T(1≤T≤10)代表测试数据的组数.
对于每组测试数据,分别有三行:
第一行,有两个正整数n(1≤n≤105), m(1≤m≤105),分别表示数列s1和s2的长度.
第二行,有一行仅由正整数组成的的长度为n数列s1
第三行,有一行仅由正整数组成的的长度为m数列s2
对于每组数据,输出数列s1在经过任意次置换操作后,得到的满足条件的最大值数字
如果不存在这样的数字,则输出−1
输入
3
5 5
12345
45678
5 5
65479
54231
5 5
42315
12345
输出
45321
49765
-1