Вам необходимо написать программу, которая получает взвешенный ориентированный
граф и находит в нем расстояния от вершины S до всех остальных вершин.
Расстояние от вершины S до некоторой вершины W — это минимальная длина пути
из S в W. Длина пути — это сумма весов всех рёбер, входящих в него.
Формат входного файла
Входной файл содержит три числа N, M и S.
Вершины занумерованы целыми числами от 1 до N. S — это номер начальной
вершины. M — это количество рёбер. Каждая из следующих M строк содержит
три числа — номера начальной и конечной вершин текущего ребра и его вес
соответственно. Все веса положительны. Между двумя вершинами может быть
максимум одно ребро в каждом направлении.
Формат выходного файла
Выходной файл должен содержать N чисел. Каждое I-е число — это расстояние
от вершины до S до вершины I. Если некоторые вершины недостижимы из S, то для
для них должно быть выведено − 1.