#include #define rep(i, n) for(int i = 0, i##_len = (n); i < i##_len; ++i) #define repp(i, m, n) for(int i = m, i##_len = (n); i < i##_len; ++i) #define all(x) (x).begin(), (x).end() #define clr(ar, val) memset(ar, val, sizeof(ar)) template bool chmax(T &a, const T &b) { if (a < b) { a = b; return 1; } return 0; } template bool chmin(T &a, const T &b) { if (b < a) { a = b; return 1; } return 0; } int gcd(int a,int b){return b?gcd(b,a%b):a;} using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair P; typedef long double ld; int main(void) { long n, k, a[100000], b[100000], c[100000]; long tmp = 0, ans = 0; cin >> n >> k; rep(i, n){ cin >> a[i] >> b[i]; } while(tmp < k){ rep(i, n){ if(a[i] <= ans && ans <= b[i]) tmp++; } if(tmp < k) ans++; } cout << ans << endl; return 0; }