AT_abc129_c [ABC129C] Typical Stairs
Description
[problemUrl]: https://atcoder.jp/contests/abc129/tasks/abc129_c
$ N $ 段の階段があります。高橋君は現在、上り口($ 0 $ 段目)にいます。 高橋君は一歩で $ 1 $ 段か $ 2 $ 段上ることができます。
ただし、$ a_1,a_2,a_3,....a_M $ 段目の床は壊れており、その段に足を踏み入れることは危険です。
壊れている床を踏まないようにしながら、最上段($ N $ 段目)にたどりつくまでの移動方法は何通りあるでしょうか? 総数を $ 1,000,000,007 $ で割った余りを求めてください。
Input Format
N/A
Output Format
N/A
Explanation/Hint
### 制約
- $ 1\ \leqq\ N\ \leqq\ 10^5 $
- $ 0\ \leqq\ M\ \leqq\ N-1 $
- $ 1\ \leqq\ a_1\ ... $ $ $
### Sample Explanation 1
移動方法は以下の $ 4 $ 通りです。 - $ 0\ \to\ 1\ \to\ 2\ \to\ 4\ \to\ 5\ \to\ 6 $ - $ 0\ \to\ 1\ \to\ 2\ \to\ 4\ \to\ 6 $ - $ 0\ \to\ 2\ \to\ 4\ \to\ 5\ \to\ 6 $ - $ 0\ \to\ 2\ \to\ 4\ \to\ 6 $
### Sample Explanation 2
壊れている床を踏まないような移動方法がない場合もあります。
### Sample Explanation 3
総数を $ 1,000,000,007 $ で割った余りを出力することに注意して下さい。