Восстановление весов
ограничение по времени на тест
3 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В деревне графов жили два исследователя, Лена и Миша. Они нашли связный неориентированный граф, состоящий из $$$n$$$ вершин и $$$m$$$ рёбер.

Некоторые рёбра имели известные положительные веса, а другие — неизвестные. Лена и Миша решили узнать, сколько существует способов присвоить рёбрам с неизвестными весами целые значения от $$$1$$$ до $$$l$$$ включительно так, чтобы для каждой вершины $$$v$$$ кратчайший путь от вершины $$$1$$$ до вершины $$$v$$$ имел длину ровно $$$d_v$$$.

Так как число возможных способов может быть очень большим, необходимо вывести остаток от деления искомого количества на $$$10^9 + 7$$$.

Входные данные

Каждый тест содержит один или несколько тестовых примеров. Первая строка содержит одно целое число $$$t$$$ $$$(1 \le t \le 50)$$$ — количество тестовых примеров.

Далее следуют описания тестовых примеров.

Первая строка тестового примера содержит три целых числа $$$n$$$, $$$m$$$ и $$$l$$$ ($$$2 \le n \le 50$$$; $$$n - 1 \le m \le \frac{n(n-1)}{2}$$$; $$$1 \le l \le 10^9$$$) — число вершин, число рёбер и максимальный возможный вес неизвестного ребра.

Следующие $$$m$$$ строк тестового примера описывают рёбра. Каждое ребро задаётся тремя целыми числами $$$u_i$$$, $$$v_i$$$, $$$w_i$$$ ($$$1 \le u_i, v_i \le n$$$; $$$u_i \ne v_i$$$; $$$-1 \leq w_i \leq l$$$; $$$w_i \neq 0$$$) — концы ребра и его вес. Если $$$w_i = -1$$$, то вес этого ребра неизвестен и может быть выбран от $$$1$$$ до $$$l$$$. Если $$$w_i \ne -1$$$, то это известный вес ребра.

Последняя строка тестового примера содержит $$$n$$$ целых чисел $$$d_1, d_2, \ldots, d_n$$$ ($$$0 \le d_v \le 10^{12}$$$), где $$$d_v$$$ — требуемая длина кратчайшего пути от вершины $$$1$$$ до вершины $$$v$$$.

Гарантируется, что граф связный, в нём нет петель и кратных рёбер.

Выходные данные

Для каждого тестового примера выведите одно целое число — количество способов назначить веса рёбрам с неизвестными весами от $$$1$$$ до $$$l$$$ так, чтобы сумма весов рёбер на кратчайшем пути от вершины $$$1$$$ до вершины $$$v$$$ была равна $$$d_v$$$ для всех вершин $$$v$$$, взятое по модулю $$$10^9 + 7$$$.

Пример

Входные данные
4
3 3 3
1 2 -1
2 3 -1
1 3 -1
0 1 1
3 2 3
1 2 -1
2 3 -1
0 1 2
3 3 3
1 2 -1
2 3 -1
1 3 -1
0 1 2
3 3 3
1 2 1
2 3 1
1 3 1
0 1 2
Выходные данные
3
1
4
0