#Z0028. Asm.Def排兵布阵

Asm.Def排兵布阵

题目描述

“医疗兵,滚过来!滚过来滚过来滚过来!”

“自己人!自己人!TM的别打了是自己人”

Asm.Def所带领的特种部队都是从全国各地最部队中挑选的,可以说全国最精锐的部队集合到了他这里。但是透明计算网络造反的突然,时间仓促,组建完部队后就立即出发了,并没有进行战术演练,配合相当生硬。

Asm.Def仔细研究了自己的阵型,找到了问题所在,比如说把突击部队和医疗兵位置布置的过远,不能及时吃血瓶。以及把前线部队放在了榴弹炮的攻击区域内。

Asm.Def的特种部队拥有k类兵种,第i类兵种有num(i)个单位。现在要求把他们排成一列。其中第i类兵种的最后一个人一定要排在第i+1类兵种的最后一个人的前面。现在问你有多少种排列方法。要求你输出对答案998244353(7×17×223+1,一个质数)取模后的值。

输入格式

第一行一个整数k,表示有k类兵种

第二行有k个整数,其中第i个整数表示num(i),为第i类兵种有num(i)人

输出格式

一行一个整数,为方案数对998244353取模后的值。

样例

####样例输入

3
2 2 1

####样例输出

3

####样例解释 一共有下面3中排列的方法

1 2 1 2 3
1 1 2 2 3
2 1 1 2 3

数据范围与提示

40%的数据:所有兵种的总人数小于15

80%的数据:k <= 1000,所有兵种的总人数小于5000

100%的数据:k <= 100000, 所有兵种的总人数小于500000