Bytie 和 Bitie 正在玩一个简单的游戏——写下较大数字的人获胜。兄弟俩已经在纸上写下了各自的数字:Bytie 写了 $A$,Bitie 写了 $B$。Bytie 年长且经验丰富,总是选择较大的数字,但这一次他想让他的弟弟赢。因此,他偷偷看了 Bitie 的纸条,在已知 $B$ 的情况下,他想修改自己数字 $A$ 中的恰好 $k$ 位数字,使得结果小于 $B$。为了让他故意输掉比赛的行为不那么明显,Bytie 希望得到小于 $B$ 的最大可能数字。请帮他完成这个任务!
输入格式
输入的第一行包含一个正整数 $t$,表示需要考虑的游戏实例数量。 接下来的 $t$ 行,每行包含三个非负整数 $A$、$B$ 和 $k$。数字 $A$ 和 $B$ 长度相同,且可能包含前导零。数字 $k$ 为正整数,且不超过 $A$ 和 $B$ 的(公共)长度。此外,$A \ge B$。
输出格式
输出应包含恰好 $t$ 行,第 $i$ 行应包含第 $i$ 个实例的答案。对于给定的 $A$ 和 $B$,答案是满足以下条件的(唯一)整数 $C$: 数字 $C$ 与 $A$ 和 $B$ 长度相同(且可能包含前导零), $C < B$, 数字 $C$ 可以通过修改 $A$ 中恰好 $k$ 位数字得到, 在满足上述条件的前提下,$C$ 最大。
如果不存在满足这些条件的整数 $C$,则应输出 $-1$。
样例
输入格式 1
4 555 333 1 0555 0551 3 0555 0333 4 9 9 1
输出格式 1
255 0499 -1 8
子任务
测试集由以下子任务组成。在每个子任务内,可能包含多个测试点。我们将 $A$ 和 $B$ 的长度记为 $n$。所有测试点均满足 $1 \le t \le 100$。
| 子任务 | 条件 | 分值 |
|---|---|---|
| 1 | $n \le 5$ | 10 |
| 2 | $n \le 5000$ | 50 |
| 3 | $n \le 100\,000, k = 1$ | 15 |
| 4 | $n \le 100\,000$ | 25 |
样例评分测试
- 1ocen: $t = 100$; $A$ 等于 $20\,000, 20\,001, \dots$,而 $B$ 恒为 $20\,000$; $k = 1$;
- 2ocen: $t = 100$; 在每个测试中 $n = 5000$,且 $A$ 或 $B$ 中出现的唯一数字(前导零除外)为 $9$; $k = 4901, \dots, 5000$;
- 3ocen: $t = 100$; 在每个测试中 $n = 100\,000$,$A$ 中出现的唯一数字(前导零除外)为 $9$,$B$ 中出现的唯一数字为 $2$; $k = 1, \dots, 100$。