U537283 方格数

题目描述

JT 现在有一行方格,一开始所有位置为 $0$。 他想要从最右边以 $n$ 开始填数,再每隔 $k$ 格依次填上递减的数,直到为 $0$ 为止。 例如,当 $n=10,k=0$ 时,填数为: $\Large\boxed{···}\boxed{0}\boxed{0}\boxed{1}\boxed{2}\boxed{3}\boxed{4}\boxed{5}\boxed{6}\boxed{7}\boxed{8}\boxed{9}\boxed{10}$ 但 JT 又觉得在一个格子中,数字太大不美观,所以他决定像十进制一样进位,于是变成这样: $\Large\boxed{···}\boxed{0}\boxed{0}\boxed{1}\boxed{2}\boxed{3}\boxed{4}\boxed{5}\boxed{6}\boxed{7}\boxed{9}\boxed{0}\boxed{0}$ 现在,JT 想把这些方格当成数字从左到右读出来,由于数字可能过大,答案对 $10^9 + 7$ 取模。

输入格式

输入的第一行包含一个整数 $T$,表示组数。 接下来 $T$ 组数据,每组两个非负整数 $n$, $k$。

输出格式

对于每组数据,输出操作完成后读出的数,并对 $10^9 + 7$ 取模。

说明/提示

$1 \le T \le 10$ | 测试点编号 | 数据范围 | 特殊性质 | 分值 | | :----------: | :----------: | :----------: | :----------: | | 1 ~ 3 | $1 \le n,k \le 10^5$ | - | $30$ | | 4 | $1 \le n,k \le 10^9$ | $k = 0$ | $10$ | | 5 ~ 10 | $1 \le n,k \le 10^9$ | - | $60$ |