题目描述
小明在数学课上学习了数字的十进制表示。他注意到,对于两个正整数 a 和 b,可以把它们的十进制写法首位相接得到一个新的数字,记作 concat(a,b)。例如 concat(12,23)=1223,concat(100,11)=10011。
小明想研究方程 a⋅b+a+b=concat(a,b) 的解究竟有多少。请你帮他回答 t 组独立的询问:对于给定的 A 和 B,有多少对正整数 (a,b) 满足 1≤a≤A,1≤b≤B,且上式成立?注意 a 和 b 均不含前导零。
输入格式
从 specialnum.in 文件读入数据。
第一行一个整数 t(1≤t≤100),表示询问组数。
接下来 t 行,每行两个整数 A,B(1≤A,B≤109),表示一组询问。
输出格式
输出到 specialnum.out 文件。
对于每组询问,输出一行一个整数,表示满足条件的 (a,b) 对数。
样例
样例 1
2
1 8
5 9
0
5
样例解释
第一组询问中 A=1,B=8。当 b=9 时才有 $1 \cdot 9 + 1 + 9 = 19 = \operatorname{concat}(1, 9)$,但 9>B,故无解,答案为 0。
第二组询问中 A=5,B=9。仅 b=9 满足,此时 a 可以取 1 到 5,共 5 对,答案为 5。
样例 2
1
12 999
36
样例解释
A=12,B=999。B 以内满足等式的 b 为 9、99、999 共 3 个。每个 b 匹配所有 a=1∼12,故答案为 12×3=36。
样例 3
点击链接 ex_specialnum3.in 和 ex_specialnum3.ans 下载大样例 3 的输入数据和输出数据。
数据范围
对于所有数据,1≤t≤100,1≤A,B≤109。
| 子任务 |
测试点 |
分数 |
附加约束条件 |
子任务依赖 |
| 1 |
1∼2 |
10 |
样例 |
无 |
| 2 |
3∼6 |
20 |
t=1,A,B≤103 |
| 3 |
7∼10 |
t≤10,A,B≤105 |
| 4 |
11∼20 |
50 |
无特殊限制 |
本题采用子任务捆绑测试。每个子任务内的所有测试点必须全部通过,该子任务才能获得分数。不同子任务之间独立计分,不互相依赖。满分 100 分。