N, M = map(int, input().split())

if N == 1:
    print(1)
else:
    s = [-1] * N
    s[0] = 1
    s[1] = 1

    for m in range(0, M):
        i = int(input())
        s[i] = 0

    for n in range(2, N):
        if s[n] == 0:
            continue
        s[n] = s[n - 1] + s[n - 2]

    print((s[N-1] + s[N-2]) % 1000000007) N, M = map(int, input().split()) N map(int, input().split()) map int input().split() ().split () input split M if N == 1:
    print(1)
else:
    s = [-1] * N
    s[0] = 1
    s[1] = 1

    for m in range(0, M):
        i = int(input())
        s[i] = 0

    for n in range(2, N):
        if s[n] == 0:
            continue
        s[n] = s[n - 1] + s[n - 2]

    print((s[N-1] + s[N-2]) % 1000000007) N == 1 N 1 print(1) print 1 s = [-1] * N s [-1] * N [-1] -1 N s[0] = 1 s[0] s 0 1 s[1] = 1 s[1] s 1 1 for m in range(0, M):
        i = int(input())
        s[i] = 0

     m range(0, M) range 0 M i = int(input()) i int(input()) int input() input s[i] = 0 s[i] s i 0 for n in range(2, N):
        if s[n] == 0:
            continue
        s[n] = s[n - 1] + s[n - 2]

     n range(2, N) range 2 N if s[n] == 0:
            continue
         s[n] == 0 s[n] s n 0 continue s[n] = s[n - 1] + s[n - 2] s[n] s n s[n - 1] + s[n - 2] s[n - 1] s n - 1 n 1 s[n - 2] s n - 2 n 2 print((s[N-1] + s[N-2]) % 1000000007) print (s[N-1] + s[N-2]) % 1000000007 s[N-1] + s[N-2] s[N-1] s N-1 N 1 s[N-2] s N-2 N 2 1000000007 N, M = map(int, input().split()) map(int, input().split()) N i = int(input()) int(input()) i M = map(int, input().split()) map(int, input().split()) M s = [-1] * N [-1] * N s
N, M = map(int, input().split())

if N == 1:
    print(1)
else:
    s = [-1] * N
    s[0] = 1
    s[1] = 1

    for m in range(0, M):
        i = int(input())
        s[i] = 0

    for n in range(2, N):
        if s[n] == 0:
            continue
        s[n] = s[n - 1] + s[n - 2]

    print((s[N-1] + s[N-2]) % 1000000007)
