[入门赛 #11] [yLOI2021] 扶苏与 1 (Hard Version)

题目背景

**本题与 Easy Version 的区别是:$x$ 的范围不同,$y$ 的长度限制不同**。 **请注意 Easy Version 和 Hard Version 不是严格的包含关系。** 扶苏在 ICPC2022 EC Final 的比赛里,开局不到五分钟,就读假了一道题,把一道数位 DP 开成了简单签到,狠狠地演了队友一把。 为了不让读假了的题被浪费,所以这道题出现在了这里。

题目描述

扶苏给了你一个数字 $x$,你需要给她一个数字 $y$,使得在列竖式计算 $x + y$ 时,能恰好产生 $k$ 个进位。 **你给出的 $y$ 的长度不能超过 $x$ 的长度。**(注意,这条要求与 Easy Version 不同) **进位**的含义是:在进行竖式加法运算时,如果位于同一列上的数字之和(加上低位向上可能存在的进位)比 $9$ 大,则在结果的这一列上只保留这个和的个位数字,同时称这一位向它的高位产生了一个**进位**。 下图是一个竖式加法的例子,结果中标红的两位都向上产生了进位。 ![](https://cdn.luogu.com.cn/upload/image_hosting/sxkzrk4i.png)

输入输出格式

输入格式


**本题单测试点内有多组测试数据**。 第一行为一个整数 $T$,代表测试数据组数。 接下来 $T$ 组数据,每组数据只有两行,每行一个整数。 第一行的整数表示 $x$。 第二行的整数表示 $k$。

输出格式


**本题采用 special judge 进行判题**。 对每组数据,输出一行一个整数,表示你给出的 $y$。 如果有多个满足要求的 $y$,你可以输出任何一个。但是必须保证如下三条限制: - $y$ 是正整数。 - $y$ 不含前导 $0$。 - $y$ 的长度不超过 $x$ 的长度。 特别的,如果这样的 $y$ 不存在,请你输出一行一个 $\texttt{-1}$。

输入输出样例

输入样例 #1

5
1
1
14
1
514
2
1234
1
123456
6

输出样例 #1

9
8
516
7
877777

说明

### 数据规模与约定 对全部的测试点,保证 $0 \leq x < 10^{(10^4)}$,$1 \leq T \leq 5000$,$1 \leq k \leq 1+\log_{10}\max(1,x)$。输入的 $x$ 不含前导 $0$。 ### 提示 输入的 $x$ 可能会很大。如果说 $x < 10^t$,则输入 $x$ 的**长度**不会超过 $t$。数据规模中式子 $k \leq 1 + \log_{10}\max(1,x) $ 的含义是:$k$ 不会超过 $x$ 的长度。