#include <bits/stdc++.h>
using namespace std;
bool cmp(const pair<int, pair<int, int>> a, const pair<int, pair<int, int>> b) {
  if (a.first == b.first) {
    return a.second.first > b.second.first;
  } else {
    return a.first < b.first;
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  int n, k;
  cin >> n >> k;
  vector<int> be(n);
  vector<int> en(n);
  for (int i = 0; i < n; i++) {
    cin >> be[i] >> en[i];
  }
  int L = 0;
  int R = 1e9 + 1e9 + 5;
  while (R - L > 1) {
    int mid = L + (R - L) / 2;
    vector<pair<int, pair<int, int>>> even;
    for (int i = 0; i < n; i++) {
      long long nooow = (long long)en[i] - mid + 1;
      if (be[i] <= nooow) {
        even.push_back({be[i], {1, 0}});
        even.push_back({nooow, {-1, 0}});
      }
    }
    sort(even.begin(), even.end(), cmp);
    int bal = 0;
    bool good = false;
    for (int i = 0; i < even.size(); i++) {
      bal += even[i].second.first;
      if (bal >= k) {
        good = true;
      }
    }
    if (good) {
      L = mid;
    } else {
      R = mid;
    }
  }
  vector<pair<int, pair<int, int>>> even;
  for (int i = 0; i < n; i++) {
    long long nooow = (long long)en[i] - L + 1;
    if (be[i] <= nooow) {
      even.push_back({be[i], {1, i}});
      even.push_back({nooow, {-1, i}});
    }
  }
  sort(even.begin(), even.end(), cmp);
  vector<int> ans;
  ans.push_back(1);
  int ind = 0;
  for (int i = 1; i < even.size(); i++) {
    if (even[i].second.first == 1) {
      ans.push_back(ans[i - 1] + 1);
    } else {
      ans.push_back(ans[i - 1] - 1);
    }
    if (ans[i] == k) {
      ind = i;
      break;
    }
  }
  if (L == 0) {
    cout << 0 << endl;
    for (int i = 0; i < k; i++) {
      cout << i + 1 << " ";
    }
  } else {
    cout << L << endl;
    set<int> answer;
    for (int i = 0; i <= ind; i++) {
      if (even[i].second.first == 1) {
        answer.insert(even[i].second.second);
      } else {
        answer.erase(even[i].second.second);
      }
    }
    for (set<int>::iterator it = answer.begin(); it != answer.end(); it++) {
      cout << *it + 1 << " ";
    }
  }
  return 0;
}
