В деревне графов жили два исследователя, Лена и Миша. Они нашли связный неориентированный граф, состоящий из $$$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$$$.
43 3 31 2 -12 3 -11 3 -10 1 13 2 31 2 -12 3 -10 1 23 3 31 2 -12 3 -11 3 -10 1 23 3 31 2 12 3 11 3 10 1 2
3 1 4 0