「RiOI-2」tnelat

题目背景

小 E 是一名一年级的小学生。她正在学习如何阅读。 如果在纸上写上 $998,\!244,\!353$,那么她就会读「三——五三四四——二八九九。」是的,她是从右往左读的。然后,她会把这个数理解为 $353,\!442,\!899$。 不过这并不影响她交流——她只是不会读纸上的文字罢了。唯一的问题是,她现在要学习带余除法了,而老师说不定会在纸上画一些红色的叉叉。不过,那又如何?

题目描述

对于一个长度为 $n$ 的**由数字组成的**字符串 $s=s_1s_2s_3\cdots s_n$,定义它的权值为 $f(s)=\sum\limits_{i=1}^n 10^{n-i}s_i$。(也就是它代表的十进制数)定义它的反串为 $\overline s=s_ns_{n-1}s_{n-2}\cdots s_1$。例如,$s=\texttt{0321}$ 的权值为 $f(s)=321$,反串为 $\overline s=\texttt{1230}$。 试构造一个字符串 $s$,使得 $|s|\le 114514$,且 $f(s)\equiv a\pmod {998,\!244,\!353}$ 且 $f(\overline s)\equiv b\pmod{998,\!244,\!353}$。如果 $c=0$,你还要保证 $s_1\neq \texttt0$ 且 $s_n\neq \texttt 0$。 如果无解,仅输出整数 $-1$ 即可。

输入输出格式

输入格式


**本题有多组数据。** 第一行一个正整数 $T$ 表示数据组数。 第二行一个整数 $c$,意义如题目所述。 接下来 $T$ 行,每行两个以空格隔开的自然数 $a, b$ 描述一组数据。

输出格式


输出 $T$ 行,每行一个正整数表示你构造的数。 **本题开启 Special Judge,只要你的输出符合要求即可得到该测试点的分数。**

输入输出样例

输入样例 #1

4
0
1755648 1755648
0 353442899
35281 18253
99728538 70320626

输出样例 #1

1000000001
998244353
35281
66330831785160880538172878128228067748679057340064161580956433229228884846388176250309226257600174873157935217529307119972759542770571505108922703815887608877795159689067116959276902444827654683066165

输入样例 #2

1
1
30 30

输出样例 #2

030

输入样例 #3

5
0
114514191 214748364
414414414 515515515
302813344 124821394
123456789 987654321
307210721 127012703

输出样例 #3

4509169566936302030543528193
6765800751328156020889260421
6754420765703935546785979321
4408846009459835952892074437
3108033793065515131695113495

说明

### 样例解释 对于第一组样例的第一组数据,$s=\overline{s}=\texttt{1000000001}$,$f(s)=f(\overline s)=1{,}000{,}000{,}001\equiv 1{,}755{,}648\pmod{998,\!244,\!353}$,所以它是一个可行解。 ### 数据规模与约定 **本题开启捆绑测试。** | $\text{Subtask}$ | 分值 | $a,b$ | 特殊性质 | | :--------------: | :--: | :---: | :------: | | $0$ | $5$ | $ \in [1, 9]$ | $a = b$ | | $1$ | $10$ | $ \in [0, 9]$ | / | | $2$ | $15$ | $ \in [0, 99]$ | / | | $3$ | $25$ | / | $a = 0$ | | $4$ | $25$ | / | $c = 1$ | | $5$ | $20$ | / | / | 上表中的斜杠表示无特殊限制。 对于 $100\%$ 的数据,$1\leq T\leq 30$,$c\in\{0,1\}$,$0 \leq a, b \lt 998{,}244{,}353$。