아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Счета дядюшки Скруджа

시간 제한3초메모리 제한1024 MB

요약
각 힌트가 어떤 알 수 없는 날에 특정 계좌들의 잔액을 제시할 때, 모든 계좌의 일일 입금액을 복원하거나 해가 없음을 판정한다.
난이도

보통10점 중 5점

유형
그래프, DFS, 정수론, 수학
정답자
아직 제출이 없습니다

문제

Дядюшка Скрудж известен своей жадностью. Когда-то давно он завел аж nn банковских счетов. На каждый из этих счетов ежедневно приходит фиксированная положительная сумма в b_ib\_i долларов. Таким образом, через tt дней на ii-м счету находится t×b_it\times{}b\_i долларов.

Сегодня Билли, Вилли и Дилли решили проучить своего дедушку. Они украли из его бухгалтерии всю информацию о числах b_ib\_i. Теперь дядюшка Скрудж даже не сможет посмотреть сумму на каждом из счетов, ведь число b_ib\_i является также паролем для ii-го из них. Но ребята понимают, что это слишком жестокая шутка над Скруджем, поэтому они решили дать ему шанс и сделали mm подсказок.

Каждая подсказка состоит в следующем: ребята выбирают какой-либо день, некоторое множество счетов и сообщают Скруджу номера этих счетов и сумму на них в этот день. Номер дня ребята ему не говорят.

Теперь Скрудж может попытаться восстановить числа b_ib\_i по имеющимся подсказкам. Он в отчаянии: для него это слишком сложная задача, поэтому он попросил вас помочь ему.

입력

В первой строке входного файла даны два целых числа nn, mm (1≤n≤100,000,1≤m≤100,0001 \le n \le 100\\,000, 1 \le m \le 100\\,000) --- количество счетов дядюшки Скруджа и количество подсказок Билли, Вилли и Дилли. В следующих 2m2 m строках описаны подсказки дяде Скруджу: сначала идет целое число k_ik\_i (1≤k_i≤n1 \le k\_i \le n) --- количество счетов, для которых ребята записали их состояние в некоторый день, в следующей строке идут 2k_i2 k\_i целых чисел c_i,jc\_{i,j}, x_i,jx\_{i,j} (1≤c_i,j≤n,1≤x_i,j≤10181 \le c\_{i,j} \le n, 1 \le x\_{i,j} \le 10^{18}) --- номер счета и сумма на нем. Гарантируется, что для каждой подсказки c_i,jc\_{i,j} различны.

Гарантируется, что сумма k_ik\_i не превосходит 3⋅1053\cdot 10^5.

출력

В первой строке выведите <<NO>>, если решения не существует и <<YES>> в противном случае. Если решение существует, следующая строка должна содержать nn целых чисел b_ib\_i (1≤b_i≤10181 \le b\_i \le 10^{18}) --- сколько долларов приходит на ii-й счет ежедневно. Если решений, удовлетворяющих всем подсказкам, несколько, выведите любое.

힌트

В первом примере номер дня для первой подсказки равен 33, для второй 44, считая от дня отрытия счетов. Во втором примере номер дня для первой подсказки равен 22, для второй 44, для третьей 33, считая от дня отрытия счетов. В третьем примере решения не существует.

예제3

  1. 예제 1

    입력
    3 2
    2
    1 6 2 9
    1
    1 8
    
    예상 출력
    YES
    2 3 1
    
  2. 예제 2

    입력
    5 3
    2
    1 4 2 6
    2
    2 12 3 8
    3
    2 9 3 6 4 3
    
    예상 출력
    YES
    2 3 2 1 1
    
  3. 예제 3

    입력
    3 2
    2
    1 6 2 9
    2
    1 9 2 6
    
    예상 출력
    NO