袋鼠将军的密码
题号:NC294817
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
Special Judge, 64bit IO Format: %lld

题目描述

\hspace{15pt}袋鼠将军的神秘武器放在了密码箱中,如果拿到神秘武器,它就有机会击败坎格鲁斯普雷。
\hspace{15pt}但是,袋鼠将军忘记了这个密码,它只记得这个密码箱的正确密码的长度,并且如果正确密码是袋鼠将军输入的密码的子串,密码箱就可以被打开。此外,密码箱的正确密码只包含数字。
\hspace{15pt}现在,袋鼠将军输入了一串只包含数字的密码,它不知道密码是否正确,你可以修改密码箱的正确密码(但是修改后的密码长度不能改变)。为了帮助袋鼠将军拿到神秘武器,请你修改密码箱的正确密码,使得袋鼠将军输入的密码可以打开密码箱。

【名词解释】
\hspace{15pt}子串为从原字符串中,连续的选择一段字符(可以全选)得到的新字符串。例如,\texttt{\texttt{ 的子串,而 \texttt{ 不是 \texttt{ 的子串。

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\leq T\leq 100\right) 代表数据组数,每组测试数据描述如下:
\hspace{15pt}第一行输入两个整数 n,m\left(1 \leq n \leq 100;\ 1\leq m \leq 10\right),表示袋鼠将军输入的密码长度、正确的密码长度。
\hspace{15pt}第二行输入一个长度为 n,仅由数字构成的字符串 s,表示袋鼠将军输入的密码。

输出描述:

\hspace{15pt}对于每组数据,新起一行。如果存在一种正确密码,使得袋鼠将军输入的密码可以打开密码箱,那么输出一行一个长度为 m 的字符串,表示正确密码;如果不存在这样的正确密码,直接输出 -1

\hspace{15pt}如果存在多种可行的正确密码,输出任意一种,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。
示例1

输入

复制
3
2 1
34
10 3
0147893256
3 4
123

输出

复制
3
893
-1

说明

\hspace{15pt}对于第一组测试数据,我们可以将正确密码改为 \texttt{,使得袋鼠将军输入的密码 \texttt{ 包含子段 \texttt{。此外,\texttt{ 的长度为 1,满足正确密码的长度限制。 
\hspace{15pt}对于第二组测试数据,我们可以将正确密码改为 \texttt{,使得袋鼠将军输入的密码 \texttt{ 包含子段 \texttt{。此外,\texttt{ 的长度为 3,满足正确密码的长度限制。
\hspace{15pt}对于第三组测试数据,可以证明,不存在满足题意的正确密码。