Apdz leo thang


Submit solution

Points: 2
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Apdz chơi trò chơi điện tử Zerocoder đến màn phải điều khiển Zero leo lên một cầu thang gồm n bậc.

Các bậc thang được đánh số từ 1 đến n từ dưới lên trên. Zero có thể đi lên một bậc thang, hoặc nhảy một bước lên hai bậc thang. Tuy nhiên một số bậc thang đã bị thủng do cũ kỹ và Zero không thể bước chân lên được. Biết ban đầu, Zero đứng ở bậc thang số 1 (bậc thang số 1 không bao giờ bị thủng). Chơi đến đây, Apdz chợt nảy ra câu hỏi: có bao nhiêu cách để Zero leo hết được cầu thang? (nghĩa là leo đến bậc thang thứ n). Apdz muốn nhờ các bạn UTC trả lời câu hỏi này.

Input:

  • Dòng đầu tiên lần lượt là hai số nguyên dương n và k trên một dòng \((1 \le k \le n \le 5.10^5)\).
  • Dòng thứ hai gồm k số nguyên cho biết chỉ số các bậc thang bị hỏng.

Output:

  • In ra phần dư của số cách Zero leo hết cầu thang khi chia cho 1000000007.

Ví dụ:

Input1

4 2
2 3

Ouput1

0

Input2

90000 1
49000

Ouput2

94531561

Comments

There are no comments at the moment.