Codeforces Round 123 (Div. 2)
E
Building Forest
Codeforces
2000
原题
← D→
翻译中…

An oriented weighted forest is an acyclic weighted digraph in which from each vertex at most one edge goes.

翻译中…

The root of vertex $*v*$ of an oriented weighted forest is a vertex from which no edge goes and which can be reached from vertex $*v*$ moving along the edges of the weighted oriented forest. We denote the root of vertex $*v*$ as $*root*(*v*)$.

翻译中…

The depth of vertex $*v*$ is the sum of weights of paths passing from the vertex $*v*$ to its root. Let's denote the depth of the vertex $*v*$ as $*depth*(*v*)$.

翻译中…

Let's consider the process of constructing a weighted directed forest. Initially, the forest does not contain vertices. Vertices are added sequentially one by one. Overall, there are $*n*$ performed operations of adding. The $*i*$-th $(*i* > 0)$ adding operation is described by a set of numbers $(*k*,  *v*_{1},  *x*_{1},  *v*_{2},  *x*_{2},  ... ,  *v*_{*k*},  *x*_{*k*})$ and means that we should add vertex number $*i*$ and $*k*$ edges to the graph: an edge from vertex $*root*(*v*_{1})$ to vertex $*i*$ with weight $*depth*(*v*_{1}) + *x*_{1}$, an edge from vertex $*root*(*v*_{2})$ to vertex $*i*$ with weight $*depth*(*v*_{2}) + *x*_{2}$ and so on. If $*k* = 0$, then only vertex $*i*$ is added to the graph, there are no added edges.

翻译中…

Your task is like this: given the operations of adding vertices, calculate the sum of the weights of all edges of the forest, resulting after the application of all defined operations, modulo $1000000007$ $(10^{9} + 7)$.

翻译中…

Input

翻译中…

The first line contains a single integer $*n*$ $(1 ≤ *n* ≤ 10^{5})$ — the number of operations of adding a vertex.

翻译中…

Next $*n*$ lines contain descriptions of the operations, the $*i*$-th line contains the description of the operation of adding the $*i*$-th vertex in the following format: the first number of a line is an integer $*k*$ $(0 ≤ *k* ≤ *i* - 1)$, then follow $2*k*$ space-separated integers: $*v*_{1}, *x*_{1}, *v*_{2}, *x*_{2}, ... , *v*_{*k*}, *x*_{*k*}$ $(1 ≤ *v*_{*j*} ≤ *i* - 1, |*x*_{*j*}| ≤ 10^{9})$.

翻译中…

The operations are given in the order, in which they should be applied to the graph. It is guaranteed that sum $*k*$ of all operations does not exceed $10^{5}$, also that applying operations of adding vertexes does not result in loops and multiple edges.

翻译中…

Output

翻译中…

Print a single number — the sum of weights of all edges of the resulting graph modulo $1000000007$ $(10^{9} + 7)$.

翻译中…

Note

翻译中…

Conside the first sample:

翻译中…
  1. Vertex $1$ is added. $*k* = 0$, thus no edges are added.
  2. Vertex $2$ is added. $*k* = 0$, thus no edges are added.
  3. Vertex $3$ is added. $*k* = 1$. $*v*_{1} = 2$, $*x*_{1} = 1$. Edge from vertex $*root*(2) = 2$ to vertex $3$ with weight $*depth*(2) + *x*_{1} = 0 + 1 = 1$ is added.
  4. Vertex $4$ is added. $*k* = 2$. $*v*_{1} = 1$, $*x*_{1} = 5$. Edge from vertex $*root*(1) = 1$ to vertex $4$ with weight $*depth*(1) + *x*_{1} = 0 + 5 = 5$ is added. $*v*_{2} = 2$, $*x*_{2} = 2$. Edge from vertex $*root*(2) = 3$ to vertex $4$ with weight $*depth*(2) + *x*_{1} = 1 + 2 = 3$ is added.
  5. Vertex $5$ is added. $*k* = 1$. $*v*_{1} = 1$, $*x*_{1} = 2$. Edge from vertex $*root*(1) = 4$ to vertex $5$ with weight $*depth*(1) + *x*_{1} = 5 + 2 = 7$ is added.
  6. Vertex $6$ is added. $*k* = 1$. $*v*_{1} = 3$, $*x*_{1} = 4$. Edge from vertex $*root*(3) = 5$ to vertex $6$ with weight $*depth*(3) + *x*_{1} = 10 + 4 = 14$ is added.
翻译中…

The resulting graph is shown on the pictore below: image

翻译中…

样例

Input #1
6
0
0
1 2 1
2 1 5 2 2
1 1 2
1 3 4
Output #1
30
InputCopy OutputCopy
Input #2
5
0
1 1 5
0
0
2 3 1 4 3
Output #2
9
InputCopy OutputCopy
题目信息
题号
195E
时间限制
2 s
内存限制
256 MB
标签
数据结构
并查集
图论

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。