Задано неорієнтовний граф. Знайдіть найкоротший шлях від вершини a до вершини b.
У першому рядку знаходиться два цілих числа n та m (1 ≤ n ≤ 5 * 10^4
, 1 ≤ m ≤ 10^5
) - кількість вершин та ребер відповідно. У другому рядку йдуть цілі числа a та b - стартова та кінцева вершина відповідно. Далі йде m рядків, які описують ребра.
Якщо шляху між a та b немає, то виведіть -1. Інакше виведіть у першому рядку довжину l найкоротшого шляху міжу цими двома вершинами у ребрах, а у другому рядку виведіть l + 1 число - вершини цього шляху.