n,m = map(int,input().split())
a = set([int(input()) for i in range(m)])
inf = 1000000007

dp = [0] * (n+1)
dp[0] = 1

if 1 not in a:
    dp[1] = 1
else:
    dp[1] = 0

for i in range(2,n+1):
    if i in a:
        continue
    dp[i] = dp[i-1] + dp[i-2]
    dp[i] %= inf

print(dp[n]) n,m = map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split m int(input()) for i in range(m) for i in range(m) i range(m) range m for i in range(m) int(input()) int input() input a = set([int(input()) for i in range(m)]) a set([int(input()) for i in range(m)]) set [int(input()) for i in range(m)] inf = 1000000007 inf 1000000007 dp = [0] * (n+1) dp [0] * (n+1) [0] 0 n+1 n 1 dp[0] = 1 dp[0] dp 0 1 if 1 not in a:
    dp[1] = 1
else:
    dp[1] = 0 1 not in a 1 a dp[1] = 1 dp[1] dp 1 1 dp[1] = 0 dp[1] dp 1 0 for i in range(2,n+1):
    if i in a:
        continue
    dp[i] = dp[i-1] + dp[i-2]
    dp[i] %= inf i range(2,n+1) range 2 n+1 n 1 if i in a:
        continue
     i in a i a continue 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 dp[i] %= inf dp[i] dp i inf print(dp[n]) print dp[n] dp n m = map(int,input().split()) map(int,input().split()) m inf = 1000000007 1000000007 inf n,m = map(int,input().split()) map(int,input().split()) n a = set([int(input()) for i in range(m)]) set([int(input()) for i in range(m)]) a dp = [0] * (n+1) [0] * (n+1) dp
n,m = map(int,input().split())
a = set([int(input()) for i in range(m)])
inf = 1000000007

dp = [0] * (n+1)
dp[0] = 1

if 1 not in a:
    dp[1] = 1
else:
    dp[1] = 0

for i in range(2,n+1):
    if i in a:
        continue
    dp[i] = dp[i-1] + dp[i-2]
    dp[i] %= inf

print(dp[n])