#include <bits/stdc++.h>
using namespace std;
vector<long long> n;
void luckyNumbers() {
  queue<long long> q;
  q.push(4);
  q.push(7);
  while (!q.empty()) {
    long long x = q.front();
    n.push_back(x);
    q.pop();
    if ((x * 10 + 4) <= 1000000000) q.push(x * 10 + 4);
    if ((x * 10 + 7) <= 1000000000) q.push(x * 10 + 7);
  }
  n.push_back(4444444444);
}
int main() {
  long long l, r, ans = 0;
  cin >> l >> r;
  luckyNumbers();
  sort(n.begin(), n.end());
  long long x = lower_bound(n.begin(), n.end(), l) - n.begin();
  long long y = lower_bound(n.begin(), n.end(), r) - n.begin();
  ans += (min(n[x], r) - l + 1) * n[x];
  for (int i = x; i < y; ++i) {
    ans += (min(r, n[i + 1]) - n[i]) * n[i + 1];
  }
  cout << ans << '\n';
}
