有一天,lemon 来到了幻想乡,偶遇了“热爱“算术的琪露诺,琪露诺正在练习数数,可她一不小心将从 l 到 r 的所有数字连续地写在了一起,组成了一个新数 l(l+1)(l+2)...(r−1)r。
比如 l=3,r=6 时,新数为 3456。
比如 l=9,r=15 时,新数为 9101112131415。
这个数字太大,以至于琪露诺数不过来了,于是她找到了 lemon,想问他这个新数对 6 取余的值是多少?
lemon 太菜了,于是他毫不犹豫地把这个问题抛给了你。
对于每一对给定的 l 和 r,他们之间的所有数字组成的新数对 6 取余的值是多少?
输入格式
第一行输入一个数 t,表示有 t 个询问(1≤t≤106)
接下来的 t 行,每行包含两个数 l,r,l 和 r 的意义见题目描述(1≤l≤r≤109)
输出格式
每行输出一个数,表示组成的新数对 6 取余的值。
输入样例#1
2
3 6
9 15
输出样例#1
0
3
样例解释
对于样例一,3456%6=0,9101112131415%6=3。
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int main()
{
int t;
cin>>t;
long long l,r,s;
while(t--)
{
cin>>l>>r;
s=0;
for(int i=l;i<=r;i++)
{
s=(s*10+i)%6;
}
cout<<s<<endl;
}
return 0;
}