#include <bits/stdc++.h>
using namespace std;
#define int long long
const int sz = 1e5+5;
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int n, k;
cin >> n >> k;
vector<int> v;
int l[n], r[n];
map<int, vector<int>> mp;
for(int i = 0; i < n; i++){
cin >> l[i] >> r[i];
v.push_back(l[i]);
mp[l[i]].push_back(r[i]-1);
}sort(v.begin(), v.end());
v.erase(unique(v.begin(), v.end()), v.end());
multiset<int> s;
int mx = 0;
for(auto i: v){
for(auto j: mp[i]){
s.insert(j);
}
auto it = s.begin();
while(s.size() > k){
s.erase(it);
it = s.begin();
}if(s.size() == k){
mx = max(mx, *it - i + 1);
}
}cout << mx << endl;
return 0;
}