n,m = map(int,input().split())

a = []
dp = []
mod = 1000000007

for i in range(100100):
	a.append(0)
	dp.append(0)

for i in range(m):
	num = int(input())
	a[num] = 1

dp[0]=1

for i in range(1,n+1):
	if a[i] == 1:
		continue

	dp[i] += dp[i-1]
	if i>1:
		dp[i] += dp[i-2]

	dp[i] = dp[i] % mod

print(dp[n]%mod) n,m = map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split m a = [] a [] dp = [] dp [] mod = 1000000007 mod 1000000007 for i in range(100100):
	a.append(0)
	dp.append(0) i range(100100) range 100100 a.append(0) a.append a append 0 dp.append(0) dp.append dp append 0 for i in range(m):
	num = int(input())
	a[num] = 1 i range(m) range m num = int(input()) num int(input()) int input() input a[num] = 1 a[num] a num 1 dp[0]=1 dp[0] dp 0 1 for i in range(1,n+1):
	if a[i] == 1:
		continue

	dp[i] += dp[i-1]
	if i>1:
		dp[i] += dp[i-2]

	dp[i] = dp[i] % mod i range(1,n+1) range 1 n+1 n 1 if a[i] == 1:
		continue

	 a[i] == 1 a[i] a i 1 continue dp[i] += dp[i-1] dp[i] dp i dp[i-1] dp i-1 i 1 if i>1:
		dp[i] += dp[i-2]

	 i>1 i 1 dp[i] += dp[i-2] dp[i] dp i dp[i-2] dp i-2 i 2 dp[i] = dp[i] % mod dp[i] dp i dp[i] % mod dp[i] dp i mod print(dp[n]%mod) print dp[n]%mod dp[n] dp n mod num = int(input()) int(input()) num dp = [] [] dp mod = 1000000007 1000000007 mod m = map(int,input().split()) map(int,input().split()) m a = [] [] a n,m = map(int,input().split()) map(int,input().split()) n
n,m = map(int,input().split())

a = []
dp = []
mod = 1000000007

for i in range(100100):
	a.append(0)
	dp.append(0)

for i in range(m):
	num = int(input())
	a[num] = 1

dp[0]=1

for i in range(1,n+1):
	if a[i] == 1:
		continue

	dp[i] += dp[i-1]
	if i>1:
		dp[i] += dp[i-2]

	dp[i] = dp[i] % mod

print(dp[n]%mod)