#P17526. PM12985公平抽奖树

PM12985公平抽奖树

题目描述

PP 名参与者,编号为 1,2,,P1,2,\ldots,P。你希望利用一棵有根树决定最终中奖者。

首先要把这棵树画在一块矩形板上,并满足:根节点位于上边界;所有叶子位于下边界;父节点始终在子节点上方;边画成直线段且任意两条边不能相交。你可以自由选择每个节点的孩子从左到右的排列顺序。

然后把矩形的下边界划分为 PP 个连续区段,并给这些区段分别标上 11PP 的不同编号。每个叶子属于恰好一个区段,并获得该区段对应的参与者编号。

接下来反复进行以下随机过程:选择一个尚未写编号、但所有孩子都已经有编号的节点 XX;若这样的节点有多个,则等概率选择其中一个。随后从 XX 的所有孩子中等概率随机选择一个,并把该孩子的编号复制到 XX。当根节点获得编号后,拥有该编号的参与者中奖。

你可以自由选择树的平面画法以及下边界各参与者区段的排列方式。请判断能否使每一名参与者的中奖概率都恰好为 1/P1/P

输入格式

第一行输入两个整数:

M P

其中 MM 是非根节点的数量,因此整棵树共有 M+1M+1 个节点,编号为 0,1,,M0,1,\ldots,M,节点 00 为根。

第二行输入 MM 个整数 parent1,parent2,,parentMparent_1,parent_2,\ldots,parent_M。其中 parentiparent_i 表示节点 ii 的父节点,并保证 0parenti<i0\le parent_i<i

输出格式

若存在一种画法和编号区段分配方式可以使抽奖公平,输出:

YES

否则输出:

NO

数据范围

2M1002\le M\le1002P1002\le P\le100;每个非叶节点至少有两个孩子。

样例

输入

3 3
0 0 0

输出

YES

输入

9 2
0 0 0 1 1 2 2 3 3

输出

YES