#P10049. [CCPC 2023 北京市赛] 报数 IV

[CCPC 2023 北京市赛] 报数 IV

题目背景

这是小 R 和小 Z 第四次玩报数游戏了,因此他们决定不再编冗长的题面了。你只需要知道,他们又编了一个奇怪的报数规则,然后想算一下有哪些数字可以报出来。

题目描述

对于任意正整数 nn,定义函数 f(n)f(n)nn 在十进制下各个数位之和,如 f(114514)=1+1+4+5+1+4=16f(114514)=1+1+4+5+1+4=16。显然 f(n)f(n) 也是正整数,因此可以嵌套地考虑 f(f(n)),f(f(f(n)))f(f(n)),f(f(f(n))) 等等。进而对于正整数 n,kn,k 可以定义 g(n,k)=f(f(...f(n)))g(n,k)=f(f(...f(n)))(共有 kkff)。

为了让报数游戏不再每局都是一模一样的,小 R 和小 Z 决定为每局游戏设置两个正整数 k,mk,m,然后规定:在这一局游戏中,所有满足 g(n,k)=mg(n,k)=m 的正整数 nn 都是不能报出的。

因为两人都是游戏高手,为防止游戏无限进行下去,每局游戏中还给出了一个正整数 NN 表示报数的上界。两人想知道:在不超过 NN 的正整数中,有多少是按这个规则不能报出的。

输入格式

第一行:一个正整数 TT,表示小 R 和小 Z 进行的游戏轮数,保证 1T51 \le T \le 5

接下来 TT 行,每行 33 个正整数 N,k,mN,k,m,描述一局游戏,含义如上文所述。保证 1N101000,1k,m1091 \le N \le 10^{1000}, 1 \le k,m \le 10^9

输出格式

输出 TT 行,每行一个整数,表示这局游戏中不能报出的数的个数,对 109+710^9+7 取模。

2
114 1 5
514 2 10
8
10

提示

第一局游戏中,不能报出的数有 5,14,23,32,41,50,104,1135,14,23,32,41,50,104,113