小苯的数位MEX
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小苯定义数字 x 的“数位MEX”为:x 的数位中没有出现的最小非负整数。例如 1320 的“数位MEX”为 4112 的“数位MEX”为 0

小苯有一个正整数 x,他需要执行以下操作恰好一次

\bullet 选择一个不超过 k 的非负整数 y\ (0 \leq y \leq k),执行 x:=x+y。(其中 := 表示赋值。)

小苯想问问你,x 的“数位MEX”最大能达到多少,以及有多少个不同的 y 能使得结果达到这个最大的“数位MEX”。

输入描述:

每个测试文件内都包含多组测试数据。
第一行一个正整数 T\ (1 \leq T \leq 300),表示测试数据的组数。
接下来对于每组测试数据,输入包含一行两个整数x, k\ (1 \leq x, k\leq 10^9)

输出描述:

输出包含 T 行,对于每组测试数据,输出一行两个整数,分别表示能达到的最大“数位MEX”,以及有多少个不同的 y 取值可以使得结果达到最大“数位MEX”。
示例1

输入

复制
3
1 8
1 9
103 10

输出

复制
0 9
2 1
2 8

说明

对于第一组测试数据,所有个位数的“数位MEX”都为 0,因此有 9 个 y 可以使得结果取到最大“数位MEX”。
对于第二组测试数据,仅有数字10的“数位MEX”为 2,其余都是 0,因此只有 1 个 y 可以使结果取到最大“数位MEX”。
对于第三组测试数据,103,104,105,106,107,108,109,110 的“数位MEX”都是 2,一共有 8 个 y 可以使结果取到最大“数位MEX”。