Alex works as a developer, and he has hard times now. He has to complete n tasks. Every task i has the latest time di when it can be completed (starting from the moment of time 0), the time ci needed to complete it, and the tasks that must be completed before task i to get the possibility to start it. We'll say that the i-th task depends on these tasks.
What should be the order of doing tasks to complete all of them in time?
The first line contains a single integer n (1 ≤ n ≤ 200000) — the number of tasks.
Next n lines describe tasks. The i-th line starts with three space-separated integers di, ci and ri (1 ≤ di, ci ≤ 109, 0 ≤ ri ≤ n - 1) — the latest time to complete the i-th task, the time needed to complete it and the number of tasks which it depends on. Then in the same line ri space-separated integers — the numbers of these tasks — are written. It's guaranteed that there is no number i among these ri numbers.
The tasks are numbered from 1 in order of their appearance in the input. The sum of all ri in the input doesn't exceed 200000.
In the first line output «_YES_» (without quotes) if Alex will be able to complete all the tasks without exceeding any deadlines, or «_NO_» (without quotes) otherwise.
If the answer is «_YES_», in the second line output n space-separated integers — the numbers of tasks in the order they must be done to fit into all deadlines. If there are many solutions, output any of them.
## Input
The first line contains a single integer n (1 ≤ n ≤ 200000) — the number of tasks.Next n lines describe tasks. The i-th line starts with three space-separated integers di, ci and ri (1 ≤ di, ci ≤ 109, 0 ≤ ri ≤ n - 1) — the latest time to complete the i-th task, the time needed to complete it and the number of tasks which it depends on. Then in the same line ri space-separated integers — the numbers of these tasks — are written. It's guaranteed that there is no number i among these ri numbers.The tasks are numbered from 1 in order of their appearance in the input. The sum of all ri in the input doesn't exceed 200000.
## Output
In the first line output «_YES_» (without quotes) if Alex will be able to complete all the tasks without exceeding any deadlines, or «_NO_» (without quotes) otherwise.If the answer is «_YES_», in the second line output n space-separated integers — the numbers of tasks in the order they must be done to fit into all deadlines. If there are many solutions, output any of them.
[samples]
**Definitions**
Let $ n \in \mathbb{Z}^+ $ be the number of tasks.
For each task $ i \in \{1, \dots, n\} $:
- $ d_i \in \mathbb{Z}^+ $: deadline (latest completion time).
- $ c_i \in \mathbb{Z}^+ $: processing time.
- $ r_i \in \mathbb{Z}_{\geq 0} $: number of prerequisites.
- $ P_i = \{p_{i,1}, \dots, p_{i,r_i}\} \subseteq \{1, \dots, n\} \setminus \{i\} $: set of prerequisite tasks.
Let $ G = (V, E) $ be a directed graph where $ V = \{1, \dots, n\} $ and $ E = \{(j, i) \mid j \in P_i\} $.
**Constraints**
1. $ 1 \leq n \leq 200000 $
2. $ 1 \leq d_i, c_i \leq 10^9 $
3. $ 0 \leq r_i \leq n-1 $
4. $ \sum_{i=1}^n r_i \leq 200000 $
5. $ G $ is a DAG (no task depends on itself, and no cycles are present).
**Objective**
Determine if there exists a topological ordering $ \pi = (\pi_1, \dots, \pi_n) $ of $ G $ such that, for all $ k \in \{1, \dots, n\} $, the completion time of task $ \pi_k $ satisfies:
$$
\sum_{j=1}^k c_{\pi_j} \leq d_{\pi_k}
$$
If such an ordering exists, output "YES" and one such $ \pi $; otherwise, output "NO".