#include <bits/stdc++.h>
using namespace std;
long long a[524286 + 100], l[100100], r[100100], ml = 1000111000000000000LL, n,
                                                 k;
bool che(long long lg, long long rg) {
  long long ans = 0;
  for (long long i = 0; i < n; ++i) {
    if (lg < l[i]) ans += (l[i] - lg);
    if (r[i] < rg) ans += (rg - r[i]);
    if (ans > k) return 0;
  }
  return 1;
}
long long bin(void) {
  bool fl = 0;
  long long le = 0, re = 524286, m;
  while (le < re) {
    fl = 0;
    m = (le + re + 2) / 2;
    for (long long j = 0; j + m <= 524286 && !fl; ++j)
      if (a[j + m] - a[j + 1] <= ml) fl = che(a[j + 1], a[j + m]);
    fl ? le = m : re = m - 1;
  }
  return le;
}
void read(void) {
  cin >> n >> k;
  for (long long i = 0; i < n; ++i) {
    cin >> l[i] >> r[i];
    ml = min(ml, (r[i] - l[i]));
  }
}
long long luck(long long t) {
  long long a = 0, d = 1 << 20;
  while (d > 0) {
    if (t >= 2 * d)
      if (t & d)
        a = 10 * a + 7;
      else
        a = 10 * a + 4;
    d >>= 1;
  }
  return a;
}
void pre(void) {
  for (long long i = 2; i < 524286 + 10; ++i) a[i - 1] = luck(i);
}
int main() {
  pre();
  read();
  cout << bin();
  return 0;
}
