有一棵包含 $$$n$$$ 个节点的有根树,其根节点为 1。每个节点上站着一个人,每个人要么是"诚实者"(总是说真话),要么是"说谎者"(总是说假话)。
现在,对于每个 $$$i \in [1,n]$$$,位于节点 $$$i$$$ 的人都说了一句话:"以我所在的节点为根的子树中,恰好有 $$$a_i$$$ 个诚实者。"
一个"真假分配情况"是指为每个节点的人分配一个"诚实者"或"说谎者"的身份。你需要计算,有多少种可能的真假分配情况,能够满足以下逻辑自洽条件:
gsh 对真相非常感兴趣,他想知道满足上述条件的真假分配情况总共有多少种。请输出答案对 $$$998244353$$$ 取模的结果。
第一行输入一个整数 $$$T$$$($$$1 \le T \le 5000$$$),表示数据组数。
接下来对每组数据输入如下:
对每组数据输出一行一个整数表示答案对 $$$998244353$$$ 取模后的结果。
631 2 31 21 330 2 31 21 330 2 11 21 355 1 1 1 45 14 55 32 555 1 3 4 15 32 31 44 363 5 1 0 1 02 64 52 36 14 2
2 0 1 10 7 3
对于第一组数据,有 $$$2$$$ 种可能:
对于第二组数据,没有合法方案。
对于第三组数据,只有唯一一种可能:1 号说假话,2 号说假话,3 号说真话。
| Name |
|---|


