eolymp
bolt
Try our new interface for solving problems
Problems

Количество кратчайших путей

Количество кратчайших путей

В городе есть \textbf{N} площадей, соединённых дорогами. Известна длина каждой дороги. Посчитайте количество способов добраться с площади \textbf{A} до площади \textbf{B} так, чтобы пройденный путь был минимален. \InputFile Задано число \textbf{N} - количество площадей в городе и \textbf{M} - количество улиц. Далее идёт описание улиц. Каждая улица задаётся тремя числами: номерами площадей, которые она соединяет, и длиной. Никакая улица не соединяет площадь с самой собой. Одни и те же площади могут быть соеденены разными улицами (в том числе, эти улицы могут иметь разную длину). По каждой улице можно ездить как в прямом, так и в обратном направлении. Далее заданы числа \textbf{A} и \textbf{B}. Ограничения: \textbf{1} ≤ \textbf{N} ≤ \textbf{1000}, \textbf{1} ≤ \textbf{M} ≤ \textbf{100000}, \textbf{1} ≤ \textbf{A} ≤ \textbf{N}, \textbf{1} ≤ \textbf{B} ≤ \textbf{N}. Длины улиц выражаются натуральными числами, не превышающими \textbf{100000}. \OutputFile Выведите количество кратчайших путей между площадями \textbf{A} и \textbf{B}. Если с площади \textbf{A} нельзя добраться до площади\textbf{B}, выведите \textbf{0}.
Time limit 1 second
Memory limit 64 MiB
Input example #1
4 5
1 4 2
1 2 2
3 4 1
2 4 2
1 3 1
1 4
Output example #1
2