#750. 183184

183184

题目描述

对于正整数 xxyy,定义函数 f(x,y)f(x,y) 如下:

x,yx,y 用十进制表示成字符串后按此顺序连接,得到字符串 zz;把 zz 作为十进制整数所表示的数就是 f(x,y)f(x,y)。例如:f(3,14)=314f(3,14)=314f(100,3)=1003f(100,3)=1003

给定正整数 CCDD,计数满足以下条件的整数 xx 的个数:

  • 1xD1\le x\le D
  • f(C,C+x)f(C,C+x) 是完全平方数(即某个整数的平方)。

现在有 TT 个测试用例,请对每个测试用例输出答案。

输入格式

输入共 T+1T+1 行。

  • 第一行包含一个整数 TT,表示测试用例的数量。
  • 接下来每一行表示一个测试用例,包含两个整数 CCDD,即:

输出格式

输出共 TT 行。第 ii 行(1iT1\le i\le T)为第 ii 个测试用例的答案:满足条件的 xx 的个数。

样例输入

4
4 80
183 5000
18 10
824 5000000000

样例输出

3
2
0
1421

说明

样例解释

对于第一个测试用例,有三个 xx 值满足条件: x=5,37,80x = 5, 37, 80 ;

  • x=5x=5 时 , f(C,C+5)=f(4,9)=49=72f(C, C+5) = f(4,9) = 49 = 7^2;
  • x=37x=37 时, f(C,C+37)=f(4,41)=441=212f(C, C+37) = f(4,41) = 441 = 21^2 ;
  • x=80x=80 时, f(C,C+80)=f(4,84)=484=222f(C, C+80) = f(4,84) = 484 = 22^2

对于第二个测试用例,有两个 xx 值满足条件: x=1,3133x = 1, 3133 ;

  • x=1x=1 时, f(C,C+1)=f(183,184)=183184=4282f(C, C+1) = f(183,184) = 183184 = 428^2 ;
  • x=3133x=3133f(C,C+3133)=f(183,3316)=1833316=13542f(C, C+3133) = f(183,3316) = 1833316 = 1354^2

对于第三个测试用例,满足条件的 xx 值为零。

对于第四个测试用例,有 14211421xx 值满足条件。

数据范围

  • 1T3×1051\le T\le 3\times 10^{5}
  • 1C2×1081\le C\le 2\times 10^{8}
  • 1D5×1091\le D\le 5\times 10^{9}
  • 所有输入值为整数。