#include <bits/stdc++.h>
using namespace std;
int main(int argc, char const *argv[]) {
  int n, k;
  cin >> n >> k;
  int M = 1 << 30;
  vector<pair<int, int> > p;
  for (int i = 0; i < n; ++i) {
    int l, r;
    cin >> l >> r;
    p.push_back(pair<int, int>(l, i));
    p.push_back(pair<int, int>(r + 1, i - M));
  }
  sort(p.begin(), p.end());
  vector<int> s(n, 0);
  int l = -1, r = -1, tmp = 0, res = 0;
  while (r < 2 * n) {
    while (r == l || tmp >= k) {
      r++;
      if (r == 2 * n) break;
      if (p[r].second > -1) {
        int x = p[r].second;
        if (s[x] == 0) {
          s[x] = 1;
        }
      } else {
        int x = p[r].second + M;
        if (s[x] == 2) {
          tmp--;
          if (tmp == k - 1) res = max(res, p[r].first - p[l].first);
        }
        s[x] = 3;
      }
    }
    while (l < r && tmp < k) {
      l++;
      if (l == 2 * n) break;
      if (p[l].second > -1) {
        int x = p[l].second;
        if (s[x] == 1) {
          s[x] = 2;
          tmp++;
        }
      }
    }
  }
  cout << res << endl;
  if (res == 0) {
    for (int i = 1; i <= k; ++i) cout << i << " ";
    cout << endl;
    return 0;
  }
  s = vector<int>(n);
  l = -1, r = -1, tmp = 0;
  while (r < 2 * n) {
    while (r == l || tmp >= k) {
      r++;
      if (r == 2 * n) break;
      if (p[r].second > -1) {
        int x = p[r].second;
        if (s[x] == 0) {
          s[x] = 1;
        }
      } else {
        int x = p[r].second + M;
        if (s[x] == 2) {
          tmp--;
          if (tmp == k - 1) {
            if (res == p[r].first - p[l].first) {
              for (int i = 0; i < n; ++i)
                if (s[i] == 2) cout << i + 1 << " ";
              cout << endl;
              return 0;
            }
          }
        }
        s[x] = 3;
      }
    }
    while (l < r && tmp < k) {
      l++;
      if (l == 2 * n) break;
      if (p[l].second > -1) {
        int x = p[l].second;
        if (s[x] == 1) {
          s[x] = 2;
          tmp++;
        }
      }
    }
  }
  cout << res << endl;
  if (res == 0) {
    for (int i = 1; i <= k; ++i) cout << i << " ";
    cout << endl;
    return 0;
  }
  return 0;
}
