#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define all(x) x.begin(),x.end()
#define ff first
#define ss second
#define yes "Yes"
#define no "No"
#define pp pop_back
using namespace std;
void solve() {
int n,k;
cin>>n>>k;
vector<pair<int, int>>ev(n);
for (int i = 0; i < n; i++) {
cin >> ev[i].ff >> ev[i].ss;
}
sort(ev.begin(), ev.end());
multiset<int>st;
int mx=0;
for (int i = 0; i < n; i++) {
st.insert(ev[i].ss);
if (st.size() > k) {
st.erase(st.begin());
}
if (st.size() == k) {
mx = max(mx, *st.begin() - ev[i].ff);
}
}
cout << max(0, mx) << endl;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t = 1;
//cin >> t;
while(t--) {
solve();
}
return 0;
}