#L3641. 「2021 集训队互测」圆滚滚的算术占卜

    ID: 4492 传统题 3000ms 256MiB 尝试: 2 已通过: 1 难度: 9 上传者: 标签>动态规划数位DP难度省选/NOI-集训队互测

「2021 集训队互测」圆滚滚的算术占卜

题目描述

在具有高度智慧的、拥有"史莱姆的导师"之称的红头史莱姆的引导下,史莱姆们理解了十进制数,并能够利用数字进行占卜。

史莱姆每天会进行占卜活动,第 kk 天的流程如下:

  1. nn 的值设为 kk
  2. nn 的不含前导 00 的十进制表示写下来。如果现在已经写下来了一些数,就将 nn 写在它们的后面
  3. n:=nS(n)n := n - S(n),其中 S(n)S(n) 表示 nn 的十进制表示的各位数字之和,例如 S(233)=2+3+3=8S(233) = 2 + 3 + 3 = 8S(114514)=1+1+4+5+1+4=16S(114514) = 1 + 1 + 4 + 5 + 1 + 4 = 16
  4. 如果 n=0n = 0,结束占卜,否则回到第 2 步

最终的占卜结果是一个十进制数字串。显然,它也表示了一个十进制数。史莱姆想让你帮它们求出,第 LL 天到第 RR 天的占卜结果之和是多少。由于答案可能很大,你只需要求出对 998244353998244353 取模后的结果。史莱姆们总共问了 TT 个这样的问题,你需要对每个问题求出答案。

输入格式

第一行包含一个正整数 TT,表示史莱姆的问题个数。

接下来 TT 行,每行两个正整数 LLRR,表示你需要求出第 LL 天到第 RR 天的占卜结果之和。

输出格式

对于每组询问,输出答案对 998244353998244353 取模后的结果。

样例

输入

7
1 9
10 11
32 32
16058 258258
1 998244353
31415926 271828182
757427636498525616 1000000000000000000

输出

45
228
3227189
64050837
32261615
188342047
329553393

对于 1k91 \le k \le 9,第 kk 天的占卜一次就会结束,因此占卜结果就是 kk,第一组询问的答案为 1+2+3++9=451 + 2 + 3 + \dots + 9 = 45

1010 天的占卜中会依次写下 101010S(10)=910 - S(10) = 9,第 1111 天会依次写下 111199,从而第二组询问的答案为 109+119=228109 + 119 = 228

3232 天会依次写下 323232S(32)=2732 - S(32) = 2727S(27)=1827 - S(27) = 1818S(18)=918 - S(18) = 9,因此第三组询问的答案是 32271893227189

数据范围与提示

  • Subtask 1 (55 pts): T500,R105T \le 500, R \le 10^5
  • Subtask 2 (1010 pts): T5,L=R109T \le 5, L = R \le 10^9
  • Subtask 3 (2020 pts): T500,L=R1012T \le 500, L = R \le 10^{12}
  • Subtask 4 (3030 pts): L=RL = R
  • Subtask 5 (1010 pts): T500,R1012T \le 500, R \le 10^{12}
  • Subtask 6 (2525 pts): 无特殊限制

对于所有测试数据,满足 1T5×1041 \le T \le 5 \times 10^41LR10181 \le L \le R \le 10^{18}