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;
const int maxn = 1e5 + 5;
const int mod = 1e9 + 7;
long long qpow(long long a, long long b) {
  long long res = 1;
  for (; b; b >>= 1) {
    if (b & 1) res = res * a % mod;
    a = a * a % mod;
  }
  return res;
}
struct graph {
  int head[maxn], nxt[maxn << 1], to[maxn << 1], w[maxn << 1], sz;
  void init() { memset(head, -1, sizeof(head)); }
  graph() { init(); }
  void push(int a, int b, int c) {
    nxt[sz] = head[a], to[sz] = b, w[sz] = c, head[a] = sz++;
  }
  int& operator[](const int a) { return to[a]; }
};
int num[1050] = {
    0,         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, 1000000001};
const int maxnum = 1022;
int main() {
  int pl, pr, vl, vr, k;
  cin >> pl >> pr >> vl >> vr >> k;
  double ans = 0;
  for (int r = k; r <= maxnum; ++r) {
    int l = r - k + 1;
    int al = num[l], br = num[r];
    int bl = num[l - 1] + 1, ar = num[r + 1] - 1;
    int inc1 = max(0, min(al, pr) - max(pl, bl) + 1);
    int inc2 = max(0, min(ar, vr) - max(br, vl) + 1);
    ans += 1.0 * inc1 * inc2 / (1.0 * (vr - vl + 1) * (pr - pl + 1));
    inc1 = max(0, min(al, vr) - max(vl, bl) + 1);
    inc2 = max(0, min(ar, pr) - max(pl, br) + 1);
    ans += 1.0 * inc1 * inc2 / (1.0 * (vr - vl + 1) * (pr - pl + 1));
    if (al == br) {
      if (pr >= al && pl <= al && br >= al && bl <= al) {
        ans -= 1.0 / ((vr - vl + 1) * (pr - pl + 1));
      }
    }
  }
  printf("%.10f\n", ans);
  return 0;
}