EduBrick

G. Лабиринт знаний наоборот

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

Тот же лабиринт, что в классной задаче G, но требуется наименьший возможный запас знаний на выходе.

Знак меняется во всех рассуждениях сразу. Теперь :( по-прежнему означает «дойти нельзя», а :) — что знания можно сделать сколь угодно малыми, то есть отрицательными без предела.

Менять знаки весов уже не нужно: Форд — Беллман и так минимизирует. Условие бесконечности — отрицательный цикл, достижимый из комнаты 1, из которого достижима комната nn.

Задача решается тем же кодом, что классная, только без двух смен знака. Если у вас классная решена, эта пишется за минуту — и это хороший повод убедиться, что вы не зашили знак куда-то ещё.

Формат ввода

Первая строка содержит числа nn (1≤n≤20001 \le n \le 2000) и mm (1≤m≤1041 \le m \le 10^4).

Далее идут mm строк: откуда ведёт дверь, куда она ведёт и изменение знаний (по модулю не больше 10410^4).

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

Либо :), либо :(, либо одно число.

Примеры

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