题目背景
一个风和日丽的早晨,小 S 带着他的好朋友小 A 在小树林里面数树。
看着满树林的树,小 S 灵感一闪,想到了一道题目。
$$\mathrm{Suddenly,\ Little\ S\ thought\ of\ a\ supercalifragilisticexpialidocious\ problem.}
$$
He wanted Little A to answer it.
题目描述
现在有 n 个点,每个点有一个权值 vi。
小 S 想要小 A 从中选一些点组成一个集合,设集合 S={d1,d2,…,dm}(1≤m≤n)。
当然,小 A 还需要保证这些点能形成一颗树,且 di 的度数为 vdi(i∈[1,m])。
小 S 想问小 A 有多少种满足条件的方案。
小 A 深知自己肯定不会这道题目,所以他就拿来问你了。
由于方案数可能很大,所以请对 998244353 取模。
输入格式
第一行,一个整数 n。
第二行,n 个整数 v1,v2,…,vn
输出格式
一行一个整数,表示方案数。
3
1 1 1
3
5
1 2 1 3 1
8
8
1 2 1 2 4 1 3 1
44
50
8 1 10 2 2 1 2 1 1 2 5 1 11 6 13 13 10 4 1 13 11 2 2 11 13 10 1 1 4 3 4 2 15 2 2 1 1 2 1 7 14 2 2 4 13 2 7 5 6 10 
176873472
提示
样例说明

数据范围与约定
本题使用捆绑测试。
| Subtask 编号 | n≤ | 特殊性质 | 得分 | 
| 1 | 20 | 无 | 11 | 
| 2 | 50 | 12 | 
| 3 | 300 | 10 | 
| 4 | 2500 | 17 | 
| 5 | 4×104 | 6 | 
| 6 | 3×105 | vi≤3 | 8 | 
| 7 | 数据随机 | 7 | 
| 8 | 5×105 | 无 | 29 | 
对于 100% 的数据,2≤n≤5×105, 1≤vi≤n。
Subtask 7 中“数据随机”指:对于所有 vi,31 的概率为 1,32 的概率为 [2,n] 中等概率选择一个数。
对于前 4 个 Subtask,时间限制 1s。
对于第 5 个 Subtask,时间限制 3s。
对于后 3 个 Subtask,时间限制 6s。
对于所有测试点,空间限制 256MB。