n,m = map(int,input().split())
a = set([int(input()) for _ in range(m)])
step = [0] * (n+1)
step[0] = 1
if 1 not in a:
    step[1] = 1
else:
    step[1] = 0
for i in range(2,n+1):
    if i in a:
        continue
    step[i] = (step[i-1] + step[i-2]) % 1000000007
print(step[-1]) n,m = map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split m int(input()) for _ in range(m) for _ in range(m) _ range(m) range m for _ in range(m) int(input()) int input() input a = set([int(input()) for _ in range(m)]) a set([int(input()) for _ in range(m)]) set [int(input()) for _ in range(m)] step = [0] * (n+1) step [0] * (n+1) [0] 0 n+1 n 1 step[0] = 1 step[0] step 0 1 if 1 not in a:
    step[1] = 1
else:
    step[1] = 0 1 not in a 1 a step[1] = 1 step[1] step 1 1 step[1] = 0 step[1] step 1 0 for i in range(2,n+1):
    if i in a:
        continue
    step[i] = (step[i-1] + step[i-2]) % 1000000007 i range(2,n+1) range 2 n+1 n 1 if i in a:
        continue
     i in a i a continue step[i] = (step[i-1] + step[i-2]) % 1000000007 step[i] step i (step[i-1] + step[i-2]) % 1000000007 step[i-1] + step[i-2] step[i-1] step i-1 i 1 step[i-2] step i-2 i 2 1000000007 print(step[-1]) print step[-1] step -1 step = [0] * (n+1) [0] * (n+1) step m = map(int,input().split()) map(int,input().split()) m a = set([int(input()) for _ in range(m)]) set([int(input()) for _ in range(m)]) a n,m = map(int,input().split()) map(int,input().split()) n
n,m = map(int,input().split())
a = set([int(input()) for _ in range(m)])
step = [0] * (n+1)
step[0] = 1
if 1 not in a:
    step[1] = 1
else:
    step[1] = 0
for i in range(2,n+1):
    if i in a:
        continue
    step[i] = (step[i-1] + step[i-2]) % 1000000007
print(step[-1])