#P15845. [Roi2012]病毒与反病毒

[Roi2012]病毒与反病毒

题目描述

一家反病毒 IT 公司有一个正式的层级管理结构。公司中有一名老板,他是唯一没有上级的员工。其余每名员工都恰好有一名直接上级。上级可以向自己的下属直接下达命令,也可以通过下属逐级传达命令。

若员工 AA 能够直接或通过若干级下属向员工 BB 传达命令,则称 AA 在该层级结构中 高于 BB。老板高于所有其他员工。

后来发现,所有员工还秘密组成了另一套类似的层级结构,用于制造计算机病毒。在这套秘密结构中,老板可能不同,每名员工的直接上级也可能不同。

若一对员工 A,BA,B 满足:

  • 在正式层级结构中,AA 高于 BB
  • 在秘密层级结构中,AA 也高于 BB

则称这对员工 A,BA,B稳定的

请编写程序,求公司中稳定员工对的数量。

输入格式

第一行包含一个整数 NN,表示员工数量。

第二行包含 NN 个整数 aia_i

  • ai=0a_i=0,表示在正式层级结构中,编号为 ii 的员工是老板;
  • 否则,aia_i 表示编号为 ii 的员工的直接上级编号。

第三行包含 NN 个整数 bib_i

  • bi=0b_i=0,表示在秘密层级结构中,编号为 ii 的员工是老板;
  • 否则,bib_i 表示编号为 ii 的员工的直接上级编号。

员工编号从 11NN

数据范围:

1N100000.1 \le N \le 100000.

输出格式

输出一个整数,表示稳定员工对的数量。

样例

样例 1

3
0 3 1
0 1 1
2

样例 2

5
2 0 1 3 4
3 1 0 2 4
7

子任务与评分

子任务 分值 限制
1 25 N100N \le 100
2 N2000N \le 2000
3 50 N100000N \le 100000