EduBrick

H. Стоимость до каждого города

3000 мс · 256 МБ · всё или ничего

Как классная задача H, но выведите наименьшую стоимость пути не более чем за kk перелётов до каждого города.

Массив слоёв и так считается для всех городов сразу — меняется только вывод. Для города вылета ответ равен нулю, для недостижимых за kk перелётов — −1-1.

Формат ввода

Первая строка содержит числа nn (2≤n≤1002 \le n \le 100), mm (1≤m≤1051 \le m \le 10^5), kk (1≤k≤1001 \le k \le 100) и ss.

Далее идут mm строк: город вылета, город прилёта и стоимость pp (1≤p≤1061 \le p \le 10^6).

Формат вывода

Одна строка из nn чисел.

Примеры

ввод
4 5 2 1
1 2 1
2 3 1
3 4 1
1 3 3
1 4 5
вывод
0 1 2 4
Войдите, чтобы отправлять решения.