Об'єднання відрізків#4424

Об'єднання відрізків

1 секунда
128 мегабайтів
Дуже легка

Вася розв'язав задачу на математичному тесті й отримав відповідь у вигляді об'єднання відрізків [l_i, r_i] на числовій прямій. Однак деякі з цих відрізків можуть перетинатися, що Васю не влаштовує.

Ваша задача — подати відповідь Васі у вигляді об'єднання найменшої кількості відрізків.

Вхідні дані

Перший рядок містить ціле число (1 \leq n \leq 50000).

Кожен із наступних рядків містить по два цілих числа l_i і r_i (|l_i|, |r_i| \leq 50000), розділених одним або кількома пробілами. Кожну пару подано в окремому рядку.

Вихідні дані

У першому рядку виведіть ціле число — кількість відрізків у шуканому об'єднанні. У наступних рядках виведіть ці відрізки у тому самому форматі, що й у вхідних даних. Список відрізків має бути впорядковано за зростанням їхньої лівої межі.

Приклади

Приклад 1

Loading
Loading