数星星
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

小A很喜欢仰望星空,但是由于城市中的光污染,他只能看到其中最亮的 n 颗星星了;

这 n 颗星星都会发出各种颜色的光,其中第 i 个星星发出的光的编号为 col_i

小A很无聊,于是以第一颗星星为,用 n 颗星星建立了一棵树;

一颗星星是 漂亮的 当且仅当以这颗星星为的子树的所有星星颜色都不同;

到底有多少星星是漂亮的呢?小A很疑惑...

输入描述:

输入的第一行包含一个正整数 n,表示星星的个数(1 \leq n \leq 2\times10^{6})

输入的第二行包含 n 个正整数,第 i 个正整数表示第 i 颗星星的颜色 col_i (1\leq col_i \leq 2\times10^6)

输入的第三行包含 n - 1 个正整数,第 i 个正整数表示第 i + 1 颗星星的父亲。

输出描述:

输出一个整数,表示漂亮的星星个数。
示例1

输入

复制
5
2 5 3 3 4
1 2 2 3

输出

复制
3
示例2

输入

复制
8
5 4 5 5 5 2 5 5
5 2 6 6 1 6 4

输出

复制
4