Задан взвешенный ориентированный граф и вершина s в нём. Для каждой вершины u выведите длину кратчайшего пути от s до u.
Первая строка содержит три целых числа n, m, s (2 ≤ n ≤ 2000, 1 ≤ m ≤ 5000) - количество вершин и рёбер в графе и номер начальной вершины соответственно.
Следующие m строк описывают рёбра графа. Каждое ребро задаётся тремя числами - начальной вершиной, конечной вершиной и весом ребра соответственно. Вес ребра - целое число, не превосходящее 10^15
по абсолютной величине. В графе могут быть кратные рёбра и петли.
Выведите n строк - для каждой вершины u выведите длину кратчайшего пути из s в u. Если не существует пути между s и u, выведите "\*". Если не существует кратчайшего пути между s и u, выведите "-".