#P15687. [Bulgarian2022训练营]VIP

[Bulgarian2022训练营]VIP

题目描述

Asen 和 Kiril 是最好的朋友,他们都很喜欢去迪厅。

Asen 在迪厅中很有名,昵称为 AA,因此可以进入 VIP 圈子。遗憾的是,昵称为 BB 的 Kiril 没有这么出名,不能和 Asen 一起去迪厅。

于是 Kiril 决定通过欺骗混入 VIP 圈子。他想把自己的昵称 BB 重排成一个异位词,也就是重新排列 BB 中的字母,使得新的昵称与 Asen 的昵称 AA 恰好在 KK 个位置上不同。

在所有满足条件的重排结果中,Kiril 想选择字典序最小的一个。

两个昵称长度相同,均为 NN

请你帮助 Kiril 构造这个虚假的昵称。

每个测试文件包含多组测试数据。

输入格式

第一行包含一个整数 TT,表示测试数据组数。

接下来每组测试数据包含三行:

第一行包含两个整数 N,KN,K,分别表示昵称长度和希望不同的位置数。

第二行包含字符串 AA,表示 Asen 的昵称。

第三行包含字符串 BB,表示 Kiril 的昵称。

输出格式

输出 TT 行。对于每组测试数据,输出 Kiril 所需的虚假昵称;若不存在满足条件的重排,输出 -1

数据范围

  • 1N,K1051\le N,K\le 10^5
  • 同一测试文件中,所有测试数据的 NN 之和不超过 10610^6
  • 昵称只由小写拉丁字母组成。

字典序定义如下:字符串 p1,p2,,pNp_1,p_2,\ldots,p_N 比字符串 q1,q2,,qNq_1,q_2,\ldots,q_N 字典序更小,当且仅当存在位置 ii,满足 pi<qip_i<q_i,且对所有 1j<i1\le j<i 都有 pj=qjp_j=q_j

评分说明

  • 子任务 1:2020 分,N=KN=K
  • 子任务 2:8080 分,无额外限制。

源题面还说明:

  • 若你的答案与 AA 不同的位置数不是 KK,或者在存在解时输出 -1,或者答案不是 BB 的异位词,则该子任务得 00 分;
  • 若答案满足条件但不是字典序最小,则获得该子任务分数的 75%75\%

样例

输入

2
8 6
corleone
vasilica
5 2
marko
ghita

输出

caaliisv
-1

样例解释

在第一组数据中,vasilica 的另一个异位词 csilaav 也与 corleone 恰好有 66 个位置不同,但 caaliisv 的字典序更小,因此答案为 caaliisv

第二组数据中,无法把 ghita 重排成一个与 marko 恰好有 22 个位置不同的字符串。