N,M=map(int,input().split())
A = [0]*(N+1)

for _ in range(M):
  a = int(input())
  A[a] = 1

#初期化
dp=[0]*(N+1)
dp[0] = 1
if A[1] == 0:
  dp[1] = 1

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

#初期化 _ range(M) range M a = int(input()) a int(input()) int input() input A[a] = 1 A[a] A a 1 dp=[0]*(N+1) dp [0]*(N+1) [0] 0 N+1 N 1 dp[0] = 1 dp[0] dp 0 1 if A[1] == 0:
  dp[1] = 1

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

for _ in range(M):
  a = int(input())
  A[a] = 1

#初期化
dp=[0]*(N+1)
dp[0] = 1
if A[1] == 0:
  dp[1] = 1

#dp
for i in range(2,N+1):
  if A[i] == 0:
    dp[i] = dp[i-1] + dp[i-2]
      
print(dp[N]%1000000007)