#include<bits/stdc++.h>
using namespace std;
#define int long long
int b[200005];
int cnt;
void dfs(int n,int c)
{
b[cnt++]=n;//存数,第一个数是0
if(c>10)return;//c是数位
dfs(n*10+4,c+1);
dfs(n*10+7,c+1);
}
signed main()
{
dfs(0,0);
sort(b,b+cnt);
int l,r,ans=0;
cin>>l>>r;
for(int i=0;i<cnt;i++)//好角度,不超时
{
if(l<b[i])//筛除前面的,一进后面也会进,直到break;
{
if(b[i]<=r)
{
ans+=(b[i]-l+1)*b[i];
l=b[i]+1;
//cout<<ans<<"&\n";
}
else
{
ans+=(r-l+1)*b[i];
//cout<<ans<<"&\n";
break;
}
}
}
cout<<ans<<'\n';
}