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

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

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

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

print(dp[n] % 1000000007)