Повідомлення


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type

У мережі МіКро є \(n\) комп'ютерів та \(m\) з'єднань. Ваше завдання - визначити, чи може Петрик надіслати повідомлення Марії, і якщо це можливо, то скільки мінімально комп'ютерів буде на такому маршруті.

Input Specification

Перша строка вхідних даних містить два цілі числа \(n\) \((2\leq n \leq 10^5)\) та \(m\) \((1\leq n \leq 2 * 10^5)\): кількість комп'ютерів та з'єднань. Комп'ютери пронумеровані від \(1\) до \(n\). Комп'ютер Петрика має номер \(1\), а комп'ютер Марії - номер \(n\).

Далі йдуть \(m\) строк, що описують з'єднання. Кожна строка містить два цілі числа \(a\) та \(b\) \((1\leq a, b \leq n)\): між цими комп'ютерами є з'єднання.

Кожне з'єднання існує між двома різними комп'ютерами, і між будь-якими двома комп'ютерами може бути максимум одне з'єднання.

Output Specification

Якщо можна надіслати повідомлення, спочатку виведіть \(k\): мінімальну кількість комп'ютерів на валідному маршруті. Після цього виведіть приклад такого маршруту. Ви можете вивести будь-яке правильне рішення. Якщо маршрути відсутні, виведіть \(-1\).

Sample Input 1

5 5
1 2
1 3
1 4
2 3
5 4

Sample Output 1

3
1 4 5

Comments

There are no comments at the moment.