#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct Interval {
int start, end;
bool operator < (const Interval &i) const {
return start < i.start || (start == i.start && end < i.end);
}
};
int main() {
int K;
cin >> K;
vector<Interval> group;
int x, y;
while (cin >> x >> y) {
group.push_back({ x, y });
}
std::sort(group.begin(), group.end()); // O(N lg N)
int i = 0,
v = group[i].start,
k = K--;
while (K) { // O(K)
if (v >= group[i].start && v < group[i].end) {
v++;
K--;
}
else if (v < group[++i].start) {
v = group[i].start;
K--;
}
}
std::cout << k << "'th min from these set of intervals is: " << v;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCBJbnRlcnZhbCB7CiAgICBpbnQgc3RhcnQsIGVuZDsKCiAgICBib29sIG9wZXJhdG9yIDwgKGNvbnN0IEludGVydmFsICZpKSBjb25zdCB7CiAgICAgICAgcmV0dXJuIHN0YXJ0IDwgaS5zdGFydCB8fCAoc3RhcnQgPT0gaS5zdGFydCAmJiBlbmQgPCBpLmVuZCk7CiAgICB9Cn07CgppbnQgbWFpbigpIHsKICAgIGludCBLOwogICAgY2luID4+IEs7CiAgICAKICAgIHZlY3RvcjxJbnRlcnZhbD4gZ3JvdXA7CiAgICBpbnQgeCwgeTsKICAgIHdoaWxlIChjaW4gPj4geCA+PiB5KSB7CiAgICAgICAgZ3JvdXAucHVzaF9iYWNrKHsgeCwgeSB9KTsKICAgIH0KICAgIAogICAgc3RkOjpzb3J0KGdyb3VwLmJlZ2luKCksIGdyb3VwLmVuZCgpKTsgICAgICAgICAgICAgICAgIC8vIE8oTiBsZyBOKQogICAgCiAgICBpbnQgaSA9IDAsCiAgICAgICAgdiA9IGdyb3VwW2ldLnN0YXJ0LAogICAgICAgIGsgPSBLLS07CiAgICAKICAgIHdoaWxlIChLKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBPKEspCiAgICAgICAgaWYgKHYgPj0gZ3JvdXBbaV0uc3RhcnQgJiYgdiA8IGdyb3VwW2ldLmVuZCkgewogICAgICAgICAgICB2Kys7CiAgICAgICAgICAgIEstLTsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiAodiA8IGdyb3VwWysraV0uc3RhcnQpIHsKICAgICAgICAgICAgdiA9IGdyb3VwW2ldLnN0YXJ0OwogICAgICAgICAgICBLLS07CiAgICAgICAgfQogICAgfQogICAgCiAgICBzdGQ6OmNvdXQgPDwgayA8PCAiJ3RoIG1pbiBmcm9tIHRoZXNlIHNldCBvZiBpbnRlcnZhbHMgaXM6ICIgPDwgdjsKICAgIHJldHVybiAwOwp9Cg==