#arc043b. [arc043_b]難易度
[arc043_b]難易度
問題文
高橋君はプログラミングコンテストを開く仕事をしている。
高橋君はストックしている 個の問題から 問を選んでコンテストに出題する。
各問題には「難易度」という正の整数が決められており、 番目の問題の難易度は である。
選ぶ問題は以下の つの条件を満たしていなければならない。
- 問目の難易度は 問目の難易度の 倍以上である。
- 問目の難易度は 問目の難易度の 倍以上である。
- 問目の難易度は 問目の難易度の 倍以上である。
上の条件のもとで 個の問題から 問選ぶとき、何通りの選び方があるか求めよ。
この値は非常に大きくなり得るので で割った余りを求めよ。
入力
入力は以下の形式で標準入力から与えられる
:
- 行目には高橋君がストックしている問題の個数 が与えられる。
- 行目からの 行のうち 行目には 番目の問題の難易度を表す整数 が与えられる。
部分点
この問題には部分点が設定されている。
- を満たすデータセットに正解した場合は 点が与えられる。
- を満たすデータセットに正解した場合はさらに 点が与えられる。合計で 点となる。
出力
高橋君の問題の選び方の通り数を で割った余りを1行で出力せよ。 出力の末尾に改行を入れること。
入力例1
5
1
2
4
5
10
出力例1
2
問目もしくは 問目を選ぶことができます。
入力例2
10
11
12
13
14
15
16
17
18
19
20
出力例2
0
つも条件に合う選び方がないこともあります。
入力例3
20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
出力例3
94