YJC plays Minecraft

Accepts: 0
Submissions: 0
Time Limit: 16000/8000 MS (Java/Others)
Memory Limit: 524288/262144 K (Java/Others)
问题描述
YJC是个小火车老司机。今天他又在玩他心爱的Minecraft。YJC发现了$n$座岛屿,将岛屿编号为$1$~$n$,并在第$i$座岛屿上建了${a}_{i}$座城市。任意两座在同一座岛屿上的城市之间都由一条公路直接连接,岛屿$i$上的第${a}_{i}$座城市和岛屿$i+1(1\leq i< n)$上的第$1$座城市之间连有一条铁路,岛屿$n$上的第${a}_{n}$座城市和岛屿$1$上的第$1$座城市之间连有一条铁路。

由于路实在太多,YJC经常被绕得晕头转向。于是YJC决定拆除一些公路和铁路,使得任意两座城市之间至多有$1$条不经过重复点的路径。现在YJC想知道有多少种方案,这个数字可能很大,你只要输出它模$998244353$的结果即可。
输入描述
第一行一个整数T,表示数据组数。
每组数据第一行有一个整数$n$,表示岛屿数量。
接下来$n$行每行一个整数${a}_{i}$,表示在第$i$座岛屿上建了${a}_{i}$座城市。
输出描述
输出T行,第i行一个整数,表示第i组数据方案数模$998244353$的结果。
输入样例
1
3
3
3
3
输出样例
2680
Hint
$1\leq T\leq 5,n\leq 100000,2\leq {a}_{i}\leq 100000$