EduBrick

O. 2-SAT с закреплёнными

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

То же, что классная задача O, но часть переменных заранее закреплена: сказано, что xix_i обязана быть равна ee. Определите, существует ли набор значений, удовлетворяющий и утверждениям, и закреплениям.

Ничего нового не требуется. Закрепление xi=ex_i = e — это утверждение (xi=e)∨(xi=e)(x_i = e) \lor (x_i = e): единственный способ сделать его истинным — присвоить xix_i значение ee. Добавьте такие утверждения к остальным и решайте ту же задачу.

Что при этом происходит в графе импликаций: появляется ребро из литерала xi=1−ex_i = 1 - e в литерал xi=ex_i = e. Если из xi=ex_i = e и без того был путь в xi=1−ex_i = 1 - e, оба литерала окажутся в одной компоненте, и ответ станет отрицательным — ровно как и требуется.

Противоречивые закрепления, где одна и та же переменная закреплена и в ноль, и в единицу, тоже обрабатываются сами собой.

Формат ввода

Первая строка содержит числа nn (1≤n≤1051 \le n \le 10^5), mm (0≤m≤3⋅1050 \le m \le 3 \cdot 10^5) и kk (0≤k≤1050 \le k \le 10^5).

Далее идут mm строк по четыре числа i1i_1, e1e_1, i2i_2, e2e_2 — утверждения, затем kk строк по два числа ii, ee — закрепления. Везде 0≤i,ij<n0 \le i, i_j < n и 0≤e,ej≤10 \le e, e_j \le 1.

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

Одно слово: YES или NO.

Примеры

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