N, M = map(int, input().split())
dp = [None] * (N + 1)
dp[0] = 1
dp[1] = 1
for _ in range(M):
    dp[int(input())] = 0
for i in range(2, N + 1):
    if dp[i] is None:
        dp[i] = dp[i - 1] + dp[i - 2]
print(dp[N] % 1000000007) N, M = map(int, input().split()) N map(int, input().split()) map int input().split() ().split () input split M dp = [None] * (N + 1) dp [None] * (N + 1) [None] None N + 1 N 1 dp[0] = 1 dp[0] dp 0 1 dp[1] = 1 dp[1] dp 1 1 for _ in range(M):
    dp[int(input())] = 0 _ range(M) range M dp[int(input())] = 0 dp[int(input())] dp int(input()) int input() input 0 for i in range(2, N + 1):
    if dp[i] is None:
        dp[i] = dp[i - 1] + dp[i - 2] i range(2, N + 1) range 2 N + 1 N 1 if dp[i] is None:
        dp[i] = dp[i - 1] + dp[i - 2] dp[i] is None dp[i] dp i None dp[i] = dp[i - 1] + dp[i - 2] dp[i] dp i dp[i - 1] + dp[i - 2] dp[i - 1] dp i - 1 i 1 dp[i - 2] dp i - 2 i 2 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 = [None] * (N + 1) [None] * (N + 1) dp
N, M = map(int, input().split())
dp = [None] * (N + 1)
dp[0] = 1
dp[1] = 1
for _ in range(M):
    dp[int(input())] = 0
for i in range(2, N + 1):
    if dp[i] is None:
        dp[i] = dp[i - 1] + dp[i - 2]
print(dp[N] % 1000000007)
