AT_code_formula_2014_qualB_d お釣りの嫌いな高橋君

题目描述

在高桥君的国家,有 $N$ 种硬币可供使用。第 $1$ 种硬币的面值为 $1$ 日元。第 $k$ 种硬币的面值是第 $k-1$ 种硬币的 $10$ 倍。也就是说,第 $2$ 种硬币的面值为 $10$ 日元,第 $5$ 种硬币的面值为 $10000$ 日元。 高桥君不喜欢找零。因此,他希望尽可能用刚好的金额购物。于是高桥君想要调查,自己现在持有的硬币可以支付多少种不同的金额。 请输出高桥君能够支付的金额种类数。由于这个数可能非常大,如果结果大于等于 $1000000007$,请输出其除以 $1000000007$ 的余数。

输入格式

输入通过标准输入给出,格式如下: > $N$ > $A_1$ > $A_2$ > $\vdots$ > $A_N$ - 第 $1$ 行为硬币的种类数 $N$,满足 $1 \leq N \leq 50$。 - 接下来的 $N$ 行中,第 $i$ 行给出高桥君持有的第 $i$ 种硬币的数量 $A_i$,满足 $0 \leq A_i \leq 50000$。

输出格式

输出高桥君能够支付的金额种类数对 $1000000007$ 取余的结果。输出末尾请换行。

说明/提示

### 样例解释 1 可以支付的金额有 $1$ 日元、$2$ 日元、$10$ 日元、$11$ 日元、$12$ 日元,共 $5$ 种。请注意,$0$ 日元不计入答案。 ### 样例解释 2 可以支付从 $1$ 日元到 $62$ 日元的 $62$ 种金额。 ### 样例解释 4 请输出对 $1000000007$ 取余的结果。 由 ChatGPT 4.1 翻译