C1076 [Contest #4]求和

内存限制:256 MB 时间限制:1000 ms

题目描述

对于一个正整数 $n$,考虑如下的操作,直到 $n$ 变成一个小于 $10$ 的数,记为 $f(n)$:假设 $n$ 的十进制表示为 $a_1a_2\dots a_m$,把相邻两位求和并对 $10$ 取模得到另一个数 $n^\prime$(也就是说,如果 $n^\prime$ 的十进制是 $b_1b_2\dots b_{m-1}$,那么 $b_i=(a_i+a_{i+1}) \bmod 10$),如果$n^\prime$ 有前导零,那么这些零要去掉。比如:$f(5516)=3$,因为 $5516 \to 67 \to 3$;$f(1234)=0$,因为 $1234 \to 357 \to 82 \to 0$;$f(10009)=0$,因为 $10009 \to 1009 \to 109 \to 19 \to 0$;$f(5555)=0$,因为 $5555 \to 0$。

现在给出两个数$l$和$r$,希望你求出$\sum\limits_{n=l}^{r} f(n)$。

输入格式

输入有多组数据。第一行有一个整数 $T$ ($1 \le T \le 10^5$),表示测试数据组数。然后对于每组数据:

第一行包含 $2$ 个正整数 $l$ 和 $r$ ($1 \le l \le r \le 10^{18}$)。

输出

对于每组数据,输出一个非负整数表示 $\sum\limits_{n=l}^{r} f(n)$。

样例

样例输入 1

5 2 3 3 4 10 100 2 454 3 444

样例输出 1

5 7 406 2054 1997

提示