N,M = map(int,input().split())
A = []
MOD = 1000000007
for _ in range(M):
  a = int(input())
  A.append(a)
DP = [1]*(N+1)
for i in A:
  DP[i] = 0
for i in range(2,N+1):
  DP[i] = (DP[i-1]+DP[i-2])%MOD*DP[i]
print(DP[-1]) N,M = map(int,input().split()) N map(int,input().split()) map int input().split() ().split () input split M A = [] A [] MOD = 1000000007 MOD 1000000007 for _ in range(M):
  a = int(input())
  A.append(a) _ range(M) range M a = int(input()) a int(input()) int input() input A.append(a) A.append A append a DP = [1]*(N+1) DP [1]*(N+1) [1] 1 N+1 N 1 for i in A:
  DP[i] = 0 i A DP[i] = 0 DP[i] DP i 0 for i in range(2,N+1):
  DP[i] = (DP[i-1]+DP[i-2])%MOD*DP[i] i range(2,N+1) range 2 N+1 N 1 DP[i] = (DP[i-1]+DP[i-2])%MOD*DP[i] DP[i] DP i (DP[i-1]+DP[i-2])%MOD*DP[i] (DP[i-1]+DP[i-2])%MOD DP[i-1]+DP[i-2] DP[i-1] DP i-1 i 1 DP[i-2] DP i-2 i 2 MOD DP[i] DP i print(DP[-1]) print DP[-1] DP -1 M = map(int,input().split()) map(int,input().split()) M MOD = 1000000007 1000000007 MOD A = [] [] A DP = [1]*(N+1) [1]*(N+1) DP a = int(input()) int(input()) a N,M = map(int,input().split()) map(int,input().split()) N
N,M = map(int,input().split())
A = []
MOD = 1000000007
for _ in range(M):
  a = int(input())
  A.append(a)
DP = [1]*(N+1)
for i in A:
  DP[i] = 0
for i in range(2,N+1):
  DP[i] = (DP[i-1]+DP[i-2])%MOD*DP[i]
print(DP[-1])