#include<stdio.h>
#define MAX 1000005
int main()
{
int N[MAX] = { 0 };
int i = 0;
int s = 1,k=0,sum=0;
while (++i)
{
for (int j = 1; j <= i; j++)
{
if (s < 10)
{
sum += s;
N[k++] = sum;
if (k >= 1e6) break;
}
else
{
int S[100] = { 0 },t=0,r=s;
while (r == 0)
{
S[t++] = r % 10;
r = r / 10;
}
for (int m = t-1; m >=0; m--)
{
sum += S[m];
N[k++] = sum;
if (k >= 1e6) break;
}
}
if (k >= 1e6) break;
}
if (k >= 1e6) break;
s++;
}
int n;
scanf("%d", &n);
int l, r;
for (int i = 0; i < n; i++)
{
scanf("%d %d", &l, &r);
printf("%d\n", N[r-1]-N[l-2]);
}
return 0;
}
#include<stdio.h>
#define MAX 1000005
int main()
{
int N[MAX] = { 0 };
int i = 0;
int m=0,sum=0;
while (++i)
{
int S[10000] = { 0 };
int r = i,t=0;
while (r != 0)
{
S[t++] = r % 10;
r = r / 10;
}
for (int j = 1; j <= i; j++)
{
for (int k = t - 1; k >= 0; k--)
{
sum += S[k];
N[m++] = sum;
if (m >= 1e6) break;
}
if (m >= 1e6) break;
}
if (m >= 1e6) break;
}
int n;
scanf("%d", &n);
int l, r;
for (int i = 0; i < n; i++)
{
scanf("%d %d", &l, &r);
printf("%d\n", N[r-1]-N[l-2]);
}
return 0;
}