Напишите программу, скопируйте код в поле ответа. Неориентированный граф задан списком ребер. Найдите кратчайший путь от вершины a до вершины b. В первой строке входных данных идут целые числа n и m (1⩽n⩽50000, 1⩽m⩽100000) — количества вершин и ребер соответственно. Во второй строке идут целые числа a и b - начальная и конечная вершина соответственно. Далее идут m строк, описывающие ребра, каждая строка содержит номер начальной и конечной вершины. Если пути между a и b нет выведите единственное число -1. Иначе выведите в первой строке число l — длину кратчайшего пути между этими двумя вершинами в ребрах, а во второй строке выведите l+1 число — вершины этого пути. ввод 4 5 1 4 1 3 3 2 2 4 2 1 2 3 вывод 2 1 2 4
Задание

Напишите программу, скопируйте код в поле ответа.
Неориентированный граф задан списком ребер. Найдите кратчайший путь от вершины a до вершины b.
В первой строке входных данных идут целые числа n и m \(1⩽n⩽50000, 1⩽m⩽100000\) — количества вершин и ребер соответственно. Во второй строке идут целые числа a и b - начальная и конечная вершина соответственно. Далее идут m строк, описывающие ребра, каждая строка содержит номер начальной и конечной вершины.
Если пути между a и b нет выведите единственное число -1. Иначе выведите в первой строке число l — длину кратчайшего пути между этими двумя вершинами в ребрах, а во второй строке выведите l+1 число — вершины этого пути.
ввод
4 5
1 4
1 3
3 2
2 4
2 1
2 3
вывод
2
1 2 4