#include using namespace std; int main() { int64_t n, k; cin >> n >> k; vector> ps(n); for (auto &p : ps) { cin >> p.first >> p.second; } auto f = [](vector> &ps, int64_t x) { int64_t r = 0; for (auto &p : ps) { if (p.first <= x) { r += min(x, p.second) - p.first + 1; } } return r; }; int64_t l = 0, r = (1LL << 60); while (1 < r - l) { int64_t mid = (l + r) / 2; ((f(ps, mid) < k) ? l : r) = mid; } cout << r << endl; return 0; }