CF1027F Session in BSU
Description
Polycarp studies in Berland State University. Soon he will have to take his exam. He has to pass exactly $ n $ exams.
For the each exam $ i $ there are known two days: $ a_i $ — day of the first opportunity to pass the exam, $ b_i $ — day of the second opportunity to pass the exam ( $ a_i < b_i $ ). Polycarp can pass at most one exam during each day. For each exam Polycarp chooses by himself which day he will pass this exam. He has to pass all the $ n $ exams.
Polycarp wants to pass all the exams as soon as possible. Print the minimum index of day by which Polycarp can pass all the $ n $ exams, or print -1 if he cannot pass all the exams at all.
Input Format
The first line of the input contains one integer $ n $ ( $ 1 \le n \le 10^6 $ ) — the number of exams.
The next $ n $ lines contain two integers each: $ a_i $ and $ b_i $ ( $ 1 \le a_i < b_i \le 10^9 $ ), where $ a_i $ is the number of day of the first passing the $ i $ -th exam and $ b_i $ is the number of day of the second passing the $ i $ -th exam.
Output Format
If Polycarp cannot pass all the $ n $ exams, print -1. Otherwise print the minimum index of day by which Polycarp can do that.