Дан неориентированный связный граф из $$$n$$$ вершин и $$$m$$$ ребер. Вес $$$i$$$-го ребра $$$w_i$$$ ещё не определён и должен быть действительным числом в диапазоне от $$$l_i$$$ до $$$r_i$$$.
Дана вершина $$$k$$$. Определите, существует ли допустимое присвоение весов $$$(w_1, \ldots, w_m)$$$ такое, что:
$$$^{\text{∗}}$$$При заданных весах $$$w$$$, $$$\mathrm{dist}_w(u, v)$$$ — это минимальное значение $$$w_{e_1} + w_{e_2} + \ldots + w_{e_p}$$$ по всем последовательностям из $$$p$$$ рёбер $$$(e_1, e_2, \ldots, e_p)$$$, которые образуют путь от $$$u$$$ до $$$v$$$.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10\,000$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит три целых числа $$$n$$$, $$$m$$$ и $$$k$$$ ($$$4 \le n \le 200\,000$$$, $$$n-1 \le m \le 200\,000$$$, $$$2 \le k \le n - 1$$$) — количество вершин, количество рёбер и вершина $$$k$$$.
В $$$i$$$-й из следующих $$$m$$$ строк содержатся четыре целых числа $$$u_i$$$, $$$v_i$$$, $$$l_i$$$ и $$$r_i$$$ ($$$1 \le u_i, v_i \le n$$$, $$$u_i \ne v_i$$$, $$$1 \le l_i \le r_i \le 10^9$$$), представляющих ребро между $$$u_i$$$ и $$$v_i$$$, вес которого должен находиться в диапазоне от $$$l_i$$$ до $$$r_i$$$ включительно. Ни одно ребро не появляется во входных данных более одного раза.
Гарантируется, что:
Выведите YES, если существует допустимое присвоение весов, и NO в противном случае.
Вы можете выводить каждую букву в любом регистре (строчную или заглавную). Например, строки «yEs», «yes», «Yes» и «YES» будут приняты как положительный ответ.
74 4 21 2 10 202 3 10 301 3 49 904 3 1 10004 4 21 2 10 202 3 10 301 3 50 904 3 1 10005 7 31 2 1 1000001 4 10 1002 3 1 1000003 4 1 1000002 5 2 1000003 5 1 14 5 1 315 7 31 2 1 1000001 4 100000 1000002 3 1 13 4 1 1000002 5 2 1000003 5 1 14 5 1 315 5 31 2 1 422 4 1 424 5 1 421 3 1 13 5 1 425 5 31 2 1 422 4 1 424 5 1 421 3 1 13 5 1 15 5 31 2 1 422 4 1 424 5 1 421 3 1 13 5 2 2
YES NO YES YES YES NO NO
В первом наборе входных данных $$$w = (20, 30, 49, 21)$$$ является допустимым присвоением весов, так как $$$\mathrm{dist}_w(1, 4) = 70 \neq 71 = \mathrm{dist}_w(1, 2) + \mathrm{dist}_w(2, 4)$$$.
Во втором наборе входных данных нет допустимого присвоения весов.