给定一棵包含 $n$ 个节点的有根树。节点编号为 $1 \dots n$,其中节点 $1$ 为根。每个节点都有一个权值 $v_i$。
你希望将这棵树转化为一个堆。也就是说,你需要选择一个尽可能大的节点子集,使得该子集满足以下堆性质:对于子集中的任意两个节点 $i$ 和 $j$,如果节点 $i$ 是节点 $j$ 在树中的祖先,则必须满足 $v_i > v_j$。注意,权值相等是不允许的。
请计算能够构成满足上述堆性质的子集的最大节点数。该子集不需要构成一棵子树。
输入格式
输入包含单个测试用例。注意,你的程序可能会在不同的输入上运行多次。输入的第一行包含一个整数 $n$ ($1 \le n \le 2 \cdot 10^5$),表示树中的节点数。节点编号为 $1 \dots n$。
接下来的 $n$ 行按顺序描述各个节点。每行包含两个整数 $v_i$ 和 $p_i$,其中 $v_i$ ($0 \le v_i \le 10^9$) 是该节点的权值,$p_i$ ($0 \le p_i < i$) 是其父节点的索引。每个节点的索引都严格大于其父节点的索引。只有根节点 $1$ 满足 $p_1 = 0$,因为它没有父节点。对于所有其他节点 ($i = 2 \dots n$),满足 $1 \le p_i < i$。
输出格式
输出一个整数,表示满足堆性质的最大子集中的节点数。
样例
样例输入 1
5 3 0 3 1 3 2 3 3 3 4
样例输出 1
1
样例输入 2
5 4 0 3 1 2 2 1 3 0 4
样例输出 2
5
样例输入 3
6 3 0 1 1 2 1 3 1 4 1 5 1
样例输出 3
5
样例输入 4
11 7 0 8 1 5 1 5 2 4 2 3 2 6 3 6 3 10 4 9 4 11 4
样例输出 4
7