318. 习题 2.08 阶乘运算

Naive运算符循环基本算法

时间限制:1000 ms

内存限制:512 MiB

题面

一天数学课上,KiloKilo 又在睡觉。

这时,CzarinaCzarina 推了推他,递给他 nn 张纸条,第 ii 张纸条上写着一个数字 aia_i

CzarinaCzarina 告诉 KiloKilo ,如果他能在 11 秒内算出这些数字的阶乘和,CzarinaCzarina 就请 KiloKilo 吃今天的晚饭。

显然,KiloKilo 的脑子不是计算机。你能帮 KiloKilo 解决这个问题吗?

输入格式

第一行一个数字 nn (1n5001 \le n \le 500) 。

第二行 nn 个数字,第 ii 个数字代表 aia_i (1ai500,i=1nai5001 \le a_i \le 500, \sum_{i=1}^{n}a_i \le 500) 。

输出格式

输出一行一个整数,代表答案。

由于答案可能很大,输出答案对 109+710^9+7 取模的值。

样例

输入

3
3 4 5

输出

150

输入

3
98 99 100

输出

533250637