#include #include using namespace std; const long mod=7000000001; long p10[20]; long dp[20][2],way[20][2]; long f(long N) { int n[20]; for(int i=0;i<20;i++)n[i]=N%10,N/=10; assert(n[19]==0); long ret=0; long UP=0; for(int w=19;w>=1;w--) { UP=UP*10+n[w-1]; if(UP==0)continue; for(int i=w-1;i>=0;i--)for(int k=0;k<2;k++)dp[i][k]=way[i][k]=0; for(int a=1;a<=9&&a<=UP;a++) { int nk=a0;i--) { {//from k=0 int up=n[i-1]; int suma=up*(up-1)/2; dp[i-1][1]=(dp[i-1][1]+dp[i][0]*up+(__int128)way[i][0]*suma*p10[w-i])%mod; way[i-1][1]=(way[i-1][1]+way[i][0]*up)%mod; dp[i-1][0]=(dp[i-1][0]+dp[i][0]+(__int128)way[i][0]*up*p10[w-i])%mod; way[i-1][0]=(way[i-1][0]+way[i][0])%mod; } {//from k=1 dp[i-1][1]=(dp[i-1][1]+dp[i][1]*10+(__int128)way[i][1]*45*p10[w-i])%mod; way[i-1][1]=(way[i-1][1]+way[i][1]*10)%mod; } } ret+=dp[0][1]; } return ret%mod; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); p10[0]=1; for(int i=1;i<20;i++)p10[i]=p10[i-1]*10%mod; int T;cin>>T; for(;T--;) { long L,R;cin>>L>>R; long ans=f(R+1)-f(L)+mod; cout<