N , M = list(map(int, input().split()))
broken = [1] * (N + 1)
for i in range(M):
  broken[int(input())] = 0
ANS = [0] * (N + 1)
ANS[0] = 1
ANS[1] = broken[1]
for i in range(N - 1):
  if(broken[i + 2]):
    if(broken[i + 1]): 
      ANS[i + 2] = (ANS[i + 1] + ANS[i]) %  (10 ** 9 + 7)
    else: 
      ANS[i + 2] = ANS[i] % (10 ** 9 + 7)
  else: ANS[i + 2] = 0
print(ANS[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 broken = [1] * (N + 1) broken [1] * (N + 1) [1] 1 N + 1 N 1 for i in range(M):
  broken[int(input())] = 0 i range(M) range M broken[int(input())] = 0 broken[int(input())] broken int(input()) int input() input 0 ANS = [0] * (N + 1) ANS [0] * (N + 1) [0] 0 N + 1 N 1 ANS[0] = 1 ANS[0] ANS 0 1 ANS[1] = broken[1] ANS[1] ANS 1 broken[1] broken 1 for i in range(N - 1):
  if(broken[i + 2]):
    if(broken[i + 1]): 
      ANS[i + 2] = (ANS[i + 1] + ANS[i]) %  (10 ** 9 + 7)
    else: 
      ANS[i + 2] = ANS[i] % (10 ** 9 + 7)
  else: ANS[i + 2] = 0 i range(N - 1) range N - 1 N 1 if(broken[i + 2]):
    if(broken[i + 1]): 
      ANS[i + 2] = (ANS[i + 1] + ANS[i]) %  (10 ** 9 + 7)
    else: 
      ANS[i + 2] = ANS[i] % (10 ** 9 + 7)
  else: ANS[i + 2] = 0 broken[i + 2] broken i + 2 i 2 if(broken[i + 1]): 
      ANS[i + 2] = (ANS[i + 1] + ANS[i]) %  (10 ** 9 + 7)
    else: 
      ANS[i + 2] = ANS[i] % (10 ** 9 + 7)
   broken[i + 1] broken i + 1 i 1 ANS[i + 2] = (ANS[i + 1] + ANS[i]) %  (10 ** 9 + 7) ANS[i + 2] ANS i + 2 i 2 (ANS[i + 1] + ANS[i]) %  (10 ** 9 + 7) ANS[i + 1] + ANS[i] ANS[i + 1] ANS i + 1 i 1 ANS[i] ANS i 10 ** 9 + 7 10 ** 9 10 9 7 ANS[i + 2] = ANS[i] % (10 ** 9 + 7) ANS[i + 2] ANS i + 2 i 2 ANS[i] % (10 ** 9 + 7) ANS[i] ANS i 10 ** 9 + 7 10 ** 9 10 9 7 print(ANS[N]) print ANS[N] ANS N ANS = [0] * (N + 1) [0] * (N + 1) ANS N , M = list(map(int, input().split())) list(map(int, input().split())) N M = list(map(int, input().split())) list(map(int, input().split())) M broken = [1] * (N + 1) [1] * (N + 1) broken
N , M = list(map(int, input().split()))
broken = [1] * (N + 1)
for i in range(M):
  broken[int(input())] = 0
ANS = [0] * (N + 1)
ANS[0] = 1
ANS[1] = broken[1]
for i in range(N - 1):
  if(broken[i + 2]):
    if(broken[i + 1]): 
      ANS[i + 2] = (ANS[i + 1] + ANS[i]) %  (10 ** 9 + 7)
    else: 
      ANS[i + 2] = ANS[i] % (10 ** 9 + 7)
  else: ANS[i + 2] = 0
print(ANS[N])