Problem: Petya loves lucky numbers. We all know that lucky numbers are the positive integers whose decimal representations contain only the lucky digits 4 and 7. For example, numbers 47, 744, 4 are lucky and 5, 17, 467 are not.

Petya and his friend Vasya play an interesting game. Petya randomly chooses an integer p from the interval [pl, pr] and Vasya chooses an integer v from the interval [vl, vr] (also randomly). Both players choose their integers equiprobably. Find the probability that the interval [min(v, p), max(v, p)] contains exactly k lucky numbers.

Input

The single line contains five integers pl, pr, vl, vr and k (1 ≤ pl ≤ pr ≤ 109, 1 ≤ vl ≤ vr ≤ 109, 1 ≤ k ≤ 1000).

Output

On the single line print the result with an absolute error of no more than 10 - 9.

Examples

Input

1 10 1 10 2


Output

0.320000000000


Input

5 6 8 10 1


Output

1.000000000000

Note

Consider that [a, b] denotes an interval of integers; this interval includes the boundaries. That is, <image>

In first case there are 32 suitable pairs: (1, 7), (1, 8), (1, 9), (1, 10), (2, 7), (2, 8), (2, 9), (2, 10), (3, 7), (3, 8), (3, 9), (3, 10), (4, 7), (4, 8), (4, 9), (4, 10), (7, 1), (7, 2), (7, 3), (7, 4), (8, 1), (8, 2), (8, 3), (8, 4), (9, 1), (9, 2), (9, 3), (9, 4), (10, 1), (10, 2), (10, 3), (10, 4). Total number of possible pairs is 10·10 = 100, so answer is 32 / 100.

In second case Petya always get number less than Vasya and the only lucky 7 is between this numbers, so there will be always 1 lucky number.

Solution (in CPP):

Solution:
#include <bits/stdc++.h>
using namespace std;
inline long long gcd(long long x, long long y) { return x ? gcd(y % x, x) : y; }
const long long mod = 1e9 + 7;
inline long long QPow(long long a, long long b) {
  long long ans = 1;
  while (b) {
    if (b & 1) ans = ans * a % mod;
    a = a * a % mod;
    b >>= 1;
  }
  return ans;
}
long long exgcd(long long a, long long b, long long &x, long long &y) {
  long long d = a;
  if (b == 0)
    x = 1, y = 0;
  else {
    d = exgcd(b, a % b, y, x), y -= a / b * x;
  }
  return d;
}
const long long maxn = 1005;
vector<long long> vec = {
    4,         7,         44,        47,        74,        77,        444,
    447,       474,       477,       744,       747,       774,       777,
    4444,      4447,      4474,      4477,      4744,      4747,      4774,
    4777,      7444,      7447,      7474,      7477,      7744,      7747,
    7774,      7777,      44444,     44447,     44474,     44477,     44744,
    44747,     44774,     44777,     47444,     47447,     47474,     47477,
    47744,     47747,     47774,     47777,     74444,     74447,     74474,
    74477,     74744,     74747,     74774,     74777,     77444,     77447,
    77474,     77477,     77744,     77747,     77774,     77777,     444444,
    444447,    444474,    444477,    444744,    444747,    444774,    444777,
    447444,    447447,    447474,    447477,    447744,    447747,    447774,
    447777,    474444,    474447,    474474,    474477,    474744,    474747,
    474774,    474777,    477444,    477447,    477474,    477477,    477744,
    477747,    477774,    477777,    744444,    744447,    744474,    744477,
    744744,    744747,    744774,    744777,    747444,    747447,    747474,
    747477,    747744,    747747,    747774,    747777,    774444,    774447,
    774474,    774477,    774744,    774747,    774774,    774777,    777444,
    777447,    777474,    777477,    777744,    777747,    777774,    777777,
    4444444,   4444447,   4444474,   4444477,   4444744,   4444747,   4444774,
    4444777,   4447444,   4447447,   4447474,   4447477,   4447744,   4447747,
    4447774,   4447777,   4474444,   4474447,   4474474,   4474477,   4474744,
    4474747,   4474774,   4474777,   4477444,   4477447,   4477474,   4477477,
    4477744,   4477747,   4477774,   4477777,   4744444,   4744447,   4744474,
    4744477,   4744744,   4744747,   4744774,   4744777,   4747444,   4747447,
    4747474,   4747477,   4747744,   4747747,   4747774,   4747777,   4774444,
    4774447,   4774474,   4774477,   4774744,   4774747,   4774774,   4774777,
    4777444,   4777447,   4777474,   4777477,   4777744,   4777747,   4777774,
    4777777,   7444444,   7444447,   7444474,   7444477,   7444744,   7444747,
    7444774,   7444777,   7447444,   7447447,   7447474,   7447477,   7447744,
    7447747,   7447774,   7447777,   7474444,   7474447,   7474474,   7474477,
    7474744,   7474747,   7474774,   7474777,   7477444,   7477447,   7477474,
    7477477,   7477744,   7477747,   7477774,   7477777,   7744444,   7744447,
    7744474,   7744477,   7744744,   7744747,   7744774,   7744777,   7747444,
    7747447,   7747474,   7747477,   7747744,   7747747,   7747774,   7747777,
    7774444,   7774447,   7774474,   7774477,   7774744,   7774747,   7774774,
    7774777,   7777444,   7777447,   7777474,   7777477,   7777744,   7777747,
    7777774,   7777777,   44444444,  44444447,  44444474,  44444477,  44444744,
    44444747,  44444774,  44444777,  44447444,  44447447,  44447474,  44447477,
    44447744,  44447747,  44447774,  44447777,  44474444,  44474447,  44474474,
    44474477,  44474744,  44474747,  44474774,  44474777,  44477444,  44477447,
    44477474,  44477477,  44477744,  44477747,  44477774,  44477777,  44744444,
    44744447,  44744474,  44744477,  44744744,  44744747,  44744774,  44744777,
    44747444,  44747447,  44747474,  44747477,  44747744,  44747747,  44747774,
    44747777,  44774444,  44774447,  44774474,  44774477,  44774744,  44774747,
    44774774,  44774777,  44777444,  44777447,  44777474,  44777477,  44777744,
    44777747,  44777774,  44777777,  47444444,  47444447,  47444474,  47444477,
    47444744,  47444747,  47444774,  47444777,  47447444,  47447447,  47447474,
    47447477,  47447744,  47447747,  47447774,  47447777,  47474444,  47474447,
    47474474,  47474477,  47474744,  47474747,  47474774,  47474777,  47477444,
    47477447,  47477474,  47477477,  47477744,  47477747,  47477774,  47477777,
    47744444,  47744447,  47744474,  47744477,  47744744,  47744747,  47744774,
    47744777,  47747444,  47747447,  47747474,  47747477,  47747744,  47747747,
    47747774,  47747777,  47774444,  47774447,  47774474,  47774477,  47774744,
    47774747,  47774774,  47774777,  47777444,  47777447,  47777474,  47777477,
    47777744,  47777747,  47777774,  47777777,  74444444,  74444447,  74444474,
    74444477,  74444744,  74444747,  74444774,  74444777,  74447444,  74447447,
    74447474,  74447477,  74447744,  74447747,  74447774,  74447777,  74474444,
    74474447,  74474474,  74474477,  74474744,  74474747,  74474774,  74474777,
    74477444,  74477447,  74477474,  74477477,  74477744,  74477747,  74477774,
    74477777,  74744444,  74744447,  74744474,  74744477,  74744744,  74744747,
    74744774,  74744777,  74747444,  74747447,  74747474,  74747477,  74747744,
    74747747,  74747774,  74747777,  74774444,  74774447,  74774474,  74774477,
    74774744,  74774747,  74774774,  74774777,  74777444,  74777447,  74777474,
    74777477,  74777744,  74777747,  74777774,  74777777,  77444444,  77444447,
    77444474,  77444477,  77444744,  77444747,  77444774,  77444777,  77447444,
    77447447,  77447474,  77447477,  77447744,  77447747,  77447774,  77447777,
    77474444,  77474447,  77474474,  77474477,  77474744,  77474747,  77474774,
    77474777,  77477444,  77477447,  77477474,  77477477,  77477744,  77477747,
    77477774,  77477777,  77744444,  77744447,  77744474,  77744477,  77744744,
    77744747,  77744774,  77744777,  77747444,  77747447,  77747474,  77747477,
    77747744,  77747747,  77747774,  77747777,  77774444,  77774447,  77774474,
    77774477,  77774744,  77774747,  77774774,  77774777,  77777444,  77777447,
    77777474,  77777477,  77777744,  77777747,  77777774,  77777777,  444444444,
    444444447, 444444474, 444444477, 444444744, 444444747, 444444774, 444444777,
    444447444, 444447447, 444447474, 444447477, 444447744, 444447747, 444447774,
    444447777, 444474444, 444474447, 444474474, 444474477, 444474744, 444474747,
    444474774, 444474777, 444477444, 444477447, 444477474, 444477477, 444477744,
    444477747, 444477774, 444477777, 444744444, 444744447, 444744474, 444744477,
    444744744, 444744747, 444744774, 444744777, 444747444, 444747447, 444747474,
    444747477, 444747744, 444747747, 444747774, 444747777, 444774444, 444774447,
    444774474, 444774477, 444774744, 444774747, 444774774, 444774777, 444777444,
    444777447, 444777474, 444777477, 444777744, 444777747, 444777774, 444777777,
    447444444, 447444447, 447444474, 447444477, 447444744, 447444747, 447444774,
    447444777, 447447444, 447447447, 447447474, 447447477, 447447744, 447447747,
    447447774, 447447777, 447474444, 447474447, 447474474, 447474477, 447474744,
    447474747, 447474774, 447474777, 447477444, 447477447, 447477474, 447477477,
    447477744, 447477747, 447477774, 447477777, 447744444, 447744447, 447744474,
    447744477, 447744744, 447744747, 447744774, 447744777, 447747444, 447747447,
    447747474, 447747477, 447747744, 447747747, 447747774, 447747777, 447774444,
    447774447, 447774474, 447774477, 447774744, 447774747, 447774774, 447774777,
    447777444, 447777447, 447777474, 447777477, 447777744, 447777747, 447777774,
    447777777, 474444444, 474444447, 474444474, 474444477, 474444744, 474444747,
    474444774, 474444777, 474447444, 474447447, 474447474, 474447477, 474447744,
    474447747, 474447774, 474447777, 474474444, 474474447, 474474474, 474474477,
    474474744, 474474747, 474474774, 474474777, 474477444, 474477447, 474477474,
    474477477, 474477744, 474477747, 474477774, 474477777, 474744444, 474744447,
    474744474, 474744477, 474744744, 474744747, 474744774, 474744777, 474747444,
    474747447, 474747474, 474747477, 474747744, 474747747, 474747774, 474747777,
    474774444, 474774447, 474774474, 474774477, 474774744, 474774747, 474774774,
    474774777, 474777444, 474777447, 474777474, 474777477, 474777744, 474777747,
    474777774, 474777777, 477444444, 477444447, 477444474, 477444477, 477444744,
    477444747, 477444774, 477444777, 477447444, 477447447, 477447474, 477447477,
    477447744, 477447747, 477447774, 477447777, 477474444, 477474447, 477474474,
    477474477, 477474744, 477474747, 477474774, 477474777, 477477444, 477477447,
    477477474, 477477477, 477477744, 477477747, 477477774, 477477777, 477744444,
    477744447, 477744474, 477744477, 477744744, 477744747, 477744774, 477744777,
    477747444, 477747447, 477747474, 477747477, 477747744, 477747747, 477747774,
    477747777, 477774444, 477774447, 477774474, 477774477, 477774744, 477774747,
    477774774, 477774777, 477777444, 477777447, 477777474, 477777477, 477777744,
    477777747, 477777774, 477777777, 744444444, 744444447, 744444474, 744444477,
    744444744, 744444747, 744444774, 744444777, 744447444, 744447447, 744447474,
    744447477, 744447744, 744447747, 744447774, 744447777, 744474444, 744474447,
    744474474, 744474477, 744474744, 744474747, 744474774, 744474777, 744477444,
    744477447, 744477474, 744477477, 744477744, 744477747, 744477774, 744477777,
    744744444, 744744447, 744744474, 744744477, 744744744, 744744747, 744744774,
    744744777, 744747444, 744747447, 744747474, 744747477, 744747744, 744747747,
    744747774, 744747777, 744774444, 744774447, 744774474, 744774477, 744774744,
    744774747, 744774774, 744774777, 744777444, 744777447, 744777474, 744777477,
    744777744, 744777747, 744777774, 744777777, 747444444, 747444447, 747444474,
    747444477, 747444744, 747444747, 747444774, 747444777, 747447444, 747447447,
    747447474, 747447477, 747447744, 747447747, 747447774, 747447777, 747474444,
    747474447, 747474474, 747474477, 747474744, 747474747, 747474774, 747474777,
    747477444, 747477447, 747477474, 747477477, 747477744, 747477747, 747477774,
    747477777, 747744444, 747744447, 747744474, 747744477, 747744744, 747744747,
    747744774, 747744777, 747747444, 747747447, 747747474, 747747477, 747747744,
    747747747, 747747774, 747747777, 747774444, 747774447, 747774474, 747774477,
    747774744, 747774747, 747774774, 747774777, 747777444, 747777447, 747777474,
    747777477, 747777744, 747777747, 747777774, 747777777, 774444444, 774444447,
    774444474, 774444477, 774444744, 774444747, 774444774, 774444777, 774447444,
    774447447, 774447474, 774447477, 774447744, 774447747, 774447774, 774447777,
    774474444, 774474447, 774474474, 774474477, 774474744, 774474747, 774474774,
    774474777, 774477444, 774477447, 774477474, 774477477, 774477744, 774477747,
    774477774, 774477777, 774744444, 774744447, 774744474, 774744477, 774744744,
    774744747, 774744774, 774744777, 774747444, 774747447, 774747474, 774747477,
    774747744, 774747747, 774747774, 774747777, 774774444, 774774447, 774774474,
    774774477, 774774744, 774774747, 774774774, 774774777, 774777444, 774777447,
    774777474, 774777477, 774777744, 774777747, 774777774, 774777777, 777444444,
    777444447, 777444474, 777444477, 777444744, 777444747, 777444774, 777444777,
    777447444, 777447447, 777447474, 777447477, 777447744, 777447747, 777447774,
    777447777, 777474444, 777474447, 777474474, 777474477, 777474744, 777474747,
    777474774, 777474777, 777477444, 777477447, 777477474, 777477477, 777477744,
    777477747, 777477774, 777477777, 777744444, 777744447, 777744474, 777744477,
    777744744, 777744747, 777744774, 777744777, 777747444, 777747447, 777747474,
    777747477, 777747744, 777747747, 777747774, 777747777, 777774444, 777774447,
    777774474, 777774477, 777774744, 777774747, 777774774, 777774777, 777777444,
    777777447, 777777474, 777777477, 777777744, 777777747, 777777774, 777777777,
    4444444444};
signed main() {
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  long long t;
  long long n, l, m, A, cf, cm, pl, pr, vl, vr, k;
  cin >> pl >> pr >> vl >> vr >> k;
  signed lef1 = lower_bound(vec.begin(), vec.end(), pl) - vec.begin(),
         rig1 = upper_bound(vec.begin(), vec.end(), pr) - vec.begin() - 1;
  signed lef2 = lower_bound(vec.begin(), vec.end(), vl) - vec.begin();
  signed rig2 = upper_bound(vec.begin(), vec.end(), vr) - vec.begin() - 1;
  long long fenmu = (pr - pl + 1) * (vr - vl + 1);
  long long fenzi = 0;
  if (lef1 <= rig1) {
    for (long long i = lef1; i <= rig1; i++) {
      long long tmp = i + k - 1;
      if (tmp >= lef2 && tmp <= rig2) {
        fenzi += max((long long)0,
                     (vec[i] - max(i == 0 ? 1 : (vec[i - 1] + 1), pl) + 1)) *
                 max((long long)0, (min(vec[tmp + 1] - 1, vr)) - vec[tmp] + 1);
      } else if (tmp == lef2 - 1)
        fenzi += max((long long)0,
                     (vec[i] - max(i == 0 ? 1 : (vec[i - 1] + 1), pl) + 1)) *
                 (min(vr + 1, vec[lef2]) - vl);
    }
    long long tmp = rig1 + k;
    if (tmp >= lef2 && tmp <= rig2)
      fenzi += (pr - vec[rig1]) * (min(vec[tmp + 1] - 1, vr) - vec[tmp] + 1);
    else if (tmp == lef2 - 1)
      fenzi += (pr - vec[rig1]) * (min(vr + 1, vec[lef2]) - vl);
  } else {
    long long tmp = lef1 + k - 1;
    if (tmp >= lef2 && tmp <= rig2)
      fenzi += (pr - pl + 1) * (min(vec[tmp + 1] - 1, vr) - vec[tmp] + 1);
    else if (tmp == lef2 - 1)
      fenzi += (pr - pl + 1) * (min(vr + 1, vec[lef2]) - vl);
  }
  if (lef2 <= rig2) {
    for (long long i = lef2; i <= rig2; i++) {
      long long tmp = i + k - 1;
      if (tmp >= lef1 && tmp <= rig1) {
        fenzi += max((long long)0,
                     (vec[i] - max(i == 0 ? 1 : (vec[i - 1] + 1), vl) + 1)) *
                 max((long long)0, (min(vec[tmp + 1] - 1, pr)) - vec[tmp] + 1);
      } else if (tmp == lef1 - 1) {
        fenzi += max((long long)0,
                     (vec[i] - max(i == 0 ? 1 : (vec[i - 1] + 1), vl) + 1)) *
                 (min(pr + 1, vec[lef1]) - pl);
      }
    }
    long long tmp = rig2 + k;
    if (tmp >= lef1 && tmp <= rig1)
      fenzi += (vr - vec[rig2]) * (min(vec[tmp + 1] - 1, pr) - vec[tmp] + 1);
    else if (tmp == lef1 - 1)
      fenzi += (vr - vec[rig2]) * (min(pr + 1, vec[lef1]) - pl);
  } else {
    long long tmp = lef2 + k - 1;
    if (tmp >= lef1 && tmp <= rig1)
      fenzi += (vr - vl + 1) * (min(vec[tmp + 1] - 1, pr) - vec[tmp] + 1);
    else if (tmp == lef1 - 1)
      fenzi += (vr - vl + 1) * (min(pr + 1, vec[lef1]) - pl);
  };
  if (k == 1) fenzi -= max(0, min(rig2, rig1) - max(lef1, lef2) + 1);
  cout << fixed << setprecision(12) << (long double)(fenzi) / fenmu << endl;
  return 0;
}