EduBrick

J. Сколько маршрутов ровно за k

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

Как классная задача J, но перелётов должно быть ровно kk.

Считать проще, чем в классной: не нужно сравнивать слои между собой, ответ берётся из последнего слоя целиком.

Ветки «строго лучше» и «столько же» остаются, и порядок их по-прежнему существен.

Ответ выводится по модулю 109+710^9 + 7; если маршрутов ровно из kk перелётов нет, выведите 00.

Формат ввода

Первая строка содержит числа 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 и ff.

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

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

Одно число — количество маршрутов наименьшей стоимости ровно из kk перелётов по модулю 109+710^9 + 7.

Примеры

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