满意的集合
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

有数字 ,每个数字的个数分别为  。计算出“满意的集合“的个数。

"满意的集合" 定义:选出的数存在一种排列方式,其拼接起来后表示的十进制整数,能被  整除,例如集合  包含了  个数字  个数字  ,可以有排列  代表十进制下的整数 633,能被  整除。

两个集合相同,当且仅当集合元素个数相同,且排序后对应数字相同,例如  和  是同样的集合。

空集合看作  ,是合法的,答案对  取模。

输入描述:

输入一行,包括  个整数 ,分别表示数字  的个数,

输出描述:

输出一行,表示”满意的集合”的个数,答案对  取模。
示例1

输入

复制
1 1 1 0 0 0 0 0 0

输出

复制
4

说明

全部的数字集合 。可能的集合有。其中“满意的集合“有  共  个。