Вася переехал из своего родного города и очень скучает по старым друзьям. К сожалению, Вася снимает маленькую квартиру и одновременно в гости к нему может приехать только один друг. Каждый друг сказал Васе два числа A и B - с какого по какой день он может приехать в гости.
Каждый друг приезжает и уезжает в полдень. Каждый друг может приехать к Васе только один раз и остаться у него на несколько дней. Вася хотел бы, чтобы суммарное количество дней, когда у него в гостях есть кто-нибудь из друзей, было максимальным. Помогите ему определить даты приезда для каждого из друзей так, чтобы они не пересекались (допустима ситуация, что в один день один из друзей уезжает, а другой - уезжает) и суммарное время, когда у Васи в гостях есть кто-то из друзей, было максимальным.
Формат входных данных
В первой строке записаны целое число N (1 ≤ N ≤ 100000) - количество друзей Васи. В следующих N строках записано по два целых числа A
i и B
i (оба числа от 1 до 10
9) - возможное время приезда i-го друга.
Формат выходных данных
Выведите N пар чисел L
i и R
i - номера дней, в которые приедет и уедет i-й друг соответственно (A
i ≤ L
i ≤ R
i ≤ B
i). Если i-го друга приглашать не нужно, выведите пару чисел -1 -1. Если правильных ответов несколько - выведите любой из них.
Примеры
№ |
Входные данные |
Выходные данные |
1 |
3
1 2
2 4
3 5 |
1 2
3 4
5 5 |
2 |
3
2 3
1 4
3 5 |
-1 -1
1 4
5 5 |