eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Маршрутка

Маршрутка

Лимит времени 1 секунда
Лимит использования памяти 128 MiB

Маршрутка города Менделеево движется согласно маршруту от остановки номер 1 до остановки номер m. Водитель останавливается на остановке только, если хотя бы один из пассажиров, находящихся в салоне, хочет на ней выйти. При этом все пассажиры, ожидающие маршрутку на этой остановке, садятся в неё (количество пассажирских мест не ограничено). Поскольку маршрутка начинает движение от остановки номер 1, то все пассажиры, находящиеся на ней, сразу садятся в маршрутку.

Требуется по списку пассажиров определить номера остановок, на которых остановится маршрутка. Гарантируется, что хотя бы один пассажир ожидает маршрутку на остановке номер 1.

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

В первой строке записано два натуральных числа n, m (1n10^5, 1m10^9) - количество пассажиров и остановок соответственно. Далее записано n строк по два натуральных числа l[i] - номер остановки на которой ожидает маршрутку i-ый пассажир, r[i] - номер остановки, на которой выходит i-ый пассажир (1l[i] < r[i]m).

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

Выведите в первой строке количество остановок k, на которых маршрутка остановится. Далее выведите k строк - номера этих остановок в возрастающем порядке.

Пример

Входные данные #1
6 11
1 4
2 3
4 5
2 5
4 7
4 10
Выходные данные #1
5
1
4
5
7
10