Циркуляция
Назовем циркуляцией поток величины 0. Дан ориентированный граф с нижними и верхними пропускными способностями, то есть для любых вершин i и j должно быть верно, что l_ij ≤ f_ij ≤ c_ij, где l_ij - нижняя граница, а c_ij - верхняя.
Требуется найти циркуляцию в данном графе, удовлетворяющую данным ограничениям.
Входные данные
В первой строке входного файла 2 целых числа N и M (1 ≤ N ≤ 200, 0 ≤ M ≤ 15000). Далее следуют M строк, описывающие ребра графа. Каждая строка содержит 4 целых положительных числа i, j, l_ij и cij (0 ≤ l_ij ≤ c_ij ≤ 10^5), что означает, что ребро ведет из вершины с номером i в вершину с номером j с нижней границей l_ij и верхней c_ij. Гарантируется, что если в графе есть ребро из i в j, то нет ребра из j в i.
Выходные данные
Если не существует циркуляции удовлетворяющей данным ограничения, выведите NO. Иначе на первой строке выведите YES. Далее в M строках должно содержаться по одному числу. В i-ой строке - величина потока по ребру на i-ой строке во входном файле. Напомним, что для любых i и j должно быть верно, что l_ij ≤ f_ij ≤ c_ij.