EduBrick

M. Рёбра на кратчайших путях

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

Неориентированный граф задан списком рёбер. Посчитайте, сколько рёбер лежит хотя бы на одном кратчайшем пути из вершины 1 в вершину nn.

Ребро (u,v)(u, v) лежит на кратчайшем пути, если расстояние от 1 до uu плюс единица плюс расстояние от vv до nn равно длине кратчайшего пути — или то же самое с переставленными концами.

Достаточно двух обходов: от вершины 1 и от вершины nn.

Формат ввода

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

Далее идут mm строк с рёбрами простого графа.

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

Одно число — количество таких рёбер. Если пути нет, выведите 0.

Примеры

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