#CF793E. 办公室路线

办公室路线

办公室路线

  • 时间限制:2 秒
  • 内存限制:256 MiB

题目描述

在没有互联网的年代,一家银行在城市各处设有许多部门和营业部。每天,押运员都要沿道路从中央部门出发,经过整棵道路网络,最后回到中央部门。

道路网络是一棵以中央部门为根的树。根节点编号为 11;叶子节点是营业部,其他节点是部门。树共有 nn 个节点和 n−1n-1 条道路。押运员选择的路线长度是可能的最小值 2n−22n-2,因此每条道路恰好经过两次。路线每天重复,所以营业部的访问顺序可以看成一个首尾相接的环。

给定四个营业部 a,b,c,da,b,c,d。在环形访问顺序中,从 aa 之后到 bb 之前访问的营业部数量,应当等于从 bb 之后到 aa 之前访问的营业部数量;同时,从 cc 之后到 dd 之前访问的营业部数量,也应当等于从 dd 之后到 cc 之前访问的营业部数量。这里均不计区间两端的营业部。

保证 a,b,c,da,b,c,d 中任意两个营业部之间的简单路径都经过根节点 11。请判断是否存在一条满足上述条件的最短路线。

输入格式

第一行包含一个整数 nn,表示节点总数。

第二行包含四个整数 a,b,c,da,b,c,d,表示四个指定营业部。

第三行包含 n−1n-1 个整数 p2,p3,…,pnp_2,p_3,\ldots,p_n。其中 pip_i 表示节点 ii 的父节点,节点 ii 与节点 pip_i 之间有一条道路。

输出格式

若存在满足条件的最短路线,输出 YES;否则输出 NO。

样例输入 1

5
2 3 4 5
1 1 1 1

样例输出 1

YES

样例输入 2

10
3 8 9 10
1 2 2 2 2 2 1 1 1

样例输出 2

NO

样例输入 3

13
13 12 9 7
1 1 1 1 5 5 2 2 2 3 3 4

样例输出 3

YES

数据范围

对于所有数据:

  • 5≤n≤50005\le n\le 5000;
  • 2≤a,b,c,d≤n2\le a,b,c,d\le n,四个编号互不相同且均为叶子节点;
  • 对于 2≤i≤n2\le i\le n,1≤pi<i1\le p_i<i;
  • a,b,c,da,b,c,d 中任意两个节点之间的简单路径都经过节点 11。
子任务编号 分值 特殊限制
1 20 n≤22n\le 22
2 40 n≤800n\le 800
3 无特殊限制