EduBrick

O. Рёбра мимо кратчайших путей

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

Как классная задача O, но выведите номера рёбер, которые не лежат ни на одном кратчайшем пути из вершины 1 в вершину nn.

Критерий тот же, только с отрицанием: ребро (u,v)(u, v) веса ww лишнее, если

a[u]+w+b[v]≠Dиa[v]+w+b[u]≠D.a[u] + w + b[v] \ne D \quad\text{и}\quad a[v] + w + b[u] \ne D.

Рёбра нумеруются с единицы в порядке ввода; выводите номера по возрастанию.

Если пути из 1 в nn нет, лишними считаются все рёбра.

Формат ввода

Первая строка содержит числа nn (1≤n≤1051 \le n \le 10^5) и mm (0≤m≤2⋅1050 \le m \le 2 \cdot 10^5).

Далее идут mm строк с рёбрами: концы и вес ww (1≤w≤1041 \le w \le 10^4).

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

В первой строке — количество лишних рёбер.

Во второй — их номера по возрастанию. Если таких нет, вторая строка пустая.

Примеры

ввод
4 5
1 2 1
1 3 1
2 4 1
3 4 1
2 3 7
вывод
1
5
ввод
3 2
1 2 1
2 3 1
вывод
0

Войдите, чтобы отправлять решения.