#include using namespace std; int main(){ cin.tie(0); ios::sync_with_stdio(false); long long N, K; cin >> N >> K; vector> imos; for (int n = 0; n < N; ++n){ long long a, b; cin >> a >> b; imos.emplace_back(make_pair(a, 1)); imos.emplace_back(make_pair(b + 1, -1)); } sort(imos.begin(), imos.end()); long long cum = 0; long long coin = 0; for (auto validx : imos){ long long val = validx.first; int idx = validx.second; long long k = (val - coin) * cum; if (val == coin){ cum += idx; continue; }else if (k < K){ K -= k; coin = val; cum += idx; continue; }else if (k == K){ coin = val - 1; break; }else{ // k > K coin += (K - 1LL) / cum; break; } } cout << coin << endl; return 0; }