AT_code_formula_2014_qualB_d お釣りの嫌いな高橋君

Description

[problemUrl]: https://atcoder.jp/contests/code-formula-2014-qualb/tasks/code_formula_2014_qualB_d 高橋君の国では、$ N $ 種類の硬貨が使われています。 $ 1 $ 番目の硬貨の価値は $ 1 $ 円です。 $ k $ 番目の硬貨の価値は、$ k-1 $ 番目の硬貨の $ 10 $ 倍あります。 つまり、$ 2 $ 番目の硬貨は $ 10 $ 円の価値があり、$ 5 $ 番目の硬貨は $ 10000 $ 円の価値があります。 高橋君は、お釣りが嫌いです。なので、出来るだけぴったりの金額で買い物がしたいと思っています。 そこで高橋君は、今持っている硬貨で、何種類の金額が払えるかを調べたいと思いました。 高橋君が払える金額が何通りあるかを出力しなさい。 ただし、これは膨大な数となるため、 $ 1000000007 $ 以上となる場合は、 $ 1000000007 $ で割った余りを出力しなさい。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ A_1 $ $ A_2 $ : $ A_N $ - $ 1 $ 行目には、硬貨の種類数 $ N\ (1\ ≦\ N\ ≦\ 50) $ が、$ 1 $ 行で与えられる。 - $ 2 $ 行目から $ N $ 行では、高橋君が各硬貨を何枚持っているかが与えられる。 このうち $ i(1≦i≦N) $ 行目では、 $ i $ 番目の硬貨を、高橋君が何枚持っているかを表す整数 $ A_i(0≦A_i≦50000) $が与えられる。

Output Format

高橋君が払える金額の種類数を、 $ 1000000007 $ で割った余りを $ 1 $ 行で出力せよ。出力の末尾は改行をいれること。

Explanation/Hint

### Sample Explanation 1 払える金額は、$ 1 $ 円, $ 2 $ 円, $ 10 $ 円, $ 11 $ 円, $ 12 $ 円の $ 5 $ 通りとなります。 $ 0 $ 円は含まないことに注意してください。 ### Sample Explanation 2 $ 1 $ 円から $ 62 $ 円の $ 62 $ 通りの金額を支払うことが出来ます。 ### Sample Explanation 4 $ 1000000007 $ で割った余りを出力してください。