問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
Paiza 君は段数が N の階段を上りきる必要があります。
今、Paiza 君は階段の 0 段目にいてこの階段の N 段目まで上ろうとしています。
長さ M の数列 a_1, a_2, ..., a_M が与えられます。
Paiza 君は上る先の段が存在するなら階段を一度に a_i (1 ≦ i ≦ M) 段上ることが出来ます。
N 段目までの上り方は何通りありますか。
ただし、答えは非常に大きい数となることがあるので 10^10 で割ったあまりを出力してください。
N M
a_1 a_2 ... a_M
答えを 1 行で出力してください。末尾に改行を入れ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて, 以下の条件をみたします
・入力はすべて整数
・1 ≦ N ≦ 10^6
・1 ≦ M ≦ 5
・a_1 = 1 < a_2 < ... < a_M ≦ 100
10 1
1
1
5 2
1 2
8
8 4
1 2 4 10
55