#U535524. 多叉树

多叉树

多叉树

  • 时间限制:1 秒
  • 内存限制:512 MiB

题目描述

给定一棵有 nn 个节点、以节点 11 为根的树。对于每个 i∈[2,n]i\in[2,n],节点 ii 的父亲为 faifa_i。

称 1∼n1\sim n 的一个排列 p1,p2,…,pnp_1,p_2,\ldots,p_n 是 Magic 的,当且仅当

∀i∈[2,n],pfai>pi.\forall i\in[2,n],\quad p_{fa_i}>p_i.

求 Magic 排列的数量。答案可能很大,请输出其对 998244353998244353 取模后的结果。

输入格式

第一行输入一个整数 nn。

第二行输入 n−1n-1 个整数 fa2,fa3,…,fanfa_2,fa_3,\ldots,fa_n,表示每个非根节点的父亲。当 n=1n=1 时,第二行为空。

输出格式

输出一个整数,表示 Magic 排列的数量模 998244353998244353 的值。

样例输入 1

7
1 1 2 2 3 3

样例输出 1

80

样例输入 2

10
1 1 2 2 3 3 4 4 5

样例输出 2

3360

数据范围

对于所有数据,1≤n≤1061\le n\le10^6,1≤fai<i1\le fa_i<i。

子任务编号 分值 特殊限制
1 20 n≤10n\le10
2 40 n≤20n\le20
3 无特殊限制