n, m = [int(i) for i in input().split()]

a = [1 for i in range(n+1)]
for i in range(m):
    a[int(input())] = 0

dp = [0 for i in range(n + 1)]
dp[0] = 1
if a[1]:
    dp[1] = 1

for i in range(2, n + 1):
    dp[i] = a[i] * (dp[i-2] * a[i-2] + dp[i-1] * a[i-1])

print(dp[-1] % 1000000007) int(i) for i in input().split() for i in input().split() i input().split() ().split () input split for i in input().split() int(i) int i n, m = [int(i) for i in input().split()] n [int(i) for i in input().split()] m 1 for i in range(n+1) for i in range(n+1) i range(n+1) range n+1 n 1 for i in range(n+1) 1 a = [1 for i in range(n+1)] a [1 for i in range(n+1)] for i in range(m):
    a[int(input())] = 0 i range(m) range m a[int(input())] = 0 a[int(input())] a int(input()) int input() input 0 0 for i in range(n + 1) for i in range(n + 1) i range(n + 1) range n + 1 n 1 for i in range(n + 1) 0 dp = [0 for i in range(n + 1)] dp [0 for i in range(n + 1)] dp[0] = 1 dp[0] dp 0 1 if a[1]:
    dp[1] = 1 a[1] a 1 dp[1] = 1 dp[1] dp 1 1 for i in range(2, n + 1):
    dp[i] = a[i] * (dp[i-2] * a[i-2] + dp[i-1] * a[i-1]) i range(2, n + 1) range 2 n + 1 n 1 dp[i] = a[i] * (dp[i-2] * a[i-2] + dp[i-1] * a[i-1]) dp[i] dp i a[i] * (dp[i-2] * a[i-2] + dp[i-1] * a[i-1]) a[i] a i dp[i-2] * a[i-2] + dp[i-1] * a[i-1] dp[i-2] * a[i-2] dp[i-2] dp i-2 i 2 a[i-2] a i-2 i 2 dp[i-1] * a[i-1] dp[i-1] dp i-1 i 1 a[i-1] a i-1 i 1 print(dp[-1] % 1000000007) print dp[-1] % 1000000007 dp[-1] dp -1 1000000007 n, m = [int(i) for i in input().split()] [int(i) for i in input().split()] n dp = [0 for i in range(n + 1)] [0 for i in range(n + 1)] dp m = [int(i) for i in input().split()] [int(i) for i in input().split()] m a = [1 for i in range(n+1)] [1 for i in range(n+1)] a
n, m = [int(i) for i in input().split()]

a = [1 for i in range(n+1)]
for i in range(m):
    a[int(input())] = 0

dp = [0 for i in range(n + 1)]
dp[0] = 1
if a[1]:
    dp[1] = 1

for i in range(2, n + 1):
    dp[i] = a[i] * (dp[i-2] * a[i-2] + dp[i-1] * a[i-1])

print(dp[-1] % 1000000007)
