90 по информатике решить на pascal или c++ вася переехал из своего родного города и скучает по старым друзьям. к сожалению, вася снимает маленькую квартиру и одновременно в гости к нему может приехать только один друг. каждый друг сказал васе два числа a и b - с какого по какой день он может приехать в гости. каждый друг приезжает и уезжает в полдень. каждый друг может приехать к васе только один раз и остаться у него на несколько дней. вася хотел бы, чтобы суммарное количество дней, когда у него в гостях есть кто-нибудь из друзей, было максимальным. ему определить даты приезда для каждого из друзей так, чтобы они не пересекались (допустима ситуация, что в один день один из друзей приезжает, а другой - уезжает) и суммарное время, когда у васи в гостях есть кто-то из друзей, было максимальным. формат входных данных: в первой строке записаны целое число n (1 ≤ n ≤ 100000) - количество друзей васи. в следующих n строках записано по два целых числа ai и bi (оба числа от 1 до 109) - возможное время приезда i-го друга. формат результата: выведите n пар чисел li и ri - номера дней, в которые приедет и уедет i-й друг соответственно (ai ≤ li ≤ ri ≤ bi). если i-го друга приглашать не нужно, выведите пару чисел -1 -1. если правильных ответов несколько - выведите любой из них.
стандартный ввод стандартный вывод
3
1 2
2 4
3 5
1 2
3 4
5 5
3
2 3
1 4
3 5
-1 -1
1 4
5 5