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

mod = 1000000007

a = [True] * (n + 1)

for i in range(m):

    a[int(eval(input()))] = False

dp = [0] * (n + 1)

dp[0] = 1



dp[1] = dp[0] if a[1] else 0



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

    if a[i]:

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



print((dp[n]))

import sys

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

mod = 1000000007

a = [True] * (n + 1)

for i in range(m):

    a[int(sys.stdin.readline())] = False

dp = [0] * (n + 1)

dp[0] = 1



dp[1] = dp[0] if a[1] else 0



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

    if a[i]:

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



print((dp[n]))

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

import sys

n, m = list(map(int, input().split()))
mod = 1000000007
a = [True] * (n + 1)
for i in range(m):
    a[int(sys.stdin.readline())] = False
dp = [0] * (n + 1)
dp[0] = 1
dp[1] = dp[0] if a[1] else 0
for i in range(2, n + 1):
    if a[i]:
        dp[i] = (dp[i - 1] + dp[i - 2]) % mod
print((dp[n]))

+import sys + -    a[int(eval(input()))] = False +    a[int(sys.stdin.readline())] = False