Задачі
Об`єднання відрізків
Об`єднання відрізків
Розв'язкючи задачу на контрольній з математики, Вася отримав відповідь у вигляді об'єднання \textbf{N} відрізків \[\textbf{L_i}, \textbf{R_i}\] на числовій прямій. Проте, деякі з цих відрізків можуть перетинатись один з одним, що не дуже подобається Васі.
Ваша задача - подати Васину відповідь у вигляді об'єднання мінімальної кількісті відрізків.
\InputFile
У першому рядку вказано число \textbf{N} (\textbf{1} ≤ \textbf{N} ≤ \textbf{50000}). У наступних \textbf{N} рядках перераховано пари цілих чисел \textbf{L_i} та \textbf{R_i}(|\textbf{L_i}|, |\textbf{R_i}| ≤ \textbf{50000}), кожна пара з нового рядка, числа у парах відокремлені одна від одної одним чи декількома пропусками.
\OutputFile
У першому рядку виведіть число \textbf{M} - кількість відрізків у шуканому об'єднанні. У наступних \textbf{M} рядках виведіть самі ці відрізки у тому ж форматі, що і у вхідному файлі. Список відрізків необхідно упорядкувати за зростанням лівого кінця.
Вхідні дані #1
4 0 2 4 5 1 3 5 6
Вихідні дані #1
2 0 3 4 6