#include<stdio.h>
#include<string.h>
#include<math.h>
#include<time.h>
#include<iostream>
#include<ctype.h>
#include<map>
#include<set>
#include<string>
#include<vector>
#include<algorithm>
#include<stdlib.h>
#include<queue>
#include<stack>
using namespace std;
#define LL long long
LL dp[55][55],num[55];
LL dfs(int pos,int iszero,int st,int limit)//pow为数位,iszero判断是否为0,st上一个状态初始为0,limit是否达到上限
{
if(pos<0)
{
if(iszero)
return 1;
else
return st;
}
if(!limit&&!iszero&&dp[pos][st]!=-1)
return dp[pos][st];
LL ans=0;
int len=limit?num[pos]:9;
for(int i=0;i<=len;i++)
{
if(iszero)
ans+=dfs(pos-1,i==0,0,limit&&i==len);
else
ans+=dfs(pos-1,0,st+(i==0),limit&&i==len);
}
if(!limit&&!iszero)
dp[pos][st]=ans;
return ans;
}
LL sv(LL a)
{
int len=0;
memset(dp,-1,sizeof(dp));
memset(num,0,sizeof(num));
while(a)
{
num[len++]=a%10;
a/=10;
}
return dfs(len-1,1,0,1);
}
int main()
{
LL m,n;
while(~scanf("%lld%lld",&n,&m))
{
// LL ee=sv(m)-sv(n-1);
printf("%lld
",sv(m)-sv(n-1));
}
}