N, M = list(map(int, input().split()))
C = 10**9+7
S = set()
for _ in range(M):
    S.add(int(input()))
dp = [0]*(N+1)
dp[0] = 1
if not 1 in S:
    dp[1] = 1
for i in range(2, N+1):
    if i in S:
        continue
    dp[i] = (dp[i-1]+dp[i-2]) % C
print(dp[N]) N, M = list(map(int, input().split())) N list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split M C = 10**9+7 C 10**9+7 10**9 10 9 7 S = set() S set() set for _ in range(M):
    S.add(int(input())) _ range(M) range M S.add(int(input())) S.add S add int(input()) int input() input dp = [0]*(N+1) dp [0]*(N+1) [0] 0 N+1 N 1 dp[0] = 1 dp[0] dp 0 1 if not 1 in S:
    dp[1] = 1 not 1 in S 1 in S 1 S dp[1] = 1 dp[1] dp 1 1 for i in range(2, N+1):
    if i in S:
        continue
    dp[i] = (dp[i-1]+dp[i-2]) % C i range(2, N+1) range 2 N+1 N 1 if i in S:
        continue
     i in S i S continue dp[i] = (dp[i-1]+dp[i-2]) % C dp[i] dp i (dp[i-1]+dp[i-2]) % C dp[i-1]+dp[i-2] dp[i-1] dp i-1 i 1 dp[i-2] dp i-2 i 2 C print(dp[N]) print dp[N] dp N C = 10**9+7 10**9+7 C N, M = list(map(int, input().split())) list(map(int, input().split())) N dp = [0]*(N+1) [0]*(N+1) dp M = list(map(int, input().split())) list(map(int, input().split())) M S = set() set() S
N, M = list(map(int, input().split()))
C = 10**9+7
S = set()
for _ in range(M):
    S.add(int(input()))
dp = [0]*(N+1)
dp[0] = 1
if not 1 in S:
    dp[1] = 1
for i in range(2, N+1):
    if i in S:
        continue
    dp[i] = (dp[i-1]+dp[i-2]) % C
print(dp[N])
