#include<iostream>
using namespace std;

const int maxn=1e6+5;

//打表
//题意:每个数字的圈圈,理解成对应余数的标记,对于一个多位数,就是考虑其每一位的圈圈,即从从右到做左依次做模运算的余数
long long record[maxn]={0};
void solve()
{
    for(int i=0;i<=maxn;i++)
    {
        int temp=i;
        while(temp!=0)
        {
            int m=temp%10;
            if(m==0||m==4||m==6||m==9)
                record[i]++;
            else if(m==8)
                record[i]+=2;
            temp/=10;
        }
    }
}

int main()
{
    int t;
    cin>>t;
    solve();//注意此处调用下
    while(t--)
    {
        int a,b;
        int sum=0;
        cin>>a>>b;
        for(int i=a;i<=b;i++)
        {
            sum+=record[i];
        }
        cout<<sum<<endl;
    }
    return 0;
}