#dwacon6thfinald. [dwacon6th_final_d]Three Safes

[dwacon6th_final_d]Three Safes

问题描述

AtCoder 社的办公室是由 NN 个房间和 N1N - 1 条走廊组成的树状结构。走廊 ii 连接房间 ViV_i 和房间 i+1i + 1,连接方向为双向。

你从办公室的 NN 个房间中选择了 33 个不同的房间来安放保险库。此外,对于每个房间 vv,你计算了房间 vv 到每个安放了保险库的房间之间的距离,并记录了其中位数 MvM_v。然而,之后你忘记了保险库放在哪个房间。

给定办公室的结构和每个房间 vv 的值 MvM_v,请计算可能的不同的 33 个房间组合作为保险库位置的数量。

其中,房间 xx 和房间 yy 的距离是指从房间 xx 通过走廊移动到房间 yy 时所需经过的最少走廊数。

约束条件

  • 3leqNleq100,0003 \\leq N \\leq 100,000
  • 1leqVileqi1 \\leq V_i \\leq i (1leqileqN11 \\leq i \\leq N - 1)
  • 1leqMvleqN11 \\leq M_v \\leq N - 1 (1leqvleqN1 \\leq v \\leq N)
  • 输入的所有值都是整数。

输入

输入从标准输入读取,具有以下格式。

NN V1V_1 V2V_2 vdots\\vdots VN1V_{N - 1} M1M_1 M2M_2 vdots\\vdots MNM_N

输出

输出答案。


示例1

8
1
2
1
4
1
6
4
2
1
2
1
2
3
4
2

输出示例1

2

满足条件的房间组合为 (房间 11, 房间 33, 房间 55) 和 (房间 11, 房间 33, 房间 88),共有 22 个。


示例2

5
1
2
3
4
1
1
1
1
1

输出示例2

0