Олимпиадный тренинг

Задача . D. Отрезки


Дано n отрезков на числовой прямой. Вы можете забить в любую целочисленную точку числовой прямой гвоздь, при этом все отрезки, содержащие эту точку, оказываются прибиты. Если гвоздь попадает в конец отрезка, то этот отрезок считается прибитым. Какое наименьшее число гвоздей нужно забить чтобы все отрезки оказались прибиты?

Входные данные

В первой строке содержится целое число n (1 ≤ n ≤ 1000) — количество отрезков. Далее в n строках содержится описание отрезков. Каждый отрезок описывается двумя целыми числами — координатами концов. Все координаты не превосходят по модулю 10000. Отрезки могут вырождаться в точки.

Выходные данные

В первую строку выведите одно число — какое наименьшее число гвоздей нужно забить чтобы все отрезки оказались прибиты. Во вторую строку выведите координаты забитых гвоздей через пробел в любом порядке. Если решений несколько, выведите любое.


Примеры
Входные данныеВыходные данные
1 2
0 2
2 5
1
2
2 5
0 3
4 2
4 8
8 10
7 7
3
7 10 3

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя