I. Дедлайн
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Леша работает на работе, и сейчас у него тяжелые времена. Ему необходимо выполнить n задач. Для i-й задачи известны крайний срок di, когда эта задача должна быть выполнена (отсчитывая от начального момента времени 0), время ci, необходимое для ее выполнения, а также задачи, которые надо выполнить перед i-й, чтобы можно было начать ее делать. Будем говорить, что i-я задача зависит от этих задач.

В каком порядке Леша должен выполнять задачи, чтобы не просрочить ни одну из них?

Входные данные

Первая строка содержит единственное целое число n (1 ≤ n ≤ 200000) — количество задач.

Следующие n строк описывают задачи. i-я строка начинается с трех чисел di, ci и ri через пробел (1 ≤ di,  ci ≤ 109,  0 ≤ ri ≤ n - 1) — крайний срок, к которому должна быть выполнена i-я задача, время, необходимое для ее выполнения, и количество задач, от которых зависит i-я задача, соответственно. Далее в этой же строке через пробел записаны ri чисел — номера этих задач. Гарантируется, что среди этих ri чисел нет числа i.

Задачи нумеруются с единицы в порядке упоминания во входных данных. Сумма всех ri во входных данных не превышает 200000.

Выходные данные

В первой строке выведите «YES» (без кавычек), если Леше удастся выполнить все задачи, не превысив ни один из крайних сроков, или «NO» (без кавычек) в противном случае.

Если ответ «YES», во второй строке выведите n чисел через пробел — номера задач в том порядке, в котором их следует выполнять, чтобы уложиться во все крайние сроки. Если существует несколько подходящих ответов, выведите любой из них.

Примеры
Входные данные
3
10 5 0
2 2 0
5 3 0
Выходные данные
YES
2 3 1
Входные данные
2
100 1 0
10 10 1 1
Выходные данные
NO
Входные данные
2
100 1 1 2
200 2 1 1
Выходные данные
NO