n,m=list(map(int,input().split()))

a=[]

for i in range(m):

  a.append(int(eval(input())))

a=set(a)

dp=[0]*(n+1)

dp[0]=1

if 1 in a:

  dp[1]=0

else:

  dp[1]=1

for i in range(2,n+1):

  if i in a:

    dp[i]=0

  else:

    dp[i]=dp[i-1]+dp[i-2]

print((dp[n]%1000000007))

n,m=list(map(int,input().split()))

a=[]

for i in range(m):

  a.append(int(eval(input())))

a=set(a)

dp=[0]*(n+1)

dp[0]=1

if 1 in a:

  dp[1]=0

else:

  dp[1]=1

for i in range(2,n+1):

  if i in a:

    dp[i]=0

  else:

    dp[i]=(dp[i-1]+dp[i-2])%1000000007

print((dp[n]%1000000007))

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

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

-        dp[i] = dp[i - 1] + dp[i - 2] +        dp[i] = (dp[i - 1] + dp[i - 2]) % 1000000007