#include #include #include #include #include #include #include #include #define scanf scanf_s using namespace std; typedef long long int ll; typedef pair pos; const ll MOD = 1000000007,N=100010; ll n, k; pos ab[N]; bool ok(ll v1) { ll kv = 0; for (int i = 1; i <= n; i++) { ll vv1 = ab[i].first, vv2 = ab[i].second; kv += max((ll)0, min(v1, vv2) - vv1 + 1); } return kv >= k; } int main() { cin >> n >> k; for (int i = 1; i <= n; i++)cin >> ab[i].first >> ab[i].second; ll mnv = 0, mxv = 1000000010; while (mxv - mnv > 1) { ll md = (mxv + mnv) / 2; if (ok(md))mxv = md; else mnv = md; } cout << mxv << endl; return 0; }