#P6847. [CEOI 2019] Magic Tree

[CEOI 2019] Magic Tree

Description

We have a magic tree: a rooted tree on nn vertices. The vertices are numbered 11 through nn. Vertex 11 is the root.

The magic tree gives us magic fruit. The fruit only grows in vertices of the tree other than the root. Each vertex contains at most one piece of fruit.

It is now day 00 and no fruit is ripe yet. Each fruit will only be ripe for a single day. For each fruit, we are given the vertex vjv_j where it grows, the day djd_j on which it will be ripe, and the amount wjw_j of magic juice we can extract from it if we harvest it when it is ripe.

The fruits have to be harvested by cutting some branches of the tree. On each day, you may cut as many branches of the tree as you like. The parts of the tree you cut off will fall to the ground and you can collect all the ripe fruits they contain. All fruits that fall to the ground when they are not ripe are discarded and no magic juice is collected from them.

Formally, on each day, you may erase some edges of the tree. Whenever you do so, the tree will split into multiple connected components. You then erase all components that do not contain the root and you harvest all ripe fruits those components contained.

Given is a description of the tree together with the locations, ripening days and juiciness of all mm fruits. Calculate the maximum total amount of magic juice we can harvest from the tree.

Input Format

The first line contains three space-separated integers nn (2n1052 \leq n \leq 10^5), mm (1mn11 \leq m \leq n − 1) and kk (1k1051 \leq k \leq10^5)– the number of vertices, the number of fruits, and the maximum day on which a fruit may become ripe.

The following n1n−1 lines contain the integers p2,...,pnp_2,...,p_n, one per line.For each ii (from 22 to nn, inclusive), vertex pip_i(1pii11 \leq p_i \leq i−1) is the parent of vertex ii.

Each of the last m lines describes one fruit. The j-th\text{j-th} of these lines has the form vj  dj  wj“v_j\; d_j\;w_j” ($2 \leq v_j \leq n, 1 \leq d_j \leq k, 1 \leq w_j ≤10^9$).

It is guaranteed that no vertex contains more than one fruit (i.e.\text{i.e.}, the values vjv_j are distinct).

Output Format

Output a single line with a single integer, the maximum amount of magic juice we can harvest from the tree.

6 4 10
1
2
1
4
4
3 4 5
4 7 2
5 4 1
6 9 3

9

Hint

Subtask 1 (6 points): n,k20n,k \leq 20, and wj=1w_j = 1 for all jj

Subtask 2 (3 points): fruits only grow in the leaves of the tree

Subtask 3 (11 points): pi=i1p_i = i −1 for each ii, and wj=1w_j = 1 for all jj

Subtask 4 (12 points): k2k \leq 2

Subtask 5 (16 points): k20k \leq 20, and wj=1w_j = 1 for all jj

Subtask 6 (13 points): m103m \leq 10^3

Subtask 7 (22 points): wj=1w_j = 1 for all jj

Subtask 8 (17 points): no additional constraints