/* 1.数组达百万级时会导致栈溢出,window栈分配1M; 所以定义静态数组,使数组分配在堆上;
2.hdoj : time limit exceeded 1000ms;
*/
#include<stdio.h>
int regist[1000001];int main()
{
int n,m;
int i;
for(i=0;i<=1000001;i++)
{
int j=i;
regist[i]=0;
while(j)
{
if(j%10==4||j%100==62)
{
regist[i]=1;
break;
}
j=j/10;
}
}
while(scanf("%d%d",&n,&m),n!=0||m!=0)
{
int s=m-n+1;
for(i=n;i<=m;i++)
{
if(regist[i]==1)
s--;
}
printf("%d\n",s);
}
return 0;
}