N, M = map(int, input().split())
dp = [0 for _ in range(N+1)]
skip = {}

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

dp[0] = 1
if 1 not in skip:
    dp[1] = 1

for i in range(2, N+1):
    if i in skip:
        continue
    dp[i] = (dp[i-1] + dp[i-2]) % 1000000007

print(dp[N]) N, M = map(int, input().split()) N map(int, input().split()) map int input().split() ().split () input split M 0 for _ in range(N+1) for _ in range(N+1) _ range(N+1) range N+1 N 1 for _ in range(N+1) 0 dp = [0 for _ in range(N+1)] dp [0 for _ in range(N+1)] skip = {} skip {} for _ in range(M):
    skip[int(input())] = 1 _ range(M) range M skip[int(input())] = 1 skip[int(input())] skip int(input()) int input() input 1 dp[0] = 1 dp[0] dp 0 1 if 1 not in skip:
    dp[1] = 1 1 not in skip 1 skip dp[1] = 1 dp[1] dp 1 1 for i in range(2, N+1):
    if i in skip:
        continue
    dp[i] = (dp[i-1] + dp[i-2]) % 1000000007 i range(2, N+1) range 2 N+1 N 1 if i in skip:
        continue
     i in skip i skip continue dp[i] = (dp[i-1] + dp[i-2]) % 1000000007 dp[i] dp i (dp[i-1] + dp[i-2]) % 1000000007 dp[i-1] + dp[i-2] dp[i-1] dp i-1 i 1 dp[i-2] dp i-2 i 2 1000000007 print(dp[N]) print dp[N] dp N dp = [0 for _ in range(N+1)] [0 for _ in range(N+1)] dp M = map(int, input().split()) map(int, input().split()) M N, M = map(int, input().split()) map(int, input().split()) N skip = {} {} skip
N, M = map(int, input().split())
dp = [0 for _ in range(N+1)]
skip = {}

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

dp[0] = 1
if 1 not in skip:
    dp[1] = 1

for i in range(2, N+1):
    if i in skip:
        continue
    dp[i] = (dp[i-1] + dp[i-2]) % 1000000007

print(dp[N])
