N, M = map(int, input().split())
if N == 1:
    print(1)
    quit()
S = [-1] * (N + 1)
S[0] = 1
for i in range(M):
    S[int(input())] = 0
if S[1] != 0:
    S[1] = 1
for i in range(2, N + 1):
    if S[i] == 0:
        continue
    else:
        S[i] = (S[i - 1] + S[i - 2]) % 1000000007
        if S[i] == 0:
            print(0)
            quit()
print(S[N]) N, M = map(int, input().split()) N map(int, input().split()) map int input().split() ().split () input split M if N == 1:
    print(1)
    quit() N == 1 N 1 print(1) print 1 quit() quit S = [-1] * (N + 1) S [-1] * (N + 1) [-1] -1 N + 1 N 1 S[0] = 1 S[0] S 0 1 for i in range(M):
    S[int(input())] = 0 i range(M) range M S[int(input())] = 0 S[int(input())] S int(input()) int input() input 0 if S[1] != 0:
    S[1] = 1 S[1] != 0 S[1] S 1 0 S[1] = 1 S[1] S 1 1 for i in range(2, N + 1):
    if S[i] == 0:
        continue
    else:
        S[i] = (S[i - 1] + S[i - 2]) % 1000000007
        if S[i] == 0:
            print(0)
            quit() i range(2, N + 1) range 2 N + 1 N 1 if S[i] == 0:
        continue
    else:
        S[i] = (S[i - 1] + S[i - 2]) % 1000000007
        if S[i] == 0:
            print(0)
            quit() S[i] == 0 S[i] S i 0 continue S[i] = (S[i - 1] + S[i - 2]) % 1000000007 S[i] S i (S[i - 1] + S[i - 2]) % 1000000007 S[i - 1] + S[i - 2] S[i - 1] S i - 1 i 1 S[i - 2] S i - 2 i 2 1000000007 if S[i] == 0:
            print(0)
            quit() S[i] == 0 S[i] S i 0 print(0) print 0 quit() quit print(S[N]) print S[N] S N M = map(int, input().split()) map(int, input().split()) M S = [-1] * (N + 1) [-1] * (N + 1) S N, M = map(int, input().split()) map(int, input().split()) N
N, M = map(int, input().split())
if N == 1:
    print(1)
    quit()
S = [-1] * (N + 1)
S[0] = 1
for i in range(M):
    S[int(input())] = 0
if S[1] != 0:
    S[1] = 1
for i in range(2, N + 1):
    if S[i] == 0:
        continue
    else:
        S[i] = (S[i - 1] + S[i - 2]) % 1000000007
        if S[i] == 0:
            print(0)
            quit()
print(S[N])