「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$。