#include<bits/stdc++.h>
#include<unordered_map>
#define ll long long
#define SI size()
#define F first
#define S second
#define pb push_back
#define MOD 1000000007
#define mid (l+r)/2
#define lowbit(x) x & -x
#define R return
using namespace std;
const ll NMAX=200000+70;
ll n,l,r;
vector<ll> v;
void build_array(ll x){
if(x>1e10)
return ;
v.push_back(x);
build_array(x*10+7);
build_array(x*10+4);
}
void Solve(){
cin>>l>>r;
build_array(4);
build_array(7);
ll ans=0;
sort(v.begin(),v.end());
for(int i=0;i<v.size();i++){
if(l<=v[i]){
ll cur=min(v[i],r)-l+1;
ans+=cur*v[i];
l=min(v[i],r)+1;
}
}
cout<<ans<<endl;
}
int main(){
ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
ll tests = 1;
bool multi = false;
if(multi) cin >> tests;
while(tests--){ Solve(); }
return 0;
}
545B - Equidistant String | 1244C - The Football Season |
1696B - NIT Destroys the Universe | 1674A - Number Transformation |
1244E - Minimizing Difference | 1688A - Cirno's Perfect Bitmasks Classroom |
219A - k-String | 952A - Quirky Quantifiers |
451B - Sort the Array | 1505H - L BREAK into program |
171E - MYSTERIOUS LANGUAGE | 630D - Hexagons |
1690D - Black and White Stripe | 1688D - The Enchanted Forest |
1674C - Infinite Replacement | 712A - Memory and Crow |
1676C - Most Similar Words | 1681A - Game with Cards |
151C - Win or Freeze | 1585A - Life of a Flower |
1662A - Organizing SWERC | 466C - Number of Ways |
1146A - Love "A" | 1618D - Array and Operations |
1255A - Changing Volume | 1710C - XOR Triangle |
415C - Mashmokh and Numbers | 8A - Train and Peter |
591A - Wizards' Duel | 1703G - Good Key Bad Key |