给定一棵由 个节点组成的树,其中节点 是根。保证每个节点的编号都比它所有子节点小。树的拓扑序是一个满足以下限制的 的排列 :对于所有 ,节点 都不是节点 的父节点。
对于每个 ,计算给定的树有多少拓扑序满足 。答案对 取模。
每个测试文件仅有一组测试数据。
第一行输入一个整数 (),表示树的节点数量。
第二行输入 个整数 (),其中 是节点 的父节点。
输出一行 个由单个空格分隔的整数 ,其中 表示给定的树有多少拓扑序满足 。答案对 取模。
4 1 1 2
3 2 1 2
9 1 1 2 2 3 3 4 5
672 420 180 160 152 108 120 170 210
对于第一组样例数据,树的拓扑序有:, 和 。其中有 个序列满足 , 个序列满足 , 个序列满足 , 以及 个序列满足 。